2022-08-19
1756
#go
Ukeje Goodness
128463
Aug 19, 2022 â‹… 6 min read

A guide to JWT authentication in Go

Ukeje Goodness I am a data analyst who writes about cryptocurrencies and decentralized ledger technologies. Find me on Twitter @Goodylili.

Recent posts:

JavaScript Loops Explained, And Best Practices

JavaScript loops explained, and best practices

JavaScript loops like for, for...of, and for...in are constructs that help run a piece of code multiple times.

Rahul Padalkar
Jun 23, 2025 â‹… 8 min read
8 Reasons Your Next.js App Is Slow — And How To Fix Them

8 reasons your Next.js app is slow — and how to fix them

You don’t need to guess what’s wrong with your Next.js app. I’ve mapped out the 8 biggest performance traps and the fixes that actually work.

Chizaram Ken
Jun 20, 2025 â‹… 16 min read
how to truncate text in CSS (single and multi-line)

How to truncate text in CSS (single and multi-line)

Learn how to truncate text with three dots in CSS, and use two reliable CSS text truncation techniques while covering single-line and multi-line truncations.

Chinedu Okere
Jun 20, 2025 â‹… 10 min read
how to use the Interest Invoker API for better, more accessible UX

How to use the Interest Invoker API for better, more accessible UX

Explore how to use Google’s new experimental Interest Invoker API for delays, popovers, and smarter hover UX.

Emmanuel John
Jun 19, 2025 â‹… 7 min read
View all posts

2 Replies to "A guide to JWT authentication in Go"

  1. Your code is incorrect. You should be returning the secret key on the happy path of the jwt.Parse function, not an empty string. Returning an empty string results in getting an error from the jwt.Parse function. Here is the correct implementation for anybody that was stuck on this as me:

    token, err := jwt.Parse(r.Header[“Token”][0], func(token *jwt.Token) (interface{}, error) {
    if _, ok := token.Method.(*jwt.SigningMethodHMAC); !ok {
    return “”, fmt.Errorf(“Unexpected signing method: %v”, token.Header[“alg”])
    }
    return sampleSecretKey, nil
    })

Leave a Reply