Microsoft Identity Web генерирует http вместо https для redirect_url
У меня есть приложение ASP.NET Core MVC, и я хочу использовать проверку подлинности Azure B2C.
Генерируемый redirect_url вместо этого имеет:
&redirect_uri=**http**%3A%2F%2Fmyapp.com%2Fsignin-oidc
Это должно быть
https
, и это вызывает эту ошибку:
AADSTS50011: URL-адрес ответа, указанный в запросе, не соответствует URL-адресам ответа, настроенным для приложения: «9dbe40e0-7555-4ddf-9c17-b5218ed6ca89».
Мой
appsettings.json
выглядит так:
"AzureAdB2C": {
"Instance": "https://login.microsoftonline.com/",
"Domain": "xxx",
"ClientId": "xxxx",
"TenantId": "xxxx",
"ClientSecret": "xxxx",
"CallbackPath": "/signin-oidc",
"SignedOutCallbackPath ": "/"
}
и мой код в
Startup.cs
вот так:
services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme)
.AddMicrosoftIdentityWebApp(Configuration, "AzureAdB2C");
По какой-то причине это отлично работает на моей машине dev с localhost (redirect_url=https), но на сервере всегда
http
.
Любые идеи? Это сводило меня с ума весь день
1 ответ
Спасибо за помощь, ребята!
Оказывается, это было вызвано тем, что у меня не было привязки HTTPS в IIS.
Я заходил на сайт через HTTPS, поэтому не знаю, как IIS это разрешил, но добавление привязки HTTPS устранило проблему redirect_uri.