@nestjs-cognito/core
Version:
Cognito Provider for NestJS
71 lines • 3.37 kB
JavaScript
;
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