我正在使用Golang和Gin框架从客户端获取JWT中的claims。但是我无法将提取的角色与字符串进行比较。
当我尝试获取该值时,它返回`[test-app]`,但实际上我想要的值是`"test-app"`。
当我尝试获取该值时,它返回`[test-app]`,但实际上我想要的值是`"test-app"`。
token, _, err := new(jwt.Parser).ParseUnverified(tokenString, jwt.MapClaims{})
if err != nil {
fmt.Println(err2)
return
}
if claims, ok := token.Claims.(jwt.MapClaims); ok {
chkRoles := claims["roles"]
if chkRoles == "test-app" {
fmt.Println("Check Roles passed")
}
}
以及我的负载
{
"roles": [
"test-app"
],
"exp": 1811749673,
"client_id": "testapp"
}
我如何从JSON声明中获取值并将其用于与字符串进行比较/验证?
chkRoles
是一个切片,将其与字符串进行比较没有多少意义。 - zerkms