Logowanie za pomocą OAuth2 w Spring Boot.

0

Chciałbym zalogować się do swojej aplikacji za pomocą protokołu OAuth2 i wykorzystać GitHuba jako serwer uwierzytelniania. W tym celu:

  1. Zalogowałem się na portalu github.com oraz utworzyłem nową aplikacje OAuth w wyniku czego dostałem wartości "Client ID" oraz "Client Secret"

  2. Pobrałem sobie przykładowy projekt. Link do projektu: https://github.com/spring-guides/tut-spring-boot-oauth2

  3. Otworzyłem plik application.yml w module simple i ustawiłem wartości "client-id" oraz "client-secret", które otrzymałem z portalu github.com oraz dodałem pole "redirect-uri", które sam utworzylem na portalu github.com. To samo zrobiłem dla modułu two-providers.

  4. Po uruchomieniu modułu simple zostaje przekierowany na portal github.com. Wpisuje hasło a następnie przeglądarka zwraca błąd, że liczba przekierowań nie ma końca.

  5. Po uruchomieniu modułu two-providers nie ma problemu, który opisałem w punkcie 4, ale jak wchodzę pod adres /user to zwracany jest kod 401. Wniosek z tego taki, że sesja pomimo wprowadzenia danych uwierzytelniających na GitHub-ie nie została utworzona.

Pytania:

  1. Czy tylko u mnie tak jest czy u Was również?

  2. Jak to naprawić?

2

Trochę tak na wyczucie powiem, ale mi to pachnie dwiema możliwościami:

  • Spring boot jednak nie ustawia headera Authorization
  • Kwestia stron /login czy strony startowej po zalogowaniu - /login powinien być dostępny dla wszystkich użytkowników. Jest tak u Ciebie?

Popatrz jeszcze tu:
https://stackoverflow.com/questions/56803785/spring-boot-2-oauth-infinite-redirect
https://dzone.com/articles/spring-boot-how-to-solve-oauth2-err-too-many-redir

0

Problem rozwiązany: w ustawieniach aplikacji OAuth na GitHub-ie należy ustawić adres przekierowania na http://localhost:8080/login/oauth2/code/github - wtedy przykladowa aplikacja działa poprawnie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1