UNPKG

@alore/auth-react-native-sdk

Version:
98 lines (90 loc) 2.66 kB
import { PasskeyCreateRequest, PasskeyGetRequest, } from 'react-native-passkey/lib/typescript/PasskeyTypes'; export interface SocialProvider { id: string; authProviderConfigId: string; providerName: string; clientId: string; enabled?: boolean; createdAt: string; updatedAt?: string; } export interface SocialProvider { providerName: string; clientId: string; enabled?: boolean; } /** * Configuration options for Auth Provider. * * @property rpDomain - Optional relying party domain, used for passkey. * @property locale - Optional locale for translation. * @property emailTemplate - Optional email template for authentication-related emails. * @property requireEmailVerification - Optional boolean to require email verification. * @property requireUsername - Optional boolean to require username. * @property passwordMinLength - Optional number for password minimum length. * @property enablePasskeys - Optional boolean to enable passkeys. * @property socialLoginEnabled - Optional boolean to enable social login. * @property privacyPolicyUrl - Optional string for privacy policy URL. * @property termsOfServiceUrl - Optional string for terms of service URL. * @property logoUrl - Optional string for logo URL. * @property socialProviders - Optional social login providers. */ export interface AuthProviderConfig { rpDomain?: string; locale?: 'pt' | 'en'; emailTemplate?: string; requireEmailVerification?: boolean; requireUsername?: boolean; passwordMinLength?: number; enablePasskeys?: boolean; socialLoginEnabled?: boolean; privacyPolicyUrl?: string; termsOfServiceUrl?: string; logoUrl?: string; socialProviders?: SocialProvider[]; } type SessionUser = { createdAt: string; device: string; deviceCreatedAt: string; email: string; id: string; lastLogin: string | null; lastTransaction: string | null; nickname: string; status: string; accessToken: string; refreshToken: string; }; export type TwoFactorAuth = { id: string; name: string | null; twoFaTypeId: number; }; export interface AuthMachineContext { userId?: string; authProviderConfigs?: AuthProviderConfig; salt?: string; error?: Error; active2fa?: TwoFactorAuth[]; sessionId?: string; registerUser?: { email: string; nickname: string; salt?: string; }; googleOtpCode?: string; googleUser?: { email: string; nickname: string }; sessionUser?: SessionUser; CCRPublicKey?: { publicKey: PasskeyGetRequest }; RCRPublicKey?: { publicKey: PasskeyCreateRequest }; credentialEmail?: string; isFirstLogin?: boolean; } interface Error { type: string; message: string; }