如何使用 OIDC 提供程序在 /token 端点中获取访问令牌和刷新令牌

问题描述

我尝试在 /token 端点中获取访问令牌和刷新令牌。我获得了授权代码,我将传递令牌端点,但它抛出了授权请求无效错误。如何解决这个问题

配置

const oidc = new Provider('http://localhost:3000',{
  clients: [
    {
      // client_id: 'foo',// redirect_uris: ['https://jwt.io'],// using jwt.io as redirect_uri to show the ID Token contents
      // response_types: ['id_token'],// grant_types: ['implicit'],// token_endpoint_auth_method: 'none',client_id: 'secret',redirect_uris: ['http://localhost:3000/api/v1'],// using jwt.io as redirect_uri to show the ID Token contents
      response_types: ['code'],grant_types: ['authorization_code','refresh_token'],token_endpoint_auth_method: 'none',},],cookies: {
    keys: 'secret key',features: {
    clientCredentials: {enable:true},introspection: {enable:true}
    
},pkce: {
  required: true
},token_endpoint_auth_method: "none",});

令牌 API

enter image description here

如何解决这个问题。我尝试了很多方法并参考了很多文档,但我找不到解决方

解决方法

您的访问令牌请求缺少 PKCE code_verifier 参数。

您可以使用 DEBUG=oidc-provider:* 开始您的提供程序进程以获取有关这些错误的更多详细信息。