将B2C重定向网址设置为b2clogin.com时,在哪里可以将validateAuthority设置为false?

时间:2018-11-02 16:13:04

标签: azure azure-ad-b2c msal

根据Set redirect URLs to b2clogin.com文档,我们需要将validateAuthority标记为false

您知道下面的代码应该放在哪里吗?是startup.cs吗?

this.clientApplication = new UserAgentApplication( env.auth.clientId, env.auth.loginAuthority, this.authCallback.bind(this), { validateAuthority: false } );

2 个答案:

答案 0 :(得分:0)

该文档的关键在于,在实例化MSAL时,无论您使用的是哪种形式的特定MSAL库,都应将ValidateAuthority设置为false。

文档中的代码段专门用于MSAL.js,该代码段可能用于单页应用程序(SPA),该代码将在the top-level init code in index.html中使用。

对于C#Web应用程序(假设您对startup.cs的提及就是您感兴趣的内容

答案 1 :(得分:0)

当您尝试使用具有b2clogin.com端点的B2C帐户登录此应用程序时,会出现以下错误消息:这种类型的授权不支持授权验证。它显示如下屏幕截图:

enter image description here

解决方案:

如Saca所说,应将MSAL客户端的ValidateAuthority属性设置为false

对于this ASP.NET Web App,我们可以通过将ValidateAuthority文件中的Startup.Auth.cs属性添加到OnAuthorizationCodeReceived event handler中来进行更改:

 ConfidentialClientApplication cca = new ConfidentialClientApplication(ClientId, Authority, RedirectUri, new ClientCredential(ClientSecret), userTokenCache, null) { ValidateAuthority = false} ;

TasksController.cs文件中,您也可以在此处进行设置:

 ConfidentialClientApplication cca = new ConfidentialClientApplication(Startup.ClientId, Startup.Authority, Startup.RedirectUri, new ClientCredential(Startup.ClientSecret), userTokenCache, null) { ValidateAuthority = false} ;