UNPKG

@rytass/member-base-nestjs-module

Version:

Rytass Member System NestJS Base Module

36 lines (35 loc) 1.17 kB
export interface BaseOAuth2Provider { channel: 'google' | 'facebook' | string; clientId: string; clientSecret: string; redirectUri: string; getState?: () => string | Promise<string>; } export interface GoogleOAuth2Provider extends BaseOAuth2Provider { channel: 'google'; clientId: string; clientSecret: string; redirectUri: string; scope?: string[]; getState?: () => string | Promise<string>; } export interface FacebookOAuth2Provider extends BaseOAuth2Provider { channel: 'facebook'; clientId: string; clientSecret: string; redirectUri: string; scope?: string[]; getState?: () => string | Promise<string>; } export interface CustomOAuth2Provider extends BaseOAuth2Provider { channel: string; clientId: string; clientSecret: string; redirectUri: string; scope: string[]; requestUrl: string; getAccessTokenFromCode: (code: string) => Promise<string>; getAccountFromAccessToken: (accessToken: string) => Promise<string>; getState?: () => string | Promise<string>; } export type OAuth2Provider = GoogleOAuth2Provider | FacebookOAuth2Provider | CustomOAuth2Provider;