OKTA redirect_uri 中的动态 URL

Dynamic URL in OKTA redirect_uri

在我的 Angular 应用程序中,我使用 @okta/okta-signin-widget 和 okta 客户端 ID。我的要求是使用 window.location.origin 作为 redirect_uri.

import { NgModule } from ‘@angular/core’;
import { AppComponent } from ‘./app.component’;
import { RoutesModule } from ‘./routes/routes.module’;

import { OktaAuthModule } from ‘@okta/okta-angular’;

// Okta configuration
const oktaConfig = {
issuer: ‘https://dev-836625.oktapreview.com/oauth2/default’,
redirectUri: window.location.origin,
clientId: ‘xxxXXXxxXxxx’,
scope: ‘openid profile email’
};

@NgModule({
declarations: [
AppComponent
],
imports: [

OktaAuthModule.initAuth(oktaConfig),
RoutesModule,
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }

登录后 redirect_uri 应该是 window.location.origin,但是 redirect_uri 从 OKTA 小部件返回为 null。请查收附件。

提前致谢!

您是否已在 OKTA 设置中将这些网址列入白名单?

无论如何,我建议您使用 Angular environment 文件来设置此配置:

export const environment = {
  production: true,
  redirectUrl: 'YOUR_URL_FOR_THIS_ENV',
  ...
};

如果您查看浏览器的地址栏,您会发现其中有一个正在发送的 redirect_uri 参数。如果您将此 URI 添加到您的 OIDC 应用程序中的登录重定向 URI,一切都应该有效。