UNPKG

@nestjs-cognito/core

Version:
71 lines 3.37 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createCognitoIdentityProviderInstance = exports.createCognitoJwtVerifierInstance = exports.createCognitoJwtExtractorInstance = void 0; const client_cognito_identity_provider_1 = require("@aws-sdk/client-cognito-identity-provider"); const common_1 = require("@nestjs/common"); const aws_jwt_verify_1 = require("aws-jwt-verify"); const cognito_jwt_verifier_adapter_1 = require("../adapters/cognito-jwt-verifier.adapter"); const bearer_jwt_extractor_1 = require("../extractors/bearer-jwt.extractor"); const createCognitoJwtExtractorInstance = (options) => { return options.jwtExtractor || new bearer_jwt_extractor_1.BearerJwtExtractor(); }; exports.createCognitoJwtExtractorInstance = createCognitoJwtExtractorInstance; /** * Creates an instance of CognitoJwtVerifier based on the provided Cognito module options. * @param cognitoModuleOptions - The Cognito module options. * @returns An instance of CognitoJwtVerifier or null if no verifier is specified. */ const createCognitoJwtVerifierInstance = (cognitoModuleOptions) => { const { jwtVerifier, jwtRsaVerifier } = cognitoModuleOptions; if (jwtVerifier) { if (Array.isArray(jwtVerifier)) { return cognito_jwt_verifier_adapter_1.CognitoJwtVerifier.create({ jwtVerifier: aws_jwt_verify_1.CognitoJwtVerifier.create(jwtVerifier), }); } return cognito_jwt_verifier_adapter_1.CognitoJwtVerifier.create({ jwtVerifier: aws_jwt_verify_1.CognitoJwtVerifier.create(jwtVerifier), }); } else if (jwtRsaVerifier) { if (Array.isArray(jwtRsaVerifier)) { return cognito_jwt_verifier_adapter_1.CognitoJwtVerifier.create({ jwtRsaVerifier: aws_jwt_verify_1.JwtVerifier.create(jwtRsaVerifier), }); } return cognito_jwt_verifier_adapter_1.CognitoJwtVerifier.create({ jwtRsaVerifier: aws_jwt_verify_1.JwtVerifier.create(jwtRsaVerifier), }); } return null; }; exports.createCognitoJwtVerifierInstance = createCognitoJwtVerifierInstance; /** * Get the CognitoIdentityProvider instance * @param {CognitoModuleOptions} options - The CognitoModuleOptions * @returns {CognitoIdentityProvider} - The CognitoIdentityProvider instance */ const createCognitoIdentityProviderInstance = (cognitoModuleOptions) => { if (!Boolean(cognitoModuleOptions.identityProvider)) { return null; } return new client_cognito_identity_provider_1.CognitoIdentityProvider(buildConfigurationFromOptions(cognitoModuleOptions.identityProvider, "CognitoIdentityProvider")); }; exports.createCognitoIdentityProviderInstance = createCognitoIdentityProviderInstance; /** * Get the configuration from the CognitoModuleOptions * @param {CognitoModuleOptions} options - The CognitoModuleOptions * @param {string} from - The name from where the configuration is coming from */ function buildConfigurationFromOptions(cognitoModuleOptions, from) { const logger = new common_1.Logger(from); const { region, ...options } = cognitoModuleOptions; if (!Boolean(region)) { logger.warn(`The region is missing in the ${from} configuration`); } return { region: region, ...options, }; } //# sourceMappingURL=cognito.utils.js.map