用于注销的页面重定向不适用于委托身份验证(Azure API 管理)
Page redirect for logout not working with delegated authentication (Azure API Management)
我正在使用 Microsoft 的 Azure API 管理,特别是委派功能,来处理登录请求,这样我的网站就可以为在 APIM 上访问我的开发人员门户的用户处理身份验证。
我只是想处理一个 "SignOut" 请求,据此 Azure API 管理重定向到我的 Delegation
页面,如下所示:
case "SignOut":
//this doesn't actually log the user out; suggestions?
return new RedirectToPageResult("Identity/Account/Logout");
logout
页面只有一个 POST
操作:
public async Task<IActionResult> OnPost(string returnUrl = null)
{
await _signInManager.SignOutAsync();
_logger.LogInformation("User logged out.");
if (returnUrl != null)
{
return LocalRedirect(returnUrl);
}
else
{
return Page();
}
}
我宁愿不理会这个页面,只是 'use it' 我的注销操作来自委托页面处理来自 APIM 的事件。
知道如何使用重定向或其他方法处理注销吗?我知道我在这里遗漏了一些简单的东西...
如果我对你的理解正确,我认为你不能在没有额外的客户端逻辑的情况下做到这一点。服务器 returns 的 HTTP 重定向是 302 响应,位置 header 带有新的 URL。浏览器对此做出反应的方式是在提供的 URL 上发出 GET 请求。当您的注销逻辑需要 POST 请求时。重复使用当前 POST 端点进行注销的唯一方法是使用 client-side 脚本对 return 200 响应进行响应,该脚本会在所需端点上调用 POST。
就我个人而言,我更愿意在您的委托端点内进行注销。
我正在使用 Microsoft 的 Azure API 管理,特别是委派功能,来处理登录请求,这样我的网站就可以为在 APIM 上访问我的开发人员门户的用户处理身份验证。
我只是想处理一个 "SignOut" 请求,据此 Azure API 管理重定向到我的 Delegation
页面,如下所示:
case "SignOut":
//this doesn't actually log the user out; suggestions?
return new RedirectToPageResult("Identity/Account/Logout");
logout
页面只有一个 POST
操作:
public async Task<IActionResult> OnPost(string returnUrl = null)
{
await _signInManager.SignOutAsync();
_logger.LogInformation("User logged out.");
if (returnUrl != null)
{
return LocalRedirect(returnUrl);
}
else
{
return Page();
}
}
我宁愿不理会这个页面,只是 'use it' 我的注销操作来自委托页面处理来自 APIM 的事件。
知道如何使用重定向或其他方法处理注销吗?我知道我在这里遗漏了一些简单的东西...
如果我对你的理解正确,我认为你不能在没有额外的客户端逻辑的情况下做到这一点。服务器 returns 的 HTTP 重定向是 302 响应,位置 header 带有新的 URL。浏览器对此做出反应的方式是在提供的 URL 上发出 GET 请求。当您的注销逻辑需要 POST 请求时。重复使用当前 POST 端点进行注销的唯一方法是使用 client-side 脚本对 return 200 响应进行响应,该脚本会在所需端点上调用 POST。
就我个人而言,我更愿意在您的委托端点内进行注销。