UNPKG

strapi-plugin-firebase-authentication

Version:

Allows easy integration between clients utilizing Firebase for authentication and Strapi

187 lines (186 loc) 7.71 kB
/// <reference types="lodash" /> declare const _default: { settingsService: ({ strapi }: { strapi: any; }) => { init(): Promise<void>; getFirebaseConfigJson(): Promise<{ firebaseConfigJson: any; firebaseWebApiKey: any; passwordRequirementsRegex: any; passwordRequirementsMessage: any; passwordResetUrl: any; passwordResetEmailSubject: any; enableMagicLink: any; magicLinkUrl: any; magicLinkEmailSubject: any; magicLinkExpiryHours: any; emailVerificationUrl: any; emailVerificationEmailSubject: any; includeCredentialsInPasswordResetLink: any; includeCredentialsInVerificationLink: any; }>; setFirebaseConfigJson(requestBody: any): Promise<any>; delFirebaseConfigJson: () => Promise<any>; updateMagicLinkSettings(settings: any): Promise<{ enableMagicLink: any; magicLinkUrl: any; magicLinkEmailSubject: any; magicLinkExpiryHours: any; }>; encryptJson(key: string, json: string): Promise<any>; decryptJson(key: string, hash: string): Promise<any>; restart(): Promise<void>; }; userService: ({ strapi }: { strapi: any; }) => { get: (entityId: string) => Promise<any>; create: (payload: any) => Promise<any>; register: (userID: any, payload: any) => Promise<void>; list: (pagination: any, nextPageToken: any, sort: any, searchQuery: any) => Promise<{ data: any; pageToken: any; meta: { pagination: any; }; }>; updateFirebaseUser: (entityId: any, payload: any) => Promise<any>; update: (entityId: any, payload: any) => Promise<[PromiseSettledResult<any>, PromiseSettledResult<any>]>; resetPasswordFirebaseUser: (entityId: any, payload: any) => Promise<any>; resetPasswordStrapiUser: (entityId: any, payload: any) => Promise<any>; resetPassword: (entityId: any, payload: any) => Promise<[PromiseSettledResult<any>, PromiseSettledResult<any>]>; delete: (entityId: any) => Promise<[PromiseSettledResult<any>, PromiseSettledResult<any>]>; deleteFirebaseUser: (entityId: any) => Promise<any>; deleteStrapiUser: (entityId: any) => Promise<any>; deleteMany: (entityIDs: any) => Promise<any>; setSocialMetaData(): Promise<void>; sendPasswordResetEmail: (entityId: string) => Promise<any>; sendPasswordResetEmailByEmail: (email: string) => Promise<{ success: boolean; message: string; }>; resetPasswordWithToken: (token: string, newPassword: string) => Promise<{ success: boolean; message: string; }>; sendVerificationEmail: (entityId: string) => Promise<any>; }; firebaseService: ({ strapi }: { strapi: any; }) => { getUserAttributes(): Promise<any>; delete: (entityId: any) => Promise<{ success: boolean; }>; validateExchangeTokenPayload: (requestPayload: any) => Promise<any>; decodeIDToken: (idToken: any) => Promise<any>; overrideFirebaseAccess: (overrideUserId: string, populate?: string[]) => Promise<{ user: any; jwt: any; }>; checkIfUserExists(decodedToken: any): Promise<any>; fetchUser: (decodedToken: any) => Promise<any>; generateJWTForCurrentUser: (user: any) => Promise<any>; createStrapiUser(decodedToken: any, idToken: any, profileMetaData: any): Promise<any>; validateFirebaseToken: (idToken: string, profileMetaData?: any, populate?: string[]) => Promise<{ user: any; jwt: any; }>; emailLogin: (email: string, password: string, populate?: string[]) => Promise<{ user: any; jwt: any; }>; forgotPassword: (email: string) => Promise<{ message: string; }>; resetPassword: (password: string, user: any, populate: any[]) => Promise<{ user: any; jwt: any; }>; requestMagicLink(email: string): Promise<{ debug: { linkSent: any; email: string; message: any; }; success: boolean; message: string; requiresFrontend: boolean; verificationUrl: any; } | { success: boolean; message: string; requiresFrontend: boolean; verificationUrl: any; }>; sendVerificationEmail(email: string): Promise<{ message: string; }>; verifyEmail(token: string): Promise<{ success: boolean; message: string; }>; checkPassword(user: any, password: string): Promise<{ valid: boolean; }>; }; templateService: ({ strapi }: { strapi: any; }) => { getTemplate(templateType: import("../templates/types").TemplateType): Promise<import("../templates/types").EmailTemplate>; compileTemplate(templateString: string): import("lodash").TemplateExecutor; validateVariables(variables: Partial<import("../templates/types").TemplateVariables>, required: string[]): void; }; emailService: ({ strapi }: { strapi: any; }) => { sendTemplatedEmail(to: string, templateType: import("../templates/types").TemplateType, variables: Partial<import("../templates/types").TemplateVariables>): Promise<void>; sendPasswordResetEmail(user: any, resetLink: string): Promise<{ success: boolean; message: string; }>; sendMagicLinkEmail(email: string, magicLink: string, config: any): Promise<{ success: boolean; message: string; }>; sendPasswordChangedEmail(user: any): Promise<{ success: boolean; message: string; }>; sendVerificationEmail(user: any, verificationLink: string): Promise<{ success: boolean; message: string; }>; }; firebaseUserDataService: ({ strapi }: { strapi: any; }) => { findOrCreateForUser(userId: string): Promise<any>; getByFirebaseUID(firebaseUID: string): Promise<any>; updateForUser(userId: string, data: { firebaseUserID?: string; appleEmail?: string; }): Promise<any>; }; autoLinkService: { linkAllUsers(strapi: import("@strapi/types/dist/core").Strapi): Promise<import("./autoLinkService").LinkResult>; }; firebaseStrapiLinkService: ({ strapi }: { strapi: any; }) => { buildUserMap(): Promise<Map<any, any>>; linkFirebaseUsers(firebaseUsers: any[], uidToUserMap: Map<string, any>, allStrapiUsers: any[]): any[]; }; tokenService: ({ strapi }: { strapi: any; }) => { generateResetToken(firebaseUserDataDocumentId: string): Promise<string>; validateResetToken(token: string): Promise<import("./tokenService").TokenValidationResult>; invalidateResetToken(firebaseUserDataDocumentId: string): Promise<void>; generateVerificationToken(firebaseUserDataDocumentId: string, email: string): Promise<string>; validateVerificationToken(token: string): Promise<import("./tokenService").VerificationTokenValidationResult>; invalidateVerificationToken(firebaseUserDataDocumentId: string): Promise<void>; }; }; export default _default;