@ssktechnologies/awsforge
Version:
Enterprise-grade AWS Cognito authentication toolkit for seamless user management, registration, login, and password recovery with JWT token handling
97 lines (96 loc) • 6.42 kB
TypeScript
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>;
};
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 }: import("./types/index.js").UserLoginData) => 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>;
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 };