From 5195c2adaa0aa67674efe79052e045652c44d035 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Sat, 29 Jul 2023 11:17:11 +0200 Subject: [PATCH] auth-node: provide passport OAuth helper types Signed-off-by: Patrik Oldsberg --- .../oauth/PassportOAuthAuthenticatorHelper.ts | 21 ++++++++++++++++--- plugins/auth-node/src/oauth/index.ts | 7 ++++++- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/plugins/auth-node/src/oauth/PassportOAuthAuthenticatorHelper.ts b/plugins/auth-node/src/oauth/PassportOAuthAuthenticatorHelper.ts index 7c188435d5..c7fe81c3ee 100644 --- a/plugins/auth-node/src/oauth/PassportOAuthAuthenticatorHelper.ts +++ b/plugins/auth-node/src/oauth/PassportOAuthAuthenticatorHelper.ts @@ -15,7 +15,11 @@ */ import { Strategy } from 'passport'; -import { PassportHelpers, PassportProfile } from '../passport'; +import { + PassportDoneCallback, + PassportHelpers, + PassportProfile, +} from '../passport'; import { OAuthAuthenticatorAuthenticateInput, OAuthAuthenticatorRefreshInput, @@ -24,7 +28,7 @@ import { OAuthProfileTransform, } from './types'; -/** @internal */ +/** @public */ export type PassportOAuthResult = { fullProfile: PassportProfile; params: { @@ -36,6 +40,17 @@ export type PassportOAuthResult = { accessToken: string; }; +/** @public */ +export type PassportOAuthPrivateInfo = { + refreshToken?: string; +}; + +/** @public */ +export type PassportOAuthDoneCallback = PassportDoneCallback< + PassportOAuthResult, + PassportOAuthPrivateInfo +>; + /** @public */ export class PassportOAuthAuthenticatorHelper { static defaultProfileTransform: OAuthProfileTransform = @@ -73,7 +88,7 @@ export class PassportOAuthAuthenticatorHelper { const { result, privateInfo } = await PassportHelpers.executeFrameHandlerStrategy< PassportOAuthResult, - { refreshToken?: string } + PassportOAuthPrivateInfo >(input.req, this.#strategy); return { diff --git a/plugins/auth-node/src/oauth/index.ts b/plugins/auth-node/src/oauth/index.ts index 52c7b859f7..a2de5f4a27 100644 --- a/plugins/auth-node/src/oauth/index.ts +++ b/plugins/auth-node/src/oauth/index.ts @@ -18,7 +18,12 @@ export { createOAuthHandlers, type OAuthHandlersOptions, } from './createOAuthHandlers'; -export { PassportOAuthAuthenticatorHelper } from './PassportOAuthAuthenticatorHelper'; +export { + PassportOAuthAuthenticatorHelper, + type PassportOAuthDoneCallback, + type PassportOAuthPrivateInfo, + type PassportOAuthResult, +} from './PassportOAuthAuthenticatorHelper'; export { createOAuthAuthenticator, type OAuthAuthenticator,