exports.handler = async (event) => {
const AWS = require('aws-sdk');
const cognito = new AWS.CognitoIdentityServiceProvider({apiVersion: '2016-04-18'});
const {userName, request, response} = event;
if (request.userAttributes.hasOwnProperty('email')) {
const email = request.userAttributes.email;
const providerName = 'graph.facebook.com';
const providerAttributeName = 'Facebook';
const providerAttributeValue = request.userAttributes['custom:facebook_id'];
const providerDetails = {[providerAttributeName]: providerAttributeValue};
const params = {
DestinationUser: {
ProviderAttributeName: 'email',
ProviderAttributeValue: email,
ProviderName: 'Cognito'
},
SourceUser: {
ProviderAttributeName: providerAttributeName,
ProviderAttributeValue: providerAttributeValue,
ProviderName: providerName
},
UserPoolId: event.userPoolId
};
const result = await cognito.adminLinkProviderForUser(params).promise();
console.log('Linked account', userName, result);
}
return event;
};
上一篇:AwsCognitoPHPSDK在与MicrosoftActiveDirectory进行SAML身份验证时无法返回自定义属性。
下一篇:AWSCognitoPreTokenGenerationappearstoconvertalltypestostring