我已经在演示中创建了一个简单的模板:
<!DOCTYPE html>
<html>
<head>
<title>Add your title here</title>
</head>
<body>
<h1>My B2C Application</h1>
<div id="api"></div> <!-- Leave this element empty because Azure AD B2C will insert content here. -->
</body>
</html>
这是我的应用服务上托管的文件,位于:
https://<mydomain>.azurewebsites.net/html.signin.html
我已经创建了一个B2C租户,并且一切正常。在我的注册登录策略(B2C_1_aa-signup-signin
)
我已将自定义页面网址设置为:
https://<mydomain>.azurewebsites.net/html.signin.html
但是,即使只是单击我网站上的“注册”按钮也会返回错误:
错误。处理您的请求时出错。
请求ID:| 258cfa9e-4dab035257ed702a。开发模式
切换到开发环境将显示更多详细信息 有关发生的错误的信息。
不应在已部署的环境中启用开发环境 应用程序,因为它可能会导致来自 向最终用户显示异常。对于本地调试, 可以通过设置开发环境来启用 ASPNETCORE_ENVIRONMENT环境变量为Development,并且 重新启动应用程序。
我已在.NET Core 2.1应用程序中使用以下命令设置了CORS:
services.AddCors();
并且:
app.UseCors(opt =>
{
opt.WithOrigins("https://<b2c-tennent-name>.b2clogin.com")
.AllowAnyHeader()
.AllowAnyMethod();
});
从我已阅读的全部内容来看,这是我应该做的所有事情。我一直在尝试在我的网站App Service上找到任何CORS设置,但看不到任何相关信息。
我的网站配置是:
"AzureAdB2C": {
"Instance": "https://<b2c-tennent-name>.b2clogin.com/tfp/",
"ClientId": "<my id>",
"CallbackPath": "/signin-oidc",
"Domain": "<b2c-tennent-name>.onmicrosoft.com",
"SignUpSignInPolicyId": "B2C_1_aa-signup-signin",
"ResetPasswordPolicyId": "B2C_1_aa-password-reset",
"EditProfilePolicyId": "B2C_1_aa-profile-edit"
},
我还在我的Web应用程序上启用了App Insights,但我什至无法解决错误消息。
我想我有两个问题。
接下来我该如何检查配置?
如何找出错误所在? Azure在此主题上似乎完全不透明。我根本不知道该错误。
直到我确定我完全在黑暗中拍摄的问题。据我所知,我偏离the docs的唯一方法是我的html文件托管在我的App Service上,从此文档中托管它是一个完全合法的地方。
此write up准确描述了我所做的一切,但我的登录名完全被破坏了。
在仔细研究了请求之后,我发现它隐藏在OK 200响应中:
AADB2C90006: The redirect URI 'http://<my-app-service>.azurewebsites.net/signin-oidc' provided in the request is not registered for the client id 'b850cee0-f723-47fd-8f2e-c1fa1ec21038'.
但是您只能注册https
答复URL,那么我该如何解决?
答案 0 :(得分:0)
使用HTTPS注册您的回复网址:https://<my-app-service>.azurewebsites.net/signin-oidc
。在azurewebsites.net域下托管的Azure应用服务提供了内置的SSL证书。