Azure AD B2C自定义模板错误

时间:2017-10-25 22:44:10

标签: azure user-interface customization azure-ad-b2c policy

我删除了我的存储帐户,该帐户包含包含B2C登录/注册政策自定义UI文件的文件夹。意识到我的错误,我创建了一个新的存储帐户并上传了策略文件。我更新了策略配置中的路径。现在,当点击登录时,我得到的不是Microsoft表单:

处理请求时发生未处理的异常。

InvalidOperationException: Invalid non-ASCII or control character in header: 0x000D
Microsoft.AspNetCore.Server.Kestrel.Internal.Http.FrameHeaders.ThrowInvalidHeaderCharacter(char ch)

我在OpenIdConnectOptionsSetup_OnRemoteFailure中设置了一个断点,上下文异常显示:

Message contains error: 'server_error', error_description:
'AADB2C90047: The resource 'https://{StorageAccount}.blob.core.windows.net/loginui/customlogin.html' contains script errors preventing it from being loaded.
Correlation ID: fc9f9ac5-14bc-4af4-992c-a2cf0050316d
Timestamp: 2017-10-24 15:10:00Z', error_uri: 'error_uri is null'.

但是,当模板看起来像这样时,这个错误没有多大意义:

<!DOCTYPE html>
<html>
   <head>
       <title>!Add your title here!</title>
   </head>
   <body>
       <div id="api"></div>
   </body>
</html>

我是Azure的新手,所以我确信我错过了一些明显的东西。我只需要模板再次工作。

2 个答案:

答案 0 :(得分:9)

(为完整性添加答案。)

Azure AD B2C使用跨源资源共享(CORS)将页面UI自定义文件加载到最终用户的浏览器。

如果将自定义文件部署到存储帐户,则需要您在存储帐户上允许CORS,如文档here所示。

您可以根据记录的here测试是否允许使用CORS。

答案 1 :(得分:0)

我有同样的问题。解决方案是在Web应用程序的设置中输入“ *”。这是因为在您的登录页面调用之后,您首先进入“ b2clogin.com”,然后使用特定设置自动返回到您的Web应用程序。但是,如果未设置“ CORS”设置,则从“ b2clogin.com”到应用的重定向将受到限制。

希望对您有帮助。