UNPKG

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