我删除了存储帐户,该帐户包含包含 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 新手,所以我确信我错过了一些明显的东西。我只需要模板即可再次工作。
最佳答案
(添加答案以确保完整性。)
Azure AD B2C 使用跨源资源共享 (CORS) 将页面 UI 自定义文件加载到最终用户的浏览器。
如果自定义文件部署到存储帐户,则需要您在存储帐户上允许 CORS,如文档 here 所示。 .
然后您可以测试 CORS 是否已按照记录 here 的要求被允许。 .
关于Azure AD B2C 自定义模板错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46943148/