JWT Authentication issue in Grafana

Why you can’t find that condition? Simple:

# go to folder with the grafana source code for your version
# grep -rin 'Invalid JWT' *
pkg/services/contexthandler/auth_jwt.go:11:const InvalidJWT = "Invalid JWT"
# grep -rin 'InvalidJWT' *
pkg/middleware/middleware_jwt_auth_test.go:166:         assert.Equal(t, contexthandler.InvalidJWT, sc.respJson["message"])
pkg/middleware/middleware_jwt_auth_test.go:182:         assert.Equal(t, contexthandler.InvalidJWT, sc.respJson["message"])
pkg/middleware/middleware_jwt_auth_test.go:195:         assert.Equal(t, contexthandler.InvalidJWT, sc.respJson["message"])
pkg/services/contexthandler/auth_jwt.go:11:const InvalidJWT = "Invalid JWT"
pkg/services/contexthandler/auth_jwt.go:27:             ctx.JsonApiErr(401, InvalidJWT, err)
pkg/services/contexthandler/auth_jwt.go:37:             ctx.JsonApiErr(401, InvalidJWT, err)
pkg/services/contexthandler/auth_jwt.go:60:             ctx.JsonApiErr(401, InvalidJWT, err)
pkg/services/contexthandler/auth_jwt.go:87:                     ctx.JsonApiErr(401, InvalidJWT, err)

So pkg/services/contexthandler/auth_jwt.go is a file, which you need to understand:

        if err := bus.Dispatch(ctx.Req.Context(), &query); err != nil {
                if errors.Is(err, models.ErrUserNotFound) {
                        ctx.Logger.Debug(
                                "Failed to find user using JWT claims",
                                "email_claim", query.Email,
                                "username_claim", query.Login,
                        )
                        err = login.ErrInvalidCredentials
                        ctx.JsonApiErr(401, UserNotFound, err)
                } else {
                        ctx.Logger.Error("Failed to get signed in user", "error", err)
                        ctx.JsonApiErr(401, InvalidJWT, err)
                }
                return true
        }

So ErrUserNotFound is a problem - go to DB and check if email_claim=javeed@mail.onblick.us username_claim=Javeed was created - please don’t ask me which table - try to find it on your own. When you shown your own activity and investigation, then people will more likely help you (me included).