Azure active directory B2C租户未注销

Azure active directory B2C租户未注销,azure-active-directory,azure-ad-b2c,Azure Active Directory,Azure Ad B2c,我们有一个B2C的认证自定义政策,但我有麻烦得到一个一致的完整注销。我能够完全注销单点登录的唯一方法是使用公共端点: https://login.microsoftonline.com/common/oauth2/logout?post_logout_redirect_uri={our homepage} 当我登录时,我看到了这个 然后单击“登录”并查看此信息 但即使这样也不总是有效的。有时,它不会重定向,只是停留在“您已注销”屏幕上 使用元数据端点中给定的注销端点无法按预期工作。我看到了

我们有一个B2C的认证自定义政策,但我有麻烦得到一个一致的完整注销。我能够完全注销单点登录的唯一方法是使用公共端点:

https://login.microsoftonline.com/common/oauth2/logout?post_logout_redirect_uri={our homepage}
当我登录时,我看到了这个

然后单击“登录”并查看此信息

但即使这样也不总是有效的。有时,它不会重定向,只是停留在“您已注销”屏幕上

使用元数据端点中给定的注销端点无法按预期工作。我看到了登录屏幕(第一张图片),但我无法选择使用哪个帐户登录,只需单击按钮即可登录。我想这意味着单点登录注销不起作用

https://login.microsoftonline.com/te/{tennant}/{b2c-policy}/oauth2/v2.0/logout?post_logout_redirect_uri={our homepage}
我怎样才能让第一个每次都工作,或者让第二个完全注销

编辑:对不起,我应该提到我使用的是node.js/javascript,但是任何url类型的解决方案也可以。此外,我们正在使用B2C,因此应用程序在该租户上注册。此页面上没有用于lotout url的选项。

如果我理解正确,您是否正在尝试配置单点注销?这可以完成,但需要与登录配置分离的配置

在Accounts Controller中,您需要添加SingleSignOut操作

public ActionResult SingleSignOut(string redirectUri)
        {
            if (redirectUri == null)
                ViewBag.RedirectUri = "https://localhost:44308/";
            else
                ViewBag.RedirectUri = redirectUri;
            HttpContext.GetOwinContext().Authentication.SignOut(CookieAuthenticationDefaults.AuthenticationType);
            return View();
        }
请参阅和附带的存储库


也很有帮助。

如果我理解正确,您正在尝试配置单点注销吗?这可以完成,但需要与登录配置分离的配置

在Accounts Controller中,您需要添加SingleSignOut操作

public ActionResult SingleSignOut(string redirectUri)
        {
            if (redirectUri == null)
                ViewBag.RedirectUri = "https://localhost:44308/";
            else
                ViewBag.RedirectUri = redirectUri;
            HttpContext.GetOwinContext().Authentication.SignOut(CookieAuthenticationDefaults.AuthenticationType);
            return View();
        }
请参阅和附带的存储库


也很有帮助。

要从B2C注销用户,您需要将用户重定向到B2C注销端点,而不是普通端点。这应该是这样的:

https://fabrikamb2c.b2clogin.com/fabrikamb2c.onmicrosoft.com/oauth2/v2.0/logout?p=b2c_1_sign_in&post_logout_redirect_uri={your homepage}
请确保将浏览器重定向到该端点,并且不要尝试通过反向通道进行访问,否则它将不会执行任何操作,因为单一登录机制基于浏览器cookie


参考:

要从B2C注销用户,您需要将用户重定向到B2C注销端点,而不是普通端点。这应该是这样的:

https://fabrikamb2c.b2clogin.com/fabrikamb2c.onmicrosoft.com/oauth2/v2.0/logout?p=b2c_1_sign_in&post_logout_redirect_uri={your homepage}
请确保将浏览器重定向到该端点,并且不要尝试通过反向通道进行访问,否则它将不会执行任何操作,因为单一登录机制基于浏览器cookie


参考资料:

谢谢您的回复。抱歉,我忘了添加我正在使用node.js和azure passport广告模块,但是任何基于url的解决方案都可以。您的链接提到在应用程序门户中添加注销url,但在我的应用程序中没有此选项。我们使用B2C,因此应用程序注册页面不同。感谢您的回复。抱歉,我忘了添加我正在使用node.js和azure passport广告模块,但是任何基于url的解决方案都可以。您的链接提到在应用程序门户中添加注销url,但在我的应用程序中没有此选项。我们使用B2C,所以应用程序注册页面不同。“单点登录完全注销”是什么意思?您是否有一个要注销的应用程序,或者您有多个使用单次登录的web应用程序,现在您也需要单次注销?什么是“单次登录完全注销”?您是否有一个要注销的应用程序,或者您是否有多个使用单一登录的web应用程序,现在您也需要单一注销?