OK Jestem teraz w tym dniu i poczyniłem znaczne postępy, ale wciąż jestem całkowicie zaskoczony podstawami.AWS Lambda API gateway z Cognito - jak używać IdentityId do uzyskiwania dostępu i aktualizacji atrybutów UserPool?
Moja aplikacja korzysta z puli użytkowników Cognito do tworzenia i zarządzania użytkownikami - są one identyfikowane na S3 przez ich IdentityId. Każdy z moich użytkowników ma swój własny folder S3, a AWS automatycznie nadaje im nazwę folderu, która jest równa IdentityId użytkownika.
Potrzebuję powiązać IdentityId z innymi informacjami o użytkowniku Cognito, ale nie mogę ustalić, w jaki sposób.
Kluczową rzeczą, której potrzebuję, jest możliwość zidentyfikowania nazwy użytkownika oraz innych atrybutów użytkownika Cognito dla danego IdentityId - i jest to szalenie trudne.
Pierwsza bitwa polegała na ustaleniu, jak uzyskać IdentityId, gdy użytkownik Cognito wykona żądanie przez bramkę AWS API. W końcu udało mi się, a teraz mam użytkownika Cognito, który wysyła żądanie do bramy API, a moja funkcja Lambda za tym ma teraz IdentityId. Ten kawałek działa.
Ale jestem całkowicie zaskoczony, jak uzyskać dostęp do informacji użytkownika Cognito przechowywanych w puli użytkowników. Nie mogę znaleźć żadnych jasnych informacji, a na pewno nie ma kodu, który pokazuje, jak używać IdentityId, aby uzyskać atrybuty, nazwę użytkownika Cognito itp.
Wygląda na to, że jeśli użyję "puli użytkowników Cognito", W interfejsie API Gateway można użyć szablonu mapowania ciała, aby umieścić dane Cognito User, takie jak sub i nazwa użytkownika oraz adres e-mail w kontekście, ALE NIE otrzymam IdentityId.
ALE jeśli używam AWS_IAM do autoryzacji mojej metody w bramce API, to szablon odwzorowania body działa odwrotnie - daje mi IdentityId, ale nie pola Cognito użytkownika, takie jak sub i nazwa użytkownika i e-mail.
To doprowadza mnie do szału - jak mogę połączyć pola IdentityId i wszystkich użytkowników Cognito w jedną strukturę danych? Fakt, że wydaje mi się, że mogę uzyskać tylko jedno, nie ma sensu.
zgadzam się z tobą na trudności , czy masz szansę spróbować utworzyć zasady IAM S3, które pasują do podanego sub? – Aaron