我创建了一个Web应用程序,该应用程序正在使用Azure Active Directory身份验证。
在localhost上一切正常,但是将应用程序发布到Azure时出现以下错误:
AADSTS50011:请求中指定的回复网址与 回复为应用程序配置的URL: '656cc46c-f858-4a45-bf83-698791e052f1'。
我尝试过的事情:
在Azure中,我将相关应用程序的Reply URL配置为:
http://gp-rh.azurewebsites.net/signin-oidc
这是我的appsetting.json:
{
"AzureAd": {
"Instance": "https://login.microsoftonline.com/",
"Domain": "legroupeti.com",
"TenantId": "7c6ff5e2-0660-4b65-9b64-7a78df412819",
"ClientId": "656cc46c-f858-4a45-bf83-698791e052f1",
"CallbackPath": "/signin-oidc"
},
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Warning"
}
}
}
在我的应用程序中,执行登录的控制器设置如下:
[HttpGet]
public IActionResult SignIn() {
var redirectUrl = Url.Action("Index", "Dashboard",
new { date = DateTime.Now, anchor = "period" });
return Challenge(
new AuthenticationProperties { RedirectUri = redirectUrl },
OpenIdConnectDefaults.AuthenticationScheme);
}
我的应用程序的默认页面为/
,该页面重定向到/Dashboard
。
我不知道哪里出了问题,但这仍然行不通。
答案 0 :(得分:1)
redirect_uri
必须完全匹配您的注册URI之一,包括方案(http://
,https://
)。
通常,出于开发目的,您应该仅使用不安全的方案(http
)。对于测试/阶段/生产,应始终使用安全连接(https
)。在这种情况下,绝对没有理由不使用https://gp-rh.azurewebsites.net/signin-oidc
,因为azurewebsites.net
默认支持HTTPS。