Jak korzystać z interfejsu użytkownika, znajdujący się na AWS Cognito, dla przepływu świadczenia kodu autoryzacji

0

Pytanie

Używam interfejs wiersza poleceń Amplify do tworzenia puli użytkowników Cognito dla mojego aplikacje internetowe React. Odkryłem, że interfejs użytkownika withAuthentication nie zaspokaja moich potrzeb, bo nie mogę skonfigurować formularz logowania (na przykład, usunąć pole numer telefonu) lub chronić tylko część mojej aplikacji.

Zamiast tego chciałbym wykorzystać znajdujący się interfejs użytkownika, świadczone przez Cognito, ale nie wiem, jak zrealizować strumień świadczenia kodu autoryzacji. Czy istnieje prosta w użyciu biblioteka npm, która pomoże mi w tym?

Próbowałem bezpośrednio wywołać punkt końcowy /authorize, jak opisano w dokumentach, ale dostałem błąd cors po wywołaniu z lokalnego hosta. Ja również próbowałem użyć okna.location.ref przekierowanie na umieszczony adres URL, na który powołuje się konsola Cognito. To działa, ale kiedy wracam na określoną stronę (po oddzwonienia), analizuję kod z wiersza zapytania i wysyłam zapytanie POST do punktu końcowego /token, jak opisano w dokumentach, dostaję kod stanu 400. Czy jest coś jeszcze, co muszę zrobić?

Jestem bardzo początkujący w OAuth, więc był bym wdzięczny za jakieś proste wyjaśnienia lub wskazówki na podstawowe materiały, które może zrozumieć początkujący, byłoby wspaniale!

amazon-cognito aws-amplify oauth-2.0
2021-11-22 06:18:38
1

Najlepsza odpowiedź

0

Moje zasoby wykorzystują strumień kodu z Cognito i dadzą ci coś, z czym można porównać:

Kilka porad:

  • Zarejestruj klienta OAuth w swojej puli użytkowników, aby naprawić błąd CORS
  • Śledź wiadomości OAuth z przeglądarki i skupić się na tym, aby otrzymywać je tak samo, jak moje

Mój przykładowy kod łatwo uruchomić w moim punkcie końcowym Cognito. Mimo, że nie wykorzystuje React lub Amplify, ale jak tylko zrozumiesz zasady, będzie ci łatwo przenieść je na swoje własne rozwiązania technologiczne.

2021-11-22 14:43:42

W innych językach

Ta strona jest w innych językach

Русский
..................................................................................................................
Italiano
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................