问题的解决方法主要是在代码中添加一个API授权令牌,然后在OKTA配置中正确设置这个API令牌。
步骤如下:
代码示例:
import { OktaAuthModule } from '@okta/okta-angular';
import { HttpClientModule } from '@angular/common/http';
import { AppComponent } from './app.component';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
HttpClientModule,
OktaAuthModule.initAuth({
issuer: 'https://{yourOktaDomain}/oauth2/default',
redirectUri: 'http://localhost:4200/implicit/callback',
clientId: '{yourClientId}',
pkce: true,
scopes: ['openid', 'profile', 'email'],
postLogoutRedirectUri: 'http://localhost:4200'
}),
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
在OKTA管理后台中,点击“API & Services”然后点击“Add API Token”。然后在角色配置中配置所需的角色和访问策略,以确保API令牌可以访问所需的资源。
import { Component, OnInit } from '@angular/core';
import { OktaAuthService } from '@okta/okta-angular';
@Component({
selector: