【问题标题】:Issue while refreshing token - OIDC - "Error refreshing token Wrong issuer"刷新令牌时出现问题 - OIDC - \“刷新令牌错误错误的颁发者\”
【发布时间】:2022-11-22 14:42:53
【问题描述】:

我正在使用 Azure + Angular + Java 来验证令牌。

角度(用户界面):

angular-oauth2-oidc 库

提供资料:

      issuer: this.configData.issuer,
      clientId: "",
      redirectUri: "",
      tokenEndpoint: "",
      postLogoutRedirectUri: "",
      loginUrl: "",
      logoutUrl: "",
      showDebugInformation: environment.env === 'local',
      disablePKCE: true

Java部分:

对于访问令牌,信息传递方式如下

grant_type=%s&code=%s&redirect_uri=%s&client_id=%s&client_secret=%s

刷新令牌在上述调用的响应中发送。

一段时间后,调用 refresh_token

grant_type=%s&client_id=%s&refresh_token=%s&client_secret=%s

对于刷新调用,有一个例外: “错误刷新令牌错误的发行人”

在探索过程中,有建议在UI中的idms认证部分添加skipIssuerCheck: true。 这引入了另一个问题刷新令牌时出错错误:需要参数 jwks!

在搜索过程中,得到了在 UI 中添加以下信息的建议。不确定此处每个字段要传递的信息/数据。

this.oauthService.jwks = {
 keys: [
     {
        kid: "X5eXk4xyojNFum1kl2Ytv8dlNP4-c57dO6QGTVBwaNk",
        nbf: 1493763266,
        use: "sig",
        kty: "RSA",
        e: "AQAB",
        n: "tVKUtcx_n9rt5afY_2WFNvU6PlFMggCatsZ3l4RjKxH0jgdLq6CScb0P3ZGXYbPzXvmmLiWZizpb-h0qup5jznOvOr-Dhw9908584BSgC83YacjWNqEK3urxhyE2jWjwRm2N95WGgb5mzE5XmZIvkvyXnn7X8dvgFPF5QwIngGsDG8LyHuJWlaDhr_EPLMW4wHvH0zZCuRMARIJmmqiMy3VD4ftq4nS5s8vJL0pVSrkuNojtokp84AtkADCDU_BUhrc2sIgfnvZ03koCQRoZmWiHu86SuJZYkDFstVTVSR0hiXudFlfQ2rOhPlpObmku68lXw-7V-P7jwrQRFfQVXw"}
]}

这里有任何帮助解决错误“错误刷新令牌错误的发行者”的问题。

【问题讨论】:

    标签: angular oauth-2.0 jwt openid-connect


    【解决方案1】:

    this.oauthService.jwks 信息由身份服务器提供。

    对于“”Error refreshing token Wrong issuer”的修复,

    1. 添加了 skipIssuerCheck: true 字段
    2. jwks 信息是从 Identity Server 接收到的,并且该信息也已添加到 oAuth 配置文件中。

      注意:任何调用this.oAuthService.tokenValidationHandler = new JwksValidationHandler(); 都应该被注释掉。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-06
      • 1970-01-01
      • 2020-08-13
      • 2022-01-28
      • 1970-01-01
      • 1970-01-01
      • 2015-04-26
      • 2021-11-07
      相关资源
      最近更新 更多