鉴于通过https://login.microsoftonline.com/tfp/MyTenantName.onmicrosoft.com/signinsingunp作为发布者网址通过AAD B2C保护的天蓝色功能,我可以通过msal.js应用成功验证b2c用户, 好像我尝试将发布者URL更新为我的b2ctenant域登录URL(由于此建议redirect URLs to b2clogin.com)并更新msal.js应用程序中的权限以匹配域(myapp.b2clogin.com/tfp/MyTenantName.onmicrosoft)。 com / signinsingunp),我收到相同的Azure功能401,请多多指教。
下面是详细的设置详细信息,
谢谢!
答案 0 :(得分:0)
您需要做的就是更改Issuer URL(您写为Issuer URL,但必须是.well-known config URL)以与b2clogin.com域匹配。
从上面,我看到您在Azure函数上的OpenID配置URL是
login.microsoftonline.com /......./ opendid ......
但是它应该与b2clogin域的静态网站的.well-known配置匹配。应该是
答案 1 :(得分:0)
我终于找到了解决方案...
花了很多时间进行搜索,但这取决于issue raised on GitHub
从本质上讲,我在设置UserAgentApplication
以使用别人提到的新b2clogin.com域时更改了权限。
尽管此操作无法立即生效,但我收到了与注释中提到的错误相同的消息,因此我必须在配置中设置validateAuthority: false
。
我在下面提供了有关如何设置我的示例的示例。我的ClientID在Azure中与在MSAL.js中相同
var msalConfig = {
auth: {
clientId: "xxxx",
authority: "https://xxxx.b2clogin.com/tfp/xxxx.onmicrosoft.com/B2C_xxxx",
webApi: 'https://xxxx.azurewebsites.net',
b2cScopes: this.appConfig.b2cScopes,
validateAuthority: false
},
cache: {
cacheLocation: "localStorage",
storeAuthStateInCookie: true
}
};
this.clientApplication = new Msal.UserAgentApplication(msalConfig);
希望这会有所帮助!