首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从ASP.NET和ASP.NET核心注销密钥披风

从ASP.NET和ASP.NET核心注销密钥披风
EN

Stack Overflow用户
提问于 2022-04-04 14:45:51
回答 1查看 756关注 0票数 0

目前,我可以从ASP.NET和ASP.NET核心登录。然而,当从ASP.NET注销时,我的ASP.NET核心应用程序也不会退出。

下面是我的ASP.NET注销代码:

代码语言:javascript
运行
复制
public ActionResult logout()
{
    Request.GetOwinContext().Authentication.SignOut(HttpContext.GetOwinContext().Authentication.GetAuthenticationTypes().Select(o => o.AuthenticationType).ToArray());
    return RedirectToAction("About", "Home");
}

我的ASP.NET核心注销:

代码语言:javascript
运行
复制
public IActionResult Logout()
{
    return new SignOutResult(new[] { "OpenIdConnect", "Cookies" });
}

不幸的是,如果我从ASP.NET应用程序中注销,我的ASP.NET核心应用程序不会自动注销。是我的密钥披风设置出了问题,还是代码中漏掉了什么?

EN

回答 1

Stack Overflow用户

发布于 2022-04-04 15:44:19

通过https://github.com/dotnet/aspnetcore/blob/4fa5a228cfeb52926b30a2741b99112a64454b36/src/Security/Authentication/OpenIdConnect/src/OpenIdConnectHandler.cs#L312-L315

代码语言:javascript
运行
复制
services.AddAuthentication(...)
    .AddCookie("Cookies")
    .AddOpenIdConnect("OpenIdConnect", options =>
    {
        ...
        options.Events.OnSignedOutCallbackRedirect += context =>
        {
            context.Response.Redirect(context.Options.SignedOutRedirectUri);
            context.HandleResponse();

            return Task.CompletedTask;
        };
        ...
    });
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71739240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档