@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
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>;
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 };