Spaces:
Sleeping
Sleeping
File size: 1,925 Bytes
57a889c | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | import { Injectable } from '@nestjs/common';
import type { Request, Response } from 'express';
import * as oidc from '../../services/oidcService';
import { getAppUrl } from '../../services/notifications';
import { resolveAuthToggles } from '../../services/authService';
import { setAuthCookie } from '../../services/cookie';
/**
* Thin Nest wrapper around the existing OIDC service. PKCE state, discovery,
* the strict id_token/JWKS verification, user provisioning and the auth-code
* hand-off all reuse the legacy code unchanged.
*/
@Injectable()
export class OidcService {
oidcLoginEnabled(): boolean { return resolveAuthToggles().oidc_login; }
getOidcConfig() { return oidc.getOidcConfig(); }
getAppUrl() { return getAppUrl(); }
discover(issuer: string, discoveryUrl?: string | null) { return oidc.discover(issuer, discoveryUrl); }
createState(redirectUri: string, inviteToken?: string) { return oidc.createState(redirectUri, inviteToken); }
consumeState(state: string) { return oidc.consumeState(state); }
exchangeCodeForToken(...args: Parameters<typeof oidc.exchangeCodeForToken>) { return oidc.exchangeCodeForToken(...args); }
verifyIdToken(...args: Parameters<typeof oidc.verifyIdToken>) { return oidc.verifyIdToken(...args); }
getUserInfo(endpoint: string, accessToken: string) { return oidc.getUserInfo(endpoint, accessToken); }
findOrCreateUser(...args: Parameters<typeof oidc.findOrCreateUser>) { return oidc.findOrCreateUser(...args); }
touchLastLogin(userId: number) { return oidc.touchLastLogin(userId); }
generateToken(user: { id: number }) { return oidc.generateToken(user); }
createAuthCode(token: string) { return oidc.createAuthCode(token); }
consumeAuthCode(code: string) { return oidc.consumeAuthCode(code); }
frontendUrl(path: string) { return oidc.frontendUrl(path); }
setAuthCookie(res: Response, token: string, req: Request) { setAuthCookie(res, token, req); }
}
|