UNPKG

@ssktechnologies/awsforge

Version:

Enterprise-grade AWS Cognito authentication toolkit for seamless user management, registration, login, and password recovery with JWT token handling

110 lines (109 loc) 7.56 kB
import { CognitoService, CognitoConfigs } from './services/cognito.js'; import { CognitoConfig, PackageConfig } from './config/packageConfig.js'; import { extractTokens } from "./utils/tokenManager.js"; export * from './types/index.js'; export { CognitoService, CognitoConfigs, CognitoConfig, PackageConfig, extractTokens }; export default function createCognito(config: Partial<CognitoConfig>): { service: CognitoService; configs: { minimal: (baseConfig: Omit<CognitoConfig, "allowedCustomAttributes" | "validateCustomAttributes">) => { allowedCustomAttributes: never[]; validateCustomAttributes: boolean; clientId: string; clientSecret?: string | undefined; userPoolId: string; region: string; }; withCustomAttributes: (baseConfig: Omit<CognitoConfig, "allowedCustomAttributes" | "validateCustomAttributes">, customAttributes: string[]) => { allowedCustomAttributes: string[]; validateCustomAttributes: boolean; clientId: string; clientSecret?: string | undefined; userPoolId: string; region: string; }; permissive: (baseConfig: Omit<CognitoConfig, "allowedCustomAttributes" | "validateCustomAttributes">) => { validateCustomAttributes: boolean; clientId: string; clientSecret?: string | undefined; userPoolId: string; region: string; }; }; utils: { extractTokens: typeof extractTokens; }; register(data: import("./types/index.js").UserRegistrationData): Promise<import("@aws-sdk/client-cognito-identity-provider").SignUpCommandOutput>; login(data: import("./types/index.js").UserLoginData): Promise<import("@aws-sdk/client-cognito-identity-provider").InitiateAuthCommandOutput>; confirmRegistration(data: import("./types/index.js").ConfirmRegistrationData): Promise<import("@aws-sdk/client-cognito-identity-provider").ConfirmSignUpCommandOutput>; forgotPassword(data: import("./types/index.js").ForgotPasswordData): Promise<import("@aws-sdk/client-cognito-identity-provider").ForgotPasswordCommandOutput>; verifyToken(token: string): Promise<import("./types/index.js").TokenVerificationResult>; verifyAccessToken(token: string): Promise<import("./types/index.js").TokenVerificationResult>; verifyIdToken(token: string): Promise<import("./types/index.js").TokenVerificationResult>; getUserFromToken(accessToken: string): Promise<import("./types/index.js").UserProfile>; refreshTokens(refreshToken: string): Promise<import("@aws-sdk/client-cognito-identity-provider").InitiateAuthCommandOutput>; revokeToken(token: string): Promise<import("@aws-sdk/client-cognito-identity-provider").RevokeTokenCommandOutput>; adminCreateUser(data: import("./types/index.js").AdminCreateUserData): Promise<import("@aws-sdk/client-cognito-identity-provider").AdminCreateUserCommandOutput>; adminDeleteUser(params: { username: string; }): Promise<import("@aws-sdk/client-cognito-identity-provider").AdminDeleteUserCommandOutput>; respondToNewPasswordChallenge(data: import("./types/index.js").RespondToNewPasswordChallengeData): Promise<import("@aws-sdk/client-cognito-identity-provider").RespondToAuthChallengeCommandOutput>; }; export declare class AWSForge { private cognitoService; constructor(config: Partial<CognitoConfig>); get cognito(): { register: (registrationData: import("./types/index.js").UserRegistrationData) => Promise<import("@aws-sdk/client-cognito-identity-provider").SignUpCommandOutput>; login: ({ username, password }: { username: string; password: string; }) => Promise<import("@aws-sdk/client-cognito-identity-provider").InitiateAuthCommandOutput>; confirmRegistration: ({ username, confirmationCode }: import("./types/index.js").ConfirmRegistrationData) => Promise<import("@aws-sdk/client-cognito-identity-provider").ConfirmSignUpCommandOutput>; forgotPassword: ({ username }: import("./types/index.js").ForgotPasswordData) => Promise<import("@aws-sdk/client-cognito-identity-provider").ForgotPasswordCommandOutput>; confirmForgotPassword: ({ username, confirmationCode, newPassword }: import("./types/index.js").ConfirmForgotPasswordData) => Promise<import("@aws-sdk/client-cognito-identity-provider").ConfirmForgotPasswordCommandOutput>; changePassword: ({ accessToken, previousPassword, proposedPassword }: import("./types/index.js").ChangePasswordData) => Promise<import("@aws-sdk/client-cognito-identity-provider").ChangePasswordCommandOutput>; deleteUser: (accessToken: string) => Promise<import("@aws-sdk/client-cognito-identity-provider").DeleteUserCommandOutput>; resendConfirmationCode: (username: string) => Promise<import("@aws-sdk/client-cognito-identity-provider").ResendConfirmationCodeCommandOutput>; adminCreateUser: (userData: import("./types/index.js").AdminCreateUserData) => Promise<import("@aws-sdk/client-cognito-identity-provider").AdminCreateUserCommandOutput>; adminDeleteUser: ({ username }: { username: string; }) => Promise<import("@aws-sdk/client-cognito-identity-provider").AdminDeleteUserCommandOutput>; respondToNewPasswordChallenge: ({ username, newPassword, session, }: import("./types/index.js").RespondToNewPasswordChallengeData) => Promise<import("@aws-sdk/client-cognito-identity-provider").RespondToAuthChallengeCommandOutput>; verifyToken: (token: string, skipAudienceCheck?: boolean) => Promise<import("./types/index.js").TokenVerificationResult>; verifyAccessToken: (accessToken: string) => Promise<import("./types/index.js").TokenVerificationResult>; verifyIdToken: (idToken: string) => Promise<import("./types/index.js").TokenVerificationResult>; getUserFromToken: (accessToken: string) => Promise<import("./types/index.js").UserProfile>; refreshTokens: (refreshToken: string, username?: string, accessToken?: string) => Promise<import("@aws-sdk/client-cognito-identity-provider").InitiateAuthCommandOutput>; revokeToken: (token: string) => Promise<import("@aws-sdk/client-cognito-identity-provider").RevokeTokenCommandOutput>; }; get utils(): { extractTokens: typeof extractTokens; }; static get configs(): { minimal: (baseConfig: Omit<CognitoConfig, "allowedCustomAttributes" | "validateCustomAttributes">) => { allowedCustomAttributes: never[]; validateCustomAttributes: boolean; clientId: string; clientSecret?: string | undefined; userPoolId: string; region: string; }; withCustomAttributes: (baseConfig: Omit<CognitoConfig, "allowedCustomAttributes" | "validateCustomAttributes">, customAttributes: string[]) => { allowedCustomAttributes: string[]; validateCustomAttributes: boolean; clientId: string; clientSecret?: string | undefined; userPoolId: string; region: string; }; permissive: (baseConfig: Omit<CognitoConfig, "allowedCustomAttributes" | "validateCustomAttributes">) => { validateCustomAttributes: boolean; clientId: string; clientSecret?: string | undefined; userPoolId: string; region: string; }; }; } export { createCognito }; export { CognitoService as Cognito };