У меня есть приложение ASP.NET Core, которое использует Azure Active Directory B2C для проверки подлинности, которое я развертываю в экземпляре Google App Engine. В конфигурации моего приложения в AD B2C в качестве URL-адреса перенаправления используется https://<domain>/signin-oid
, но при входе в систему появляется ошибка AADB2C90006
о том, что домен http://<domain>/signin-oid
недействителен. Я не указал http
версию этого URL в моем коде.
Я попытался запустить это локально в моей среде разработки, и оно работает как положено. Я понимаю, что Nginx действует как прокси перед запущенным экземпляром Kestrel, и я настроил SSL в своем экземпляре Kestrel для использования того же сертификата, что и экземпляр App Engine. Я упоминаю об этом, потому что мое подозрение заключается в некотором разъединении между конфигурациями App Engine и Kestrel, хотя и очень неясно, где может быть проблема.
return new WebHostBuilder()
.ConfigureKestrel((context, options) =>
{
if (!string.IsNullOrEmpty(aspEnv) && !string.Equals(aspEnv,"Development"))
{
options.ListenAnyIP(443,opt => opt.UseHttps("myfile.pfx","mypass"));
}
})
У меня также есть эта строка в моей Configure
функции:
app.UseForwardedHeaders(new ForwardedHeadersOptions
{
ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
});