首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IdentityServer4无效授权代码{“代码”:

IdentityServer4无效授权代码{“代码”:
EN

Stack Overflow用户
提问于 2020-09-14 09:04:03
回答 1查看 1.9K关注 0票数 0

我得到无效的授权代码{“代码”:"MyTestCode"},

这里有更详细的错误:无效授权代码{“代码”:"MyTestCode"},详细信息:{"ClientId":"AuthorizationCodeClientFlow","ClientName":“授权代码客户端”,"GrantType":"authorization_code","Scopes":null,"AuthorizationCode":"MyTestCode","RefreshToken":null,"UserName":null,"AuthenticationContextReferenceClasses":null,“租户”:null,“IdP”,“原始”:{"grant_type":"authorization_code",“代码”:"MyTestCode","redirect_uri":"https://localhost:5000/oauth/callback",“client_id:"AuthorizationCodeClientFlow"},"$type":"TokenRequestValidationLog"}

我正在用邮递员测试

这是从以下代码生成的客户端:

代码语言:javascript
复制
            {
                ClientName = "Authorization Code Client",
                ClientId = "AuthorizationCodeClientFlow",
                AllowedGrantTypes = GrantTypes.Code,
                ClientSecrets =
                  {
                    new Secret("AuthorizationCodeClientFlowSecret".Sha512())
                  },
                AllowedScopes =
                  {
                    "all"
                  },
                RedirectUris =
                  new List<string> {
                       "https://localhost:5000/oauth/callback"
                  },
                AllowOfflineAccess = false,
                AccessTokenLifetime = 60
            };

https://localhost:5105/oauth/authorize工作得很好。我在https://localhost:5105/oauth/token步骤中出错。当我像这样验证请求时:

代码语言:javascript
复制
var form = (await _httpContextAccessor.HttpContext.Request.ReadFormAsync()).AsNameValueCollection();

            var validationResult = await _requestValidator.ValidateRequestAsync(form, clientResult);

            if (validationResult.IsError)
            {
                return new IdpTokenResponse
                {
                    Custom = new Dictionary<string, object>
                      {
                        { "Error", validationResult.Error },
                        { "ErrorDescription", validationResult.ErrorDescription }
                      }
                };
            }
EN

回答 1

Stack Overflow用户

发布于 2020-09-14 11:49:37

您需要获取从初始身份验证请求中收到的授权代码,然后在从令牌端点获得令牌时将其传递给它。

有一件不相关的事情是,当您针对进行身份验证时,应该始终请求openid范围,All或"“是无效的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63881246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档