ASP.NETCoreMVC-使用POST请求从外部提供者注销。
创始人
2024-09-18 00:00:37
0

在 ASP.NET Core MVC 中,使用外部提供者(如 Google、Facebook、Twitter)来进行身份验证和授权是非常常见的。为了退出应用程序,您可以在 ASP.NET Core 中使用注销功能。但是,使用外部提供程序进行注销时可能会出现错误,因为默认情况下,注销请求将使用 GET 方法发送。

要解决此问题,您需要创建一个 Logout 操作方法,其中使用 POST 方法发送注销请求,以确保注销请求从服务器到外部提供者。

下面是一个示例:

public async Task Logout() { // 获取当前用户信息 var vm = await _account.GetLogoutViewModelAsync();

// 如果用户已经注销,则重定向到主页
if (!vm.ShowLogoutPrompt)
{
    return RedirectToAction("Index", "Home");
}

// 如果设置了外部注销,则从外部提供者注销
if (vm.EnableSignOutPrompt)
{
    return SignOut(new AuthenticationProperties { RedirectUri = Url.Action("Logout", "Account") },
            vm.ExternalAuthenticationScheme);
}

// 否则,直接注销
await HttpContext.SignOutAsync();

return RedirectToAction("Index", "Home");

}

您可以使用注销视图模型来控制注销选项,但这是可选的。在这个示例中,如果 ShowLogoutPrompt 设置为 FALSE,则用户将被重定向到主页。如果 EnableSignOutPrompt 设置为 TRUE,则会触发外部提供程序注销。如果都没有设置,用户将直接注销。

请注意,这只是示例代码,您需要根据您的应用程序需求进行修改和调整。

相关内容

热门资讯

2分钟辅助!hhpoker为什... 2分钟辅助!hhpoker为什么一直输,创思维app有挂吗(技术分享开挂辅助插件);1.创思维app...
9分钟透视!欢聚水鱼辅助视频,... 9分钟透视!欢聚水鱼辅助视频,盛世辅助软件(热点讨论开挂辅助插件)1、下载安装好欢聚水鱼辅助视频,进...
7分钟辅助!有没有人会衢州都莱... 7分钟辅助!有没有人会衢州都莱的辅助,新道游游戏辅助器免费版(大家学习交流开挂辅助平台);致您一封信...
第七分钟辅助!山西扣点免费辅助... >>您好:山西扣点免费辅助下载确实是有挂的,很多玩家在这款山西扣点免费辅助下载游戏中打牌都会发现很多...
2分钟开挂!博雅棋牌辅助器,潮... 潮汕木虱有辅助挂吗是一款专注玩家量身打造的游戏记牌类型软件,在潮汕木虱有辅助挂吗这款游戏中我们可以记...
第7分钟辅助!新二号辅助下载,... 第7分钟辅助!新二号辅助下载,创思维激k必胜辅助(今日头条开挂辅助安装);1、不需要AI权限,帮助你...
五分钟辅助!微友辅助神器下载,... 五分钟辅助!微友辅助神器下载,小闲川南辅助工具(一分钟揭秘开挂辅助神器);AI辅助机器人普及解说快速...
五分钟辅助!微乐小程序辅助教程... 五分钟辅助!微乐小程序辅助教程,传送屋有没有挂(终于知道开挂辅助工具)>>您好:软件加薇136704...
一分钟辅助!德州透视插件,微乐... 【福星临门,好运相随】;一分钟辅助!德州透视插件,微乐小程游戏破解器下载(我来教大家开挂辅助脚本);...
7分钟开挂!吉安小程序中至游戏... 7分钟开挂!吉安小程序中至游戏辅助,we poker辅助器下载(透视模拟器开挂辅助平台)【无需打开直...