1

我正在尝试使用以下代码验证 AccessToken -

TokenVerifier 验证器 = TokenVerifier.create(StringAccessToken, AccessToken.class).withDefaultChecks(); PublicKey publicKey = getRealmPublicKey(verifier.getHeader()); return verifier.realmUrl(“someStringUrl”).publicKey(publicKey).verify().getToken();

但似乎不推荐使用 realmUrl() 方法。您能否为此提供替代解决方案?

或者你能建议一种有效的方法来验证访问令牌吗?

4

1 回答 1

0

我们可以使用org.keycloak.TokenVerifier#withChecks它接受谓词进行令牌验证。领域检查由org.keycloak.TokenVerifier.RealmUrlCheck

修改后的代码将是:

TokenVerifier<AccessToken> verifier = TokenVerifier.create(token, AccessToken.class).withChecks(new TokenVerifier.RealmUrlCheck(getRealmUrl()));
PublicKey publicKey = getRealmPublicKey(verifier.getHeader());
return verifier.publicKey(publicKey).verify().getToken();
于 2021-10-05T12:40:34.627 回答