strapi-plugin-firebase-authentication
Version:
Allows easy integration between clients utilizing Firebase for authentication and Strapi
179 lines (178 loc) • 6.81 kB
TypeScript
/// <reference types="koa" />
declare const _default: {
register: ({ strapi }: {
strapi: import("@strapi/types/dist/core").Strapi;
}) => void;
bootstrap: ({ strapi }: {
strapi: import("@strapi/types/dist/core").Strapi;
}) => Promise<void>;
destroy: ({ strapi }: {
strapi: import("@strapi/types/dist/core").Strapi;
}) => void;
config: {
default: ({ env }: {
env: any;
}) => {
firebaseJsonEncryptionKey: any;
};
validator(config: import("./config").FirebaseAuthConfig): void;
};
controllers: {
firebaseController: {
validateToken(ctx: any): Promise<void>;
createAlias(ctx: any): Promise<void>;
deleteByEmail(email: any): Promise<any>;
overrideAccess(ctx: any): Promise<void>;
};
userController: {
list: (ctx: import("koa").DefaultContext | import("koa").Context) => Promise<void>;
create: (ctx: any) => Promise<void>;
get: (ctx: any) => Promise<void>;
update: (ctx: any) => Promise<void>;
delete: (ctx: import("koa").DefaultContext | import("koa").Context) => Promise<void>;
deleteMany: (ctx: any) => Promise<void>;
resetPassword: (ctx: any) => Promise<void>;
};
settingsController: {
setToken: (ctx: import("koa").DefaultContext | import("koa").Context) => Promise<void>;
setFirebaseConfigJson: (ctx: import("koa").DefaultContext | import("koa").Context) => Promise<void>;
getFirebaseConfigJson: (ctx: import("koa").DefaultContext | import("koa").Context) => Promise<any>;
delFirebaseConfigJson(ctx: import("koa").DefaultContext | import("koa").Context): Promise<void>;
restart(ctx: import("koa").DefaultContext | import("koa").Context): Promise<any>;
};
};
routes: {
admin: {
type: string;
routes: {
method: string;
path: string;
handler: string;
config: {
policies: any[];
};
}[];
};
"content-api": {
type: string;
routes: {
method: string;
path: string;
handler: string;
config: {
policies: any[];
};
}[];
};
"content-internal-api": {
routes: {
method: string;
path: string;
handler: string;
config: {
policies: any[];
};
}[];
};
};
services: {
settingsService: ({ strapi }: {
strapi: any;
}) => {
init(): Promise<void>;
getFirebaseConfigJson(): Promise<{
firebaseConfigJson: any;
}>;
setFirebaseConfigJson(ctx: import("koa").DefaultContext | import("koa").Context): Promise<any>;
delFirebaseConfigJson: () => Promise<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) => Promise<{
data: any;
pageToken: any;
meta: {
pagination: any;
};
}>;
updateFirebaseUser: (entityId: any, payload: any) => Promise<any>;
update: (entityId: any, payload: any) => Promise<[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>;
};
firebaseService: ({ strapi }: {
strapi: any;
}) => {
getUserAttributes(): Promise<any>;
delete: (entityId: any) => Promise<{
success: boolean;
}>;
validateExchangeTokenPayload: (requestPayload: any) => Promise<any>;
decodeIDToken: (idToken: any) => Promise<any>;
overrideFirebaseAccess: (ctx: any) => Promise<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>;
updateUserIDToken: (user: any, idToken: any, decodedToken: any) => Promise<any>;
validateFirebaseToken: (ctx: any) => Promise<{
error: any;
user?: undefined;
jwt?: undefined;
} | {
user: {
id: import("@strapi/types/dist/data").ID;
} & {
[key: string]: any;
};
jwt: any;
error?: undefined;
}>;
};
};
contentTypes: {
"firebase-authentication-configuration": {
schema: {
kind: string;
collectionName: string;
info: {
singularName: string;
pluralName: string;
displayName: string;
};
options: {
draftAndPublish: boolean;
};
pluginOptions: {
"content-manager": {
visible: boolean;
};
"content-type-builder": {
visible: boolean;
};
};
attributes: {
firebase_config_json: {
type: string;
};
};
};
};
};
policies: {};
middlewares: {};
};
export default _default;