当我通过WebApi与角度应用程序断开连接时,我的请求在通话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选项http://localhost:44300/connect/logout失败: OpenIddict.Server.Internal.OpenIddictServerHandler [0] 注销请求被拒绝,因为指定了无效的HTTP方法:OPTIONS。信息: OpenIddict.Server.Internal.OpenIddictServerHandler [0] 注销响应已成功作为纯文本文档返回:{ “错误”:“ invalid_request”, “ error_description”:“指定的HTTP方法无效。” }。
我的其他API没有问题
答案 0 :(得分:0)
发送OPTIONS请求的事实(在这种情况下很可能是预检CORS请求)使我认为您尝试将注销端点用作“ API端点”,这并非出于目的。
非常类似于授权端点,注销端点是一个交互式端点,旨在与良好的旧重定向以及可选的同意屏幕一起使用,以通知用户他或她将要注销(因此,可以防止不必要的注销,通常被视为定向的“ DOS”攻击。
假设您不需要同意屏幕,请考虑在隐藏的iframe中发送注销请求,而不要使用XMLHttpRequest。