@ssktechnologies/awsforge
Version:
Enterprise-grade AWS Cognito authentication toolkit for seamless user management, registration, login, and password recovery with JWT token handling
54 lines (53 loc) • 3.64 kB
TypeScript
import { CognitoConfig } from '../config/packageConfig.js';
import { UserRegistrationData, UserLoginData, ForgotPasswordData, ConfirmRegistrationData, TokenVerificationResult, UserProfile, ChangePasswordData, ConfirmForgotPasswordData } from "../types/index.js";
export declare class CognitoService {
private config;
private client;
private jwksClient;
constructor(userConfig?: Partial<CognitoConfig>);
private generateSecretHash;
private validateCustomAttributes;
private buildUserAttributes;
verifyToken(token: string, skipAudienceCheck?: boolean): Promise<TokenVerificationResult>;
verifyAccessToken(accessToken: string): Promise<TokenVerificationResult>;
verifyIdToken(idToken: string): Promise<TokenVerificationResult>;
getUserFromToken(accessToken: string): Promise<UserProfile>;
private extractUsernameFromToken;
private getSubFromAccessToken;
refreshTokens(refreshToken: string, username?: string, accessToken?: string): Promise<import("@aws-sdk/client-cognito-identity-provider").InitiateAuthCommandOutput>;
refreshTokensWithUsername(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>;
changePassword({ accessToken, previousPassword, proposedPassword }: ChangePasswordData): Promise<import("@aws-sdk/client-cognito-identity-provider").ChangePasswordCommandOutput>;
confirmForgotPassword({ username, confirmationCode, newPassword }: ConfirmForgotPasswordData): Promise<import("@aws-sdk/client-cognito-identity-provider").ConfirmForgotPasswordCommandOutput>;
resendConfirmationCode(username: string): Promise<import("@aws-sdk/client-cognito-identity-provider").ResendConfirmationCodeCommandOutput>;
deleteUser(accessToken: string): Promise<import("@aws-sdk/client-cognito-identity-provider").DeleteUserCommandOutput>;
registerUser(registrationData: UserRegistrationData): Promise<import("@aws-sdk/client-cognito-identity-provider").SignUpCommandOutput>;
confirmUserRegistration({ username, confirmationCode }: ConfirmRegistrationData): Promise<import("@aws-sdk/client-cognito-identity-provider").ConfirmSignUpCommandOutput>;
loginUser({ username, password }: UserLoginData): Promise<import("@aws-sdk/client-cognito-identity-provider").InitiateAuthCommandOutput>;
initiateForgotPassword({ username }: ForgotPasswordData): Promise<import("@aws-sdk/client-cognito-identity-provider").ForgotPasswordCommandOutput>;
}
export declare const CognitoConfigs: {
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;
};
};