Skip to content

Instantly share code, notes, and snippets.

@nuxero
Created March 1, 2017 16:12
Show Gist options
  • Save nuxero/51a4ed43a3f880ab8bae4c79f5ab09d4 to your computer and use it in GitHub Desktop.
Save nuxero/51a4ed43a3f880ab8bae4c79f5ab09d4 to your computer and use it in GitHub Desktop.
var AES = require('crypto-js/aes');
const password = process.env.PASSWORD;
function toHex(encrypted) {
var hex = "";
for (var i = 0; i < encrypted.length; i++) {
hex += encrypted.charCodeAt(i).toString(16)
}
return hex;
}
exports.handler = function(event, context, cb) {
var encrypted = AES.encrypt(`${ event.userName }::${ Date.now() }`, password);
var hexEncrypted = toHex(encrypted.toString());
var link = `https://www.example.com/recover-password/${ hexEncrypted }`;
var msj = "<p>" +
event.request.codeParameter +
"</p>";
var msjConfirm = "<p>" +
event.request.codeParameter +
"</p>";
console.log('userPoolId', event.userPoolId);
console.log('triggerSource', event.triggerSource);
console.log('userName', event.userName);
console.log('response', msj);
if (event.userPoolId === "poolId") {
// Identify why was this function invoked
if (event.triggerSource === "CustomMessage_ForgotPassword") {
// Ensure that your message contains event.request.codeParameter. This is the placeholder for code that will be sent
event.response.smsMessage = "Your confirmation code is " + event.request.codeParameter;
event.response.emailSubject = "Recover your password";
event.response.emailMessage = msj;
}
if (event.triggerSource === "CustomMessage_SignUp" || event.triggerSource === "CustomMessage_ResendCode") {
event.response.smsMessage = "Your confirmation code is " + event.request.codeParameter;
event.response.emailSubject = "Confirm your account";
event.response.emailMessage = msjConfirm;
}
// Create custom message for other events
}
console.log('response',event.response);
// Return result to Cognito
cb(null, event);
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment