Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在ASP.NET Core中配置返回类型字段_C#_Asp.net Core_Oauth - Fatal编程技术网

C# 在ASP.NET Core中配置返回类型字段

C# 在ASP.NET Core中配置返回类型字段,c#,asp.net-core,oauth,C#,Asp.net Core,Oauth,我正在使用AuthenticationBuilder.AddOAuth(…)方法将OAuth功能添加到我的站点。这对于我连接到的一个服务来说非常有效,但是对于第二个服务来说就不一样了 显然,在重定向到授权端点的过程中,第二个服务要求URL参数return\u type设置为token,但我的配置将其设置为code。到目前为止,我还无法找到由OAuthOptions确定此参数的部分 为了方便起见,我将添加我正在使用的代码: authBuilder.AddOAuth(标识符,选项=> { opti

我正在使用
AuthenticationBuilder.AddOAuth(…)
方法将OAuth功能添加到我的站点。这对于我连接到的一个服务来说非常有效,但是对于第二个服务来说就不一样了

显然,在重定向到授权端点的过程中,第二个服务要求URL参数
return\u type
设置为
token
,但我的配置将其设置为
code
。到目前为止,我还无法找到由
OAuthOptions
确定此参数的部分


为了方便起见,我将添加我正在使用的代码:

authBuilder.AddOAuth(标识符,选项=>
{
options.ClientId=ClientId;
options.ClientSecret=ClientSecret;
options.CallbackPath=新路径字符串($“/signin-{Identifier}”);
options.AccessDeniedPath=新路径字符串(“/”);
options.AuthorizationEndpoint=域+AuthorizationEndpoint;
options.TokenEndpoint=域+TokenEndpoint;
options.UserInformationEndpoint=域+UserInfoEndpoint;
options.claigments.MapJsonKey(ClaimTypes.NameIdentifier,NameIdentifierKey);
options.claims.MapJsonKey(ClaimTypes.Name,NameKey);
options.SaveTokens=true;
options.Events=新的OAuthEvents
{
OnCreatingTicket=异步上下文=>
{
var request=newhttprequestmessage(HttpMethod.Get,context.Options.UserInformationEndpoint);
request.Headers.Accept.Add(新的MediaTypeWithQualityHeaderValue(“application/json”);
request.Headers.Authorization=新的AuthenticationHeaderValue(“承载者”,context.AccessToken);
var response=wait context.Backchannel.sendaync(请求,HttpCompletionOption.ResponseHeadersRead,context.HttpContext.RequestAborted);
response.EnsureSuccessStatusCode();
var user=await JsonDocument.ParseAsync(await response.Content.ReadAsStreamAsync());
runclaimerations(user.RootElement);
}
};
options.Scope.Add(范围);
});

return\u类型是您使用的OAuth流的一部分<代码>代码是授权代码流,
令牌
是隐式流的一部分。不太清楚你所说的“服务”是什么意思。您的服务不应该需要使用特定的流,它应该需要一个访问令牌,这是重定向的结果,而不是您如何获得它。除非“服务”是指您使用的是完全不同的授权端点,其中一个端点不支持代码流。这似乎就是问题所在。通过“服务”,我指的是提供OAuth端点的网站。因此ASP.NET核心OAuth中间件不支持对查询参数的更多控制?显然,
response\u type
query参数已硬编码到源代码()。