Ошибка консоли отладки:
Код: Выделить всё
Validating access_token failed, wrong state/nonce. **- null - "app"** oidc-Error: {"type":"invalid_nonce_in_state","reason":null,"params":null}Реализация отлично работает в браузере настольного компьютера, включая Safari, Edge, Firefox...
Инициализация oidc в моем main.ts.
Код: Выделить всё
const oidcInitializer = async () => {
const oauthService = inject(OAuthService);
oauthService.configure(authConfig);
await oauthService.loadDiscoveryDocumentAndTryLogin().then(() => {
if (!oauthService.hasValidAccessToken()) {
oauthService.initLoginFlow();
}
}).catch(() => {
return Promise.resolve();
});
};
bootstrapApplication(AppComponent, {
providers: [
importProvidersFrom(BrowserModule, ReactiveFormsModule),
{
provide: ErrorHandler,
useClass: GlobalErrorHandler,
},
provideHttpClient(),
provideOAuthClient(),
provideAppInitializer(oidcInitializer),
provideRouter([
{
path: '',
component: MainComponent,
canActivate: [AuthGuard],
resolve: {state: StateResolver}
},
.
.
.
Код: Выделить всё
export const authConfig: AuthConfig = {
issuer: environment.issuer,
redirectUri: window.location.origin,
logoutUrl: 'https://XXX/LogoutPage.html',
postLogoutRedirectUri: window.location.origin,
clientId: environment.clientId,
responseType: 'code',
scope: environment.scope,
showDebugInformation: false,
oidc: true,
strictDiscoveryDocumentValidation: false,
};
В чем причина ошибки или почему вызовы validateNonce с неправильными значениями включаются в браузере приложений на iOS, а не на настольном компьютере?
Как это можно исправить или реализовать по-другому, чтобы они работали должным образом?
Подробнее здесь: https://stackoverflow.com/questions/798 ... e-in-state
Мобильная версия