【问题标题】:Azure B2C Logout implementation in ASP.NET Core?ASP.NET Core 中的 Azure B2C 注销实现?
【发布时间】:2022-01-11 05:38:22
【问题描述】:

我正在开展一个需要 B2C 实施的项目,这是我第一次使用甚至听说它,所以请多多包涵。如何使用此 Azure 服务实现注销或会话失效?

我的登录和升级政策有效,但目前除了这个 https://docs.microsoft.com/en-us/azure/active-directory-b2c/session-behavior?pivots=b2c-user-flow 之外,我找不到任何关于如何实现注销的文档,我一生都无法理解。

使用 ASP.NET Core Web 应用程序实现 B2C 注销功能的最简单和最佳实践方法是什么。非常感谢您的帮助。我没有任何代码可以提供,因为我尝试过的一件事都没有奏效。我知道在旧版本中,您可以调用租户自定义 URL 来注销会话,但我无法在任何地方找到此文档,也无法判断它是否是旧版本。

【问题讨论】:

    标签: azure asp.net-core azure-active-directory azure-ad-b2c logout


    【解决方案1】:

    添加帐户控制器以获得更多控制权 https://docs.microsoft.com/en-us/azure/active-directory-b2c/enable-authentication-web-application-options#add-the-account-controller

    然后在账户控制器中添加退出路径

    [HttpGet("{scheme?}")]
    public async Task<IActionResult> SignOutAsync([FromRoute] string scheme)
    {
        scheme ??= OpenIdConnectDefaults.AuthenticationScheme;
        return SignOut(properties,CookieAuthenticationDefaults.AuthenticationScheme,scheme);
    }
    

    本文档说明了如何手动发送退出请求: https://docs.microsoft.com/en-us/azure/active-directory-b2c/openid-connect#send-a-sign-out-request

    【讨论】:

    • 注销部分有效,但它给我留下了 B2C 错误 AADB2C90272“请求中未指定 id_token_hint 参数。请提供令牌并重试。”。我也需要它重定向到一个页面,但无论我尝试什么,它总是给我这个错误。我在 B2C 应用程序面板中配置了注销 URL,但它不起作用。
    • 如果您尝试使用 id 令牌提示保护注销,请参阅我链接的文档,代码示例显示了如何将 id 令牌传递到注销请求中。 docs.microsoft.com/en-us/azure/active-directory-b2c/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-27
    • 2019-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-31
    • 1970-01-01
    相关资源
    最近更新 更多