Redirect 在ASP.NET Core 2中注销IdentityServer 4

Redirect 在ASP.NET Core 2中注销IdentityServer 4,redirect,logout,identityserver4,Redirect,Logout,Identityserver4,我正在ASP.NET CORE 2.0 Web应用程序中使用Identity Server 4进行身份验证。我无法注销该用户 我在点击时有一个链接,我用Javascript调用下面的代码 var mgr = new Oidc.UserManager(config); mgr.signoutRedirect(); 上面的代码试图重定向到Identity Server web应用程序中的AccountController的注销操作(HttpPost),但是,我得到了HTTP404。我点击的URL如

我正在ASP.NET CORE 2.0 Web应用程序中使用Identity Server 4进行身份验证。我无法注销该用户

我在点击时有一个链接,我用Javascript调用下面的代码

var mgr = new Oidc.UserManager(config);
mgr.signoutRedirect();
上面的代码试图重定向到Identity Server web应用程序中的
AccountController
的注销操作(HttpPost),但是,我得到了
HTTP404
。我点击的URL如下所示:

[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Logout()
{
  await _signInManager.SignOutAsync().ConfigureAwait(false);
  _logger.LogInformation("User logged out.");
  return RedirectToAction(nameof(HomeController.Index), "Home");
}

动作法也不会被小提琴手击中

My AccountController具有如下注销操作:

[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Logout()
{
  await _signInManager.SignOutAsync().ConfigureAwait(false);
  _logger.LogInformation("User logged out.");
  return RedirectToAction(nameof(HomeController.Index), "Home");
}

点击我在这篇文章顶部给出的注销按钮时的代码。

让我们在这里澄清一些东西-你的客户是什么类型的-SPA还是核心Web应用程序?因为你说它是核心Web应用程序,但是你展示的代码(
Oidc.Manager
等)是
Oidc客户端js
库的一部分,应该与SPA'a(或其他基于JavaScript的)客户端一起使用。它是ASP.NET核心Web应用程序。那么你为什么要使用JavaScript库呢?你能给出一些代码和配置来澄清吗?我已经按照@m3n7alsnak3的要求添加了我正在使用的JS代码