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.

Другие вопросы по тегам