Ошибка при перенаправлении на конечную точку сервера авторизации OpenID connect
Я получаю сообщение об ошибке всякий раз, когда мое клиентское приложение отправляет запрос на мой сервер авторизации, который использует соединение OpenID (см. снимок экрана ниже).
Я настроил сервер авторизации наhttps://localhost:5001/
. Сервер авторизации работает по назначению, когда я тестировал клиентское приложение Angular, которое нашел в Интернете. Но когда я попробовал это с моим приложением .net core mvc, я получаю вышеупомянутую ошибку. Я настроил свое приложение mvc для подключения OpenId следующим образом:
builder.Services.AddAuthentication(options =>
{
options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = OpenIdConnectDefaults.AuthenticationScheme;
})
.AddCookie()
.AddOpenIdConnect(options =>
{
options.ClientId = "spa_client";
options.ClaimsIssuer = "https://localhost:5001/";
options.Authority = "https://localhost:5001/";
options.ResponseType = OpenIdConnectResponseType.Code;
options.SignedOutRedirectUri = "https://localhost:7077/";
//options.GetClaimsFromUserInfoEndpoint = true;
options.RequireHttpsMetadata = false;
});
builder.Services.AddAuthorization();
Он перенаправляется на конечную точку сервера авторизации.https://localhost:5001
. Тем не менее, я всегда получаю экран ошибки. Рабочая конфигурация Angular для подключения OpenID:
const redirUri = isDevMode()
? 'http://localhost:4200'
: window.location.origin;
const devModeIssuer = 'https://localhost:5001/';
this.oauthService.configure({
clientId: 'spa_client',
issuer: isDevMode()
? devModeIssuer
: window.location.origin + '/',
redirectUri: redirUri,
responseType: 'code',
scope: 'openid roles email server_scope api_scope',
requireHttps: false
});
this.oauthService.events.subscribe(async (e: OAuthEvent) => {
if (e.type === 'token_received' || e.type === 'token_refreshed') {
this.user.loadProfile();
}
if (e.type === 'discovery_document_loaded' && this.oauthService.hasValidAccessToken()) {
this.user.loadProfile();
}
});
this.oauthService.loadDiscoveryDocumentAndLogin({
onTokenReceived: () => {
this.user.loadProfile();
}
});
Где я ошибаюсь?