UNPKG

@rytass/member-base-nestjs-module

Version:

Rytass Member System NestJS Base Module

28 lines (27 loc) 1.17 kB
export type OAuthChannel = 'google' | 'facebook' | (string & {}); export interface BaseOAuth2Provider { channel: OAuthChannel; clientId: string; clientSecret: string; redirectUri: string; getState?: () => string | Promise<string>; } export interface GoogleOAuth2Provider extends BaseOAuth2Provider { channel: 'google'; scope?: string[]; } export interface FacebookOAuth2Provider extends BaseOAuth2Provider { channel: 'facebook'; scope?: string[]; } export interface CustomOAuth2Provider extends BaseOAuth2Provider { channel: string; scope: string[]; requestUrl: string; getAccessTokenFromCode: (code: string) => Promise<string>; getAccountFromAccessToken: (accessToken: string) => Promise<string>; } export type OAuth2Provider = GoogleOAuth2Provider | FacebookOAuth2Provider | CustomOAuth2Provider; export declare const isGoogleProvider: (provider: OAuth2Provider) => provider is GoogleOAuth2Provider; export declare const isFacebookProvider: (provider: OAuth2Provider) => provider is FacebookOAuth2Provider; export declare const isCustomProvider: (provider: OAuth2Provider) => provider is CustomOAuth2Provider;