Я установил Identity Server 4 и мое приложение на одном сервере, который запускается IIS.
Затем я настроил прокси-сервер для скрытия приложений с использованием SSL-разгрузки.
По какой-то неизвестной причине, когда я пытаюсь войти в свое приложение, меня отправляют на неправильное доменное имя.Пример.
У меня есть https://IDS.com & https://myapplication.com
Когда я открываю myapplication.com и пытаюсь получить доступ к странице, требующей аутентификации, я должен быть перенаправлен на https://IDS.com/connect/authorize...
вместо этого он пытается отправить меня на https://myapplication.com/connect/authorize..., что выдает ошибку 404.Однако если я сохраню URL в браузере и переключу имя домена на IDS.com, оно будет работать, как и ожидалось.
Есть ли способ заставить идентификаторы запрашивать правильное имя домена?
Iнемного повозился с моими правилами переписывания iis, чтобы посмотреть, смогу ли я это сделать.Я был почти успешен в том, что я мог перенаправить его на свой сервер идентификации вместо своего приложения для авторизации.Тем не менее, доменное имя остается прежним, и ни один из CSS или javascript не работает.Так что обойти это не стоит.
`.AddOpenIdConnect (AuthorizationConsts.OidcAuthenticationScheme, параметры
=> {
options.SignInScheme = "Cookies";
options.Authority = "http://DNS:5000";//DNS for IDS
options.RequireHttpsMetadata = false;
options.ClientId = AuthorizationConsts.OidcClientId;
//https://IDS.com gives me 403 error so i'm using the DNS:{Port}
options.Scope.Clear();
options.Scope.Add(AuthorizationConsts.ScopeOpenId);
options.Scope.Add(AuthorizationConsts.ScopeProfile);
options.Scope.Add(AuthorizationConsts.ScopeEmail);
options.Scope.Add(AuthorizationConsts.ScopeRoles);
options.SaveTokens = true;
options.TokenValidationParameters = new TokenValidationParameters
{
NameClaimType = JwtClaimTypes.Name,
RoleClaimType = JwtClaimTypes.Role,
};
options.Events = new OpenIdConnectEvents
{
OnMessageReceived = OnMessageReceived,
OnRedirectToIdentityProvider = OnRedirectToIdentityProvider
};
Как указано, ожидаемый результат заключается в изменении имени доменас https://myapplication.com => https://IDS.com, чтобы сайт мог надлежащим образом аутентифицировать пользователей и избежать http 404