Estoy usando AWS Amplify para agregar la firma social. Con google me sale el correo del usuario pero falta en facebook.
Este es mi código:
federatedSignIn(provider: any): void { switch (provider) { case 'facebook': console.log("Authenticating using Facebook"); Auth.federatedSignIn({ provider: CognitoHostedUIIdentityProvider.Facebook }); break; case 'google': console.log("Authenticating using Google"); Auth.federatedSignIn({ provider: CognitoHostedUIIdentityProvider.Google }); break; } }Esto es lo que Lambda "Preinscripción" ve como un evento.
{ "version": "1", "region": "us-east-1", "userPoolId": "us-east-xxxxxx", "userName": "Facebook_123456", "callerContext": { "awsSdkVersion": "aws-sdk-unknown-unknown", "clientId": "123456abcd" }, "triggerSource": "PreSignUp_ExternalProvider", "request": { "userAttributes": { "email_verified": "false", "cognito:email_alias": "", "phone_number_verified": "false", "cognito:phone_number_alias": "" }, "validationData": {} }, "response": { "autoConfirmUser": false, "autoVerifyEmail": false, "autoVerifyPhone": false } }El problema era con <amplify-facebook-button> ya que usa el flujo de trabajo del grupo de identidades en lugar del flujo de trabajo del grupo de usuarios. La creación de un botón personalizado con federatedSignIn() funcionó.
<button slot="federated-buttons" (click)=customSignIn()>Facebook</button> customSignIn(): void{ Auth.federatedSignIn({provider: CognitoHostedUIIdentityProvider.Facebook }); }Más información: https://github.com/aws-amplify/amplify-js/issues/8823