根据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 } );
答案 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帐户登录此应用程序时,会出现以下错误消息:这种类型的授权不支持授权验证。它显示如下屏幕截图:
如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} ;