我们正在尝试为我们的几个应用程序实施SSO,以使用户能够登录一次,然后无缝切换应用程序。为此,我们使用Azure AD B2C来存储我们的用户,并且能够使用我们的第一个应用程序实现登录。但是,当用户切换到另一个应用程序时,我们现在面临问题:似乎没有将用户发送到登录策略并让他/她重复登录过程,则无法在第二个应用程序中授权用户。
这是我们目前正在做的事情:
id_token
和code
参数发送回我们的WebApp1 code
并使用它在WebApp2中从Azure AD B2C请求访问令牌(https://login.microsoftonline.com/mytennant.onmicrosoft.com/oauth2/v2.0/token?p=B2C_1_webapp2_login)但是,在执行第3步时,我们总是会从Azure中收到以下错误:
AADB2C90088:尚未为此端点发出提供的授权。 实际值:B2C_1_webapp1_login和预期值: B2C_1_webapp2_login
错误很明显,但我们只是不知道如何解决这个问题。我们一遍又一遍地阅读文档,但无法找到解决此问题的线索。
所以任何帮助都将受到高度赞赏。如果需要任何进一步的信息,请告诉我,我很乐意添加它们。
谢谢,
Moritz的
答案 0 :(得分:0)
您不能使用从其他策略生成的代码。 (请参阅“p”参数下的文档 - this answer。)
您是否有理由对第二个Web应用使用不同的策略?您可以在B2C中创建一个新的应用程序,并使用与App 1相同的策略来定位它。或者您需要为第二个应用程序重复步骤1和2并依赖于SSO配置。