Warm tip: This article is reproduced from serverfault.com, please click

其他-无法从Keycloak验证令牌

(其他 - Unable to validate the token from Keycloak)

发布于 2020-01-20 10:56:55

我正在尝试验证从密钥斗篷收到的令牌。我创建了TestClient作为客户端,创建了TestRealm作为领域,并创建了“ user”作为用户。在验证收到的令牌时,我正在访问此端点 -http:// localhost:8080 / auth / realms / TestRealm / protocol / openid-connect / userinfo

在响应中,我没有收到实际的用户详细信息,而是每次都收到此响应:

{
    "sub": "xxxx-xxxx-xxxx-xxxx-xxxxxx",
    "email_verified": false,
    "preferred_username": "service-account-testclient"
}

有人可以解释吗?

Questioner
Kshitiz Sharma
Viewed
0
Jan Garaj 2020-01-21 02:09:58

我不会说你正在执行令牌验证。令牌验证需要令牌签名验证(通常针对使用的领域公钥)。

你只是用auth头中的令牌调用标准OIDC用户信息端点,而Keycloak必须执行令牌验证作为请求处理的一部分。Userinfo响应取决于你的Keycloak客户端配置(映射器,范围等)。

因此,当你获得带有http代码200的userinfo响应时,令牌必须有效。但是不要将userinfo用于“令牌验证”-它将增加不必要的Keycloak负载,这是一种缓慢的方法,未为此指定userinfo端点,....执行脱机,无状态,快速的令牌签名验证。它应该是所有OIDC库的标准功能。