我删除了我的存储帐户,该帐户包含包含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的新手,所以我确信我错过了一些明显的东西。我只需要模板再次工作。
答案 0 :(得分:9)
(为完整性添加答案。)
Azure AD B2C使用跨源资源共享(CORS)将页面UI自定义文件加载到最终用户的浏览器。
如果将自定义文件部署到存储帐户,则需要您在存储帐户上允许CORS,如文档here所示。
您可以根据记录的here测试是否允许使用CORS。
答案 1 :(得分:0)
我有同样的问题。解决方案是在Web应用程序的设置中输入“ *”。这是因为在您的登录页面调用之后,您首先进入“ b2clogin.com”,然后使用特定设置自动返回到您的Web应用程序。但是,如果未设置“ CORS”设置,则从“ b2clogin.com”到应用的重定向将受到限制。
希望对您有帮助。