В настоящее время я работаю с этой демонстрацией:
https://developer.okta.com/blog/2018/12/04/angular-7-oidc-oauth2-pkce
Я устанавливаю версию OIDC
Я получаю следующую ошибку:
Доступв XMLHttpRequest по адресу https://dev -979343.oktapreview.com / oauth2 / default / .well-known / openid-configuration 'from origin' http://localhost:4200’ заблокирован политикой CORS: нетЗаголовок «Access-Control-Allow-Origin» присутствует на запрошенном ресурсе.
Я играл с этим в течение последних 3 дней, и мне не удается заставить его работать.
Я использую Angular версии 7.1 (так же, как демо)
Вот мой код:
app.component.html
<h1>Welcome to {{ title }}!</h1>
<div *ngIf="givenName">
<h2>Hi, {{givenName}}!</h2>
<button (click)="logout()">Logout</button>
</div>
<div *ngIf="!givenName">
<button (click)="login()">Login</button>
</div>
<router-outlet></router-outlet>
app.component.ts
import { Component } from '@angular/core';
import { OAuthService, JwksValidationHandler, AuthConfig } from 'angular-oauth2-oidc';
export const authConfig: AuthConfig = {
issuer: 'https://dev-979343.oktapreview.com/oauth2/default',
redirectUri: window.location.origin,
clientId: '0oaka2hty7eVrwEHS0h7'
};
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'ng-secure';
constructor(private oauthService: OAuthService) {
this.oauthService.configure(authConfig);
this.oauthService.tokenValidationHandler = new JwksValidationHandler();
this.oauthService.loadDiscoveryDocumentAndTryLogin();
}
login() {
this.oauthService.initImplicitFlow();
}
logout() {
this.oauthService.logOut();
}
get givenName() {
const claims = this.oauthService.getIdentityClaims();
if (!claims) {
return null;
}
return claims['name'];
}
}
app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { HttpClientModule } from '@angular/common/http';
import { OAuthModule } from 'angular-oauth2-oidc';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
AppRoutingModule,
HttpClientModule,
OAuthModule.forRoot()
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
Любая помощь будет принята с благодарностью,