0

我尝试使用节点 oidc 提供程序使用授权代码流获取 access_token 和 refresh_token。我得到了 auth_code。但我无法获取访问令牌和刷新令牌如何解决此问题。我参考了许多文档,但我无法得到它。

OIDC 配置

  const oidc = new Provider('http://localhost:3000', {
  clients: [
    {
      client_id: 'foo',
      client_secret: 'bar',
      redirect_uris: ['https://jwt.io'], // using jwt.io as redirect_uri to show the ID Token contents
      response_types: ['code'],
      grant_types: ['authorization_code'],
      token_endpoint_auth_method: 'none',
    },
  ],
  cookies: {
    keys: 'secretkey'
  },
  pkce: {
    required: true
  },
});

// Heroku has a proxy in front that terminates ssl, you should trust the proxy.
oidc.proxy = true;
app.use(oidc.callback())

我也得到了 auth_code

在此处输入图像描述

在此处输入图像描述

如何使用 node-oidc 提供程序获取访问令牌和刷新令牌

4

1 回答 1

0
  1. 您的访问令牌请求缺少 PKCE code_verifier 参数。
  2. 您的客户端的身份验证方法设置为none,因此您不应该传递任何授权标头。

您可以启动您的提供程序流程DEBUG=oidc-provider:*以获取有关这些错误的更多详细信息。

于 2021-05-11T08:52:04.830 回答