单个Azure B2C应用程序的多个域
我们有一个只想托管一次的应用程序,但允许两个不同的域指向一个实例,然后根据传入的主机更改品牌。例如单个Azure B2C应用程序的多个域,azure,azure-active-directory,azure-ad-b2c,Azure,Azure Active Directory,Azure Ad B2c,我们有一个只想托管一次的应用程序,但允许两个不同的域指向一个实例,然后根据传入的主机更改品牌。例如https://app.abc.com指向与https://app.def.com 因此,它们不是子域,而是独立的域。这意味着它们还共享同一Azure注册的应用程序,但返回的url不同https://app.abc.com/auth/openid/return和https://app.def.com/auth/openid/return 然而,Azure门户给出了错误消息 “您不能使用超过1个外部域
https://app.abc.com
指向与https://app.def.com
因此,它们不是子域,而是独立的域。这意味着它们还共享同一Azure注册的应用程序,但返回的url不同https://app.abc.com/auth/openid/return
和https://app.def.com/auth/openid/return
然而,Azure门户给出了错误消息
“您不能使用超过1个外部域”
有没有办法解决这个问题而不必托管同一应用程序的两个实例,每个实例都有自己的Azure应用程序/客户端id?不幸的是,您无法实现这一点 回复URL必须全部属于同一个域。和重定向URI必须都属于同一个域。这是 您还可以在Azure portal中看到此说明: 有没有办法解决这个问题而不必托管2个 相同的应用程序,每个应用程序都有自己的Azure应用程序/客户端id 正如我所知,对于Web API或Web应用程序,目前还无法实现这一点 我建议你可以在年对这个想法进行投票,AAD B2C团队将对其进行审查
希望这有帮助 正如Wayne提到的,目前无法回复多个域
但是,一种解决方法是在其中一个网站中构建代理。您总是重定向到此代理,然后该代理将重定向到正确的站点。您可以使用state参数来存储用户从哪个“站点”单击“登录”,然后根据该重定向正确地进行。您必须小心确保令牌安全地通过。如果有人像我今天这样偶然发现这个问题,我找到了解决方法 警告:根据Azure门户网站中MS发出的警告,MS不正式支持此方法(请参见第二个屏幕截图)
1) 在B2C租户中,导航“所有服务-->搜索“应用程序注册”-->单击“应用程序注册” 2) 在应用程序列表中找到您的应用程序并单击它。注意来自MS的警告(参见屏幕截图) 3) 单击“身份验证”并将重定向URI添加到列表中。这与非B2C租户的UI相同。
它允许我输入不同域的重定向URI。它似乎没有“Azure AD B2C”的限制“刀片。我不得不等待一分钟,等待变化传播,但它对我起了作用。我不会很快接受这个,所以我现在可以接受。当我决定上线时,如果微软还没有采用这种方法,我可能会找到其他的方法来做我想做的事情
微软再次警告说,目前不要使用该软件,但希望他们很快会正式支持。谢谢Parakh。我试试看。这个限制已经取消了-。刚刚在门户上尝试了两个不同的主机名,配置保存时没有出现错误。仅供参考:这似乎现在可以工作了,尽管信息框仍然显示“重定向URI必须全部属于同一个域”。我今天还发现,现在可以在普通b2c刀片服务器中添加任何域,尽管回复URL工具提示说这是不可能的。它是有效的。