【发布时间】:2019-08-20 05:46:45
【问题描述】:
当我通过 WebApi 与我的 Angular 应用程序断开连接时,我的请求在通话期间被拒绝 OPTIONS
我使用OpenIddict和Asp.Net core 2.2,我调用了这个方法
[HttpGet("~/connect/logout")]
public async Task<IActionResult> Logout()
{
await _signInManager.SignOutAsync();
return SignOut(OpenIddictServerDefaults.AuthenticationScheme);
}
我有这个错误
信息:Microsoft.AspNetCore.Hosting.Internal.WebHost[1] 请求启动 HTTP/1.1 OPTIONS http://localhost:44300/connect/logout 失败: OpenIddict.Server.Internal.OpenIddictServerHandler[0] 注销请求被拒绝,因为指定了无效的 HTTP 方法:OPTIONS。信息: OpenIddict.Server.Internal.OpenIddictServerHandler[0] 注销响应成功返回为纯文本文档:{ “错误”:“无效请求”, "error_description": "指定的 HTTP 方法无效。" }。
我的其他 API 没有问题
【问题讨论】:
-
OPTIONS请求被禁用了吗?你启用 CORS 了吗? -
它是由一个角度应用程序调用的,我不知道如何在调用时禁用 OPTION。在服务器端,我将 CORS 域设置为 all origins all verbs ...
-
您是否在 IIS 上运行它?如果是,您应该查看 web.config。
-
您也可以在控制器处设置断点,查看 API 调用是否成功,但您的服务器抛出异常。这就是导致我的错误的原因。
标签: c# asp.net-core logout openiddict