Browse Source

Enhance OIDC strategy options and add OIDC_SCOPE to environment interface

pull/5981/head
Germán Martín 2 weeks ago
parent
commit
7f7c03aaef
  1. 17
      apps/api/src/app/auth/auth.module.ts
  2. 1
      apps/api/src/services/interfaces/environment.interface.ts

17
apps/api/src/app/auth/auth.module.ts

@ -51,7 +51,16 @@ import { OidcStrategy } from './oidc.strategy';
.map((s) => s.trim()) .map((s) => s.trim())
.filter((s) => s.length > 0); .filter((s) => s.length > 0);
const options: any = { const options: {
authorizationURL?: string;
callbackURL: string;
clientID: string;
clientSecret: string;
issuer?: string;
scope: string[];
tokenURL?: string;
userInfoURL?: string;
} = {
callbackURL: `${configurationService.get( callbackURL: `${configurationService.get(
'ROOT_URL' 'ROOT_URL'
)}/api/auth/oidc/callback`, )}/api/auth/oidc/callback`,
@ -65,7 +74,11 @@ import { OidcStrategy } from './oidc.strategy';
const response = await fetch( const response = await fetch(
`${issuer}/.well-known/openid-configuration` `${issuer}/.well-known/openid-configuration`
); );
const config = await response.json(); const config = (await response.json()) as {
authorization_endpoint: string;
token_endpoint: string;
userinfo_endpoint: string;
};
options.authorizationURL = config.authorization_endpoint; options.authorizationURL = config.authorization_endpoint;
options.issuer = issuer; options.issuer = issuer;

1
apps/api/src/services/interfaces/environment.interface.ts

@ -37,6 +37,7 @@ export interface Environment extends CleanedEnvAccessors {
OIDC_CLIENT_ID: string; OIDC_CLIENT_ID: string;
OIDC_CLIENT_SECRET: string; OIDC_CLIENT_SECRET: string;
OIDC_ISSUER: string; OIDC_ISSUER: string;
OIDC_SCOPE: string;
OIDC_TOKEN_URL: string; OIDC_TOKEN_URL: string;
OIDC_USER_INFO_URL: string; OIDC_USER_INFO_URL: string;
PORT: number; PORT: number;

Loading…
Cancel
Save