diff --git a/src/handlers/interfaces.ts b/src/handlers/interfaces.ts index 35d7ec55..3a97527c 100644 --- a/src/handlers/interfaces.ts +++ b/src/handlers/interfaces.ts @@ -386,6 +386,7 @@ export interface SubVerifierDetails { hash?: string; queryParameters?: TorusGenericObject; customState?: TorusGenericObject; + redirectOverride?: (args: any) => string; } export interface CreateHandlerParams { diff --git a/src/login.ts b/src/login.ts index 8ad356ec..71133491 100644 --- a/src/login.ts +++ b/src/login.ts @@ -122,7 +122,7 @@ class CustomAuth { } async triggerLogin(args: SingleLoginParams): Promise { - const { verifier, typeOfLogin, clientId, jwtParams, hash, queryParameters, customState, registerOnly } = args; + const { verifier, typeOfLogin, clientId, jwtParams, hash, queryParameters, customState, registerOnly, redirectOverride } = args; log.info("Verifier: ", verifier); if (!this.isInitialized) { throw new Error("Not initialized yet"); @@ -132,7 +132,7 @@ class CustomAuth { typeOfLogin, clientId, verifier, - redirect_uri: this.config.redirect_uri, + redirect_uri: redirectOverride ? redirectOverride({ state: customState, clientId, jwtParams }) : this.config.redirect_uri, redirectToOpener: this.config.redirectToOpener, jwtParams, uxMode: this.config.uxMode,