【发布时间】:2020-12-31 23:52:42
【问题描述】:
我收到无效的授权码{"code": "MyTestCode"},
这里是更详细的错误:
无效的授权码{“code”:“MyTestCode”},详细信息:{“ClientId”:“AuthorizationCodeClientFlow”,“ClientName”:“授权码客户端”,“GrantType”:“authorization_code”,“Scopes”:null,“AuthorizationCode” “:“MyTestCode”,“RefreshToken”:null,“UserName”:null,“AuthenticationContextReferenceClasses”:null,“Tenant”:null,“IdP”:null,“Raw”:{“grant_type”:“authorization_code”,“代码”:“MyTestCode”、“redirect_uri”:“https://localhost:5000/oauth/callback”、“client_id”:“AuthorizationCodeClientFlow”}、“$type”:“TokenRequestValidationLog”}
这是从这段代码生成的客户端:
{
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 步骤中遇到错误。当我这样验证请求时:
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 }
}
};
}
【问题讨论】: