From b812909da4ac0b05cb16ff2aba2628949784879c Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Fri, 8 Apr 2022 14:03:10 +0200 Subject: [PATCH] auth-backend: migrate onelogin provider to use resolver context Signed-off-by: Patrik Oldsberg --- .../src/providers/onelogin/provider.ts | 45 ++++--------------- 1 file changed, 8 insertions(+), 37 deletions(-) diff --git a/plugins/auth-backend/src/providers/onelogin/provider.ts b/plugins/auth-backend/src/providers/onelogin/provider.ts index 526d432b82..05699fcb17 100644 --- a/plugins/auth-backend/src/providers/onelogin/provider.ts +++ b/plugins/auth-backend/src/providers/onelogin/provider.ts @@ -41,10 +41,8 @@ import { AuthProviderFactory, AuthHandler, SignInResolver, + AuthResolverContext, } from '../types'; -import { CatalogIdentityClient } from '../../lib/catalog'; -import { Logger } from 'winston'; -import { TokenIssuer } from '../../identity'; type PrivateInfo = { refreshToken: string; @@ -54,25 +52,19 @@ export type Options = OAuthProviderOptions & { issuer: string; signInResolver?: SignInResolver; authHandler: AuthHandler; - tokenIssuer: TokenIssuer; - catalogIdentityClient: CatalogIdentityClient; - logger: Logger; + resolverContext: AuthResolverContext; }; export class OneLoginProvider implements OAuthHandlers { private readonly _strategy: any; private readonly signInResolver?: SignInResolver; private readonly authHandler: AuthHandler; - private readonly tokenIssuer: TokenIssuer; - private readonly catalogIdentityClient: CatalogIdentityClient; - private readonly logger: Logger; + private readonly resolverContext: AuthResolverContext; constructor(options: Options) { this.signInResolver = options.signInResolver; this.authHandler = options.authHandler; - this.tokenIssuer = options.tokenIssuer; - this.catalogIdentityClient = options.catalogIdentityClient; - this.logger = options.logger; + this.resolverContext = options.resolverContext; this._strategy = new OneLoginStrategy( { issuer: options.issuer, @@ -148,12 +140,7 @@ export class OneLoginProvider implements OAuthHandlers { } private async handleResult(result: OAuthResult) { - const context = { - logger: this.logger, - catalogIdentityClient: this.catalogIdentityClient, - tokenIssuer: this.tokenIssuer, - }; - const { profile } = await this.authHandler(result, context); + const { profile } = await this.authHandler(result, this.resolverContext); const response: OAuthResponse = { providerInfo: { @@ -171,7 +158,7 @@ export class OneLoginProvider implements OAuthHandlers { result, profile, }, - context, + this.resolverContext, ); } @@ -218,15 +205,7 @@ export const createOneLoginProvider = (options?: { resolver: SignInResolver; }; }): AuthProviderFactory => { - return ({ - providerId, - globalConfig, - config, - tokenIssuer, - tokenManager, - catalogApi, - logger, - }) => + return ({ providerId, globalConfig, config, resolverContext }) => OAuthEnvironmentHandler.mapConfig(config, envConfig => { const clientId = envConfig.getString('clientId'); const clientSecret = envConfig.getString('clientSecret'); @@ -236,11 +215,6 @@ export const createOneLoginProvider = (options?: { customCallbackUrl || `${globalConfig.baseUrl}/${providerId}/handler/frame`; - const catalogIdentityClient = new CatalogIdentityClient({ - catalogApi, - tokenManager, - }); - const authHandler: AuthHandler = options?.authHandler ? options.authHandler : async ({ fullProfile, params }) => ({ @@ -254,15 +228,12 @@ export const createOneLoginProvider = (options?: { issuer, authHandler, signInResolver: options?.signIn?.resolver, - tokenIssuer, - catalogIdentityClient, - logger, + resolverContext, }); return OAuthAdapter.fromConfig(globalConfig, provider, { disableRefresh: false, providerId, - tokenIssuer, callbackUrl, }); });