首页 > 解决方案 > Azure B2C 注册策略重定向到应用程序后的 AngularJS 哈希 # 问题

问题描述

我们想做的是在用户成功注册后自动登录\登录。

假设用户收到了应用程序的邀请。他们进入注册页面,填写表格并单击创建按钮。如果一切正常,用户将被添加到 Azure B2C 目录,然后我们会以某种方式自动运行登录策略或以其他方式自动登录。

所以我只想知道在使用 Azure B2C 时这是否可行。

编辑

经过进一步调试,我看到了问题所在......

我们有一个旧的 AngularJS (1.6) SPA 应用程序。

用户完成注册过程后从 Azure B2C 发回一个#id_token...但是在浏览器中的 URL 具有 后#id_token,控制权不会传递给应用程序,即不会调用 OWIN 中间件。对于登录,它按预期工作,因为它从 SPA 本身开始。用户单击登录按钮并被重定向msalService.loginRedirect

注册策略的执行是不同的,因为它仅从电子邮件邀请链接开始。所以它不是来自 SPA 本身。一旦 Azure B2C 重定向回应用程序,AngularJS的哈希部分#id_token就会被弄乱。

我已经玩过 AngularJS$locationProvider.html5(true)模式,但它不起作用。

我现在要做的是重定向到自定义signup.html回复 URL,然后返回到 AngularJS 应用程序,但我不确定如何连接它。

标签: angularjsazureauthenticationazure-ad-b2cuser-registration

解决方案


默认情况下,在流程结束时(即除密码重置流程外的所有内置流程和除密码重置流程外的所有自定义流程),会为用户生成 SSO 会话,因此,他们实际上是在报名。

因此,在同一会话中的默认体验是,如果用户注册了 App A,然后被重定向到登录 App B,则不会提示他们重新进行身份验证。

您可以配置注册和登录流程,以便它们发出相同的声明,以便应用程序可以处理具有相同行为的注册和登录回调。


推荐阅读