Ich erstelle einen Back-End-Dienst, und ich verwende AWS Cognito. Momentan verwende ich meine authentifizierten Entwickleridentitäten. So kann sich mein Benutzer mit meinem eigenen System anmelden. Dieser Teil ist fertig.Überprüfen Sie die Benutzeridentität mithilfe von cognito
Allerdings habe ich Probleme, den Benutzer nach der Anmeldung zu authentifizieren. Angenommen, der Benutzer sendet mir eine Anfrage, um auf eine private Funktion meiner API zuzugreifen. Wie kann ich diesen Benutzer identifizieren und authentifizieren?
Wenn ich facebook als Login-Provider verwende, kann ich den http-Header mit seiner Cognito ID und seinem Facebook Access Token erfüllen. Dann kann ich ihn authentifizieren und versuchen, ein Cognito Token mit der Funktion GetOpenIdTokenRequest zu erhalten.
werde ich so etwas wie
providerTokens.put("graph.facebook.com", "xxxxxxxxxxxx");
tokenRequest.setLogins(providerTokens);
AmazonCognitoIdentityClient identityClient = new AmazonCognitoIdentityClient();
identityClient.setRegion(RegionUtils.getRegion(Configuration.REGION));
GetOpenIdTokenResult tokenResp = identityClient.getOpenIdToken(tokenRequest);
Allerdings habe ich verwende Facebook nicht.
Also habe ich versucht, einige so etwas wie dieses
providerTokens.put("customdeveloper.authentication.com", "xxxxxxxxxxxx");
tokenRequest.setLogins(providerTokens);
einen Fehler bekommen, dass meine Entwickler-Authentifizierung keine öffentliche Anbieter.
Ich bin ziemlich verwirrt, wenn ich in die richtige Richtung gehe. Ich möchte im Grunde meinen Benutzer authentifizieren. Etwas Ähnliches wie oauth2, wo ich ein Token erhalte, kann die Benutzeridentität überprüfen.
Wie ist es mit Cognito richtig?