Hallo Kann mir jemand die Schritte zur Integration von AWS cognito für benutzerdefinierte (Benutzername/Passwort) und Google anmelden? Ich bin in der Lage, das benutzerdefinierte Login ohne Problem zu arbeiten. Ich war in der Lage, den Benutzerpool ohne Probleme zu konfigurieren. Ich wanderte nur über die Veränderungen auf der Client-Seite.Schritte zur Integration von AWS Cognito mit Google und benutzerdefinierte Anmeldung mit React
Ich benutze amazon-cognito-identity-js und aws-sdk-Pakete.
Folgendes ist ein Code-Snippet, das ich benutze. Hier verwende ich einen Parameter, um den Authentifikator zu bestimmen. Es wäre großartig, wenn jemand von Ihnen Feedback geben könnte. Vielen Dank.
export function getAwsCredentials(userToken, type) {
let authenticator = '';
if (type == 'CUSTOM') {
authenticator = `cognito-idp.${config.cognito
.REGION}.amazonaws.com/${config.cognito.USER_POOL_ID}`;
}
else if (type == 'GOOGLE') {
authenticator = 'accounts.google.com';
}
AWS.config.update({ region: config.cognito.REGION });
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
IdentityPoolId: config.cognito.IDENTITY_POOL_ID,
Logins: {
[authenticator]: userToken
}
});
return AWS.config.credentials.getPromise();
}
Dieser Code sieht gut aus für mich. Fragen Sie sich, wie Sie ein 'userToken' von Google bekommen? Oder erhalten Sie ein Google-Token, das Cognito nicht mag? Ist davon auszugehen, dass Sie neben Ihrem Benutzerpool bereits einen Pool für Federated Identity eingerichtet haben? –
Ja Ich habe einen Pool für Verbundidentitäten eingerichtet. Wenn das Token also kommt, kann ich es einfach als Login hinzufügen? Irgendeine Idee, wie man bestimmt, wie ein Benutzer angemeldet ist (von Google oder von Gewohnheit)? –