1

我正在使用 vertx 生成带有客户端凭据的 OAuth2 令牌,这是代码片段

<artifactId>vertx-auth-oauth2</artifactId>
<version>3.9.1</version>

OAuth2ClientOptions credentials = new OAuth2ClientOptions() .setClientID(clientId) .setClientSecret(clientSecret) .setFlow(OAuth2FlowType.CLIENT) .setTokenPath("oauth/token URL");

    OAuth2Auth oAuth2Auth = OAuth2Auth.create(Vertx.vertx(),credentials);
    JsonObject tokenConfig = new JsonObject();

    oAuth2Auth.authenticate(tokenConfig, res ->
            {
                if (res.failed()) {
                    log.info("Access Token Error;" + res.cause().getMessage());
                } else {
                    User token = res.result();
                    log.info("token:" + token);
                }
            }
    );

错误: 访问令牌错误;io/vertx/ext/jwt/NoSuchKeyIdException Stack Future{cause=io/vertx/ext/jwt/NoSuchKeyIdException}

4

1 回答 1

0

上面的配置是手动指定IdP服务器的端点,并且在有效的身份验证后,响应包含一个JWT令牌作为响应。试图做vertx-auth-oauth2的是解析这个令牌,但是没有加载安全密钥,所以它不能接受这个令牌是有效的。

如果没有事件的处理程序,预计会将此异常视为警告,但看起来您在解析令牌时遇到了异常。

我怀疑这可能是一个错误,您能否提供一个重现异常的简单示例,以便我进一步调查?

于 2020-07-01T11:40:19.297 回答