Ich benutze AWS Lambda + Cognito (Benutzerpool + Federated Identity) + API-Gateway. Benutzer authentifizieren sich in der WEB-Anwendung mit amazon-cognito-identity-js und rufen die API mit aws-api-gateway-client auf. API-Gateway-Methoden haben AWS_IAM-Autorisierung. Wie bekomme ich den Benutzernamen (aus dem Benutzerpool) in der Lambda-Funktion?Wie erhalten Sie den aktuellen Benutzernamen in AWS Lambda?
-1
A
Antwort
0
Ändern Sie die an Ihre Lambda-Funktion gesendete Anforderung mit aws-api-gateway-client
, um den JWT AccessToken
in der Kopfzeile zu übergeben. Möglicherweise müssen Sie ensure your API gateway is configured to pass headers.
Sie sollten diese Token mit einem gemeinsamen geheimen Schlüssel für einen externen Dienst verschlüsseln. Sie müssen es dann in der Lambda-Handler-Funktion dekodieren.
apigClient.invokeApi(
params,
pathTemplate,
method,
{ { headers: { accessToken } } },
body);
Beachten Sie, dassusing the AccessToken
makes sense here da wir über andere Details für den Benutzer nicht gestört werden.
Ein AccessToken
wird nach Authentifizierung mit amazon-cognito-identity-js
abgerufen.
Sie können dieses Feld in der Kopfzeile der Anforderung in Ihrer Lambda-Handler-Funktion analysieren.
import { util } from 'aws-sdk/global';
exports.handler = function(event, context) {
// parse access Token from request header
const headers = event.headers;
const payload = headers.accessToken.split('.')[1];
const { username } = JSON.parse(
util.base64.decode(
payload
)
.toString('utf8')
);
...
};
Verwandte Themen
- 1. So erhalten Sie den aktuellen Benutzernamen in Smack
- 2. Erhalten Sie den Benutzernamen des authentifizierten (bestätigten) Benutzers auf Lambda?
- 3. Gibt es eine Möglichkeit, den Cognito-Benutzernamen in AWS Lambda zu erhalten?
- 4. Erhalten Sie den vollständigen Benutzernamen einen neuen Benutzernamen
- 5. Wie Sie den Benutzernamen in gitbash
- 6. Kann nur den aktuellen Benutzernamen von Firebase
- 7. Erhalten Sie Facebook-Zugriffs-Token in AWS Cognito und Lambda
- 8. Wie erhalten Sie Leistungsstatistiken der aufgerufenen AWS-Lambda-Aufgabe?
- 9. Wie bearbeiten Sie Knotenmodule in aws Lambda?
- 10. Wie erhalte ich den aktuellen Benutzer von einem AWS AppStream?
- 11. Wie implementieren Sie Bower in AWS Lambda?
- 12. Wie bekomme ich den aktuellen Benutzernamen von Windows in silverlight?
- 13. Anzeige aktuellen angemeldeten Benutzernamen
- 14. Ich bekomme den Benutzernamen des aktuellen Benutzers in Swift
- 15. So erhalten Sie den Benutzernamen von macosx in objective-c
- 16. Wie kann ich den aktuellen Benutzernamen erhalten - VERWENDEN VON MY CODE UNTER IN ASP.NET
- 17. Amazon Cognito Profilinformationen in AWS Lambda
- 18. So testen Sie AWS Lambda
- 19. So erhalten Sie den aktuellen Fokus Menüpunkt
- 20. Android: Wie erhalten Sie den aktuellen Anwendungskontext in AsyncTask?
- 21. So erhalten Sie den aktuellen Navigationsstatus
- 22. So erhalten Sie die Zusammensetzung eines Lambda (AWS)
- 23. Wie erhalte ich den aktuellen Benutzernamen vom Game Center
- 24. Wie bekomme ich den aktuellen Benutzernamen mit Keycloak?
- 25. So erhalten Sie den aktuellen Benutzerstandort
- 26. So erhalten Sie den aktuellen CMS-Seitenname
- 27. Suche aktuellen Benutzernamen mit Scala
- 28. Aktuellen Benutzernamen und Kennwort von OAuth abrufen
- 29. Wie bekomme ich Bienenstock aktuellen Benutzernamen
- 30. Wie kann ich den aktuellen Benutzernamen von einem Skript erhalten, das mit pkexec ausgeführt wird?
Wie ist das eine andere Frage von Ihren früheren Post (s)? https://stackoverflow.com/questions/46120881/how-to-get-cognito-user-in-aws-lambda https://stackoverflow.com/questions/46108431/using-aws-lambda-with-cognito- und-api-gateway –
Related: https://stackoverflow.com/questions/37963906/how-to-get-user-attributes-username-email-etc-using-cognito-identity-id – jarmod
@MarkB Ich habe entfernt dieser Beitrag – Ildar