7

Zaimplementowałem aplikację Spring Boot z interfejsem AngularJS. Ustaw także użytkowników wraz z ich uprawnieniami. Teraz mogę zalogować się z dowolnym z tych użytkowników i działa dobrze z bezpieczeństwem Spring. Chciałbym przekształcić tradycyjny przepływ logowania w przepływ danych logowania na Facebooku/Google OAuth, gdzie chcę, aby użytkownicy korzystali z konta Facebook/Google w celu zalogowania się i zostaną automatycznie przypisani do użytkowników wewnętrznych. Pomoże mi to w pozbyciu się haseł tych użytkowników.Spring Boot OAuth2 łącząc użytkowników wewnętrznych z logowaniem Facebook/Google

Znalazłem wiele artykułów mówiących o ustawianiu OAuth w Spring Boot i jak można zintegrować logowanie Facebook/Google z aplikacją Spring Boot. Ale mam problem ze znalezieniem artykułu, który mówi o łączeniu użytkownika Facebooka/Google z użytkownikami wewnętrznymi.

Jak powinienem to zrobić?

+0

wyboru tego .. https://stackoverflow.com/questions/44967162/auto-merge-facebook-and-internal-users –

Odpowiedz

1
  1. Poszukaj użytkownika z powiązanym facebook/google userID.
  2. Jeśli ten użytkownik nie istnieje, poprosi o podanie adresu e-mail i spróbuje dopasować go do istniejącego starego konta.
  3. Jeśli z jakiegoś powodu nie otrzymasz adresu e-mail (na przykład nie uzyskując autoryzacji), możesz wyświetlić okno z zapytaniem o adres e-mail z wyjaśnieniem, dlaczego go potrzebujesz.
  4. Następnie można zlokalizować starszego użytkownika i połączyć go, dodając facebook/google ID, aby wyszukać go w przyszłości.
  5. Jeśli nie znaleziono użytkownika z adresem e-mail, możesz odrzucić użytkownika lub utworzyć nowe konto.

powinieneś być w stanie zrobić wszystko, wdrażając własne AuthenticationProvider

0

Zanim będzie można pobrać danych użytkownika z Facebook, należy określić identyfikator swojej aplikacji i tajemnicy przez ustawienie spring.social.facebook.appId i spring.social.facebook.appSecret właściwości. Można ustawić je za pomocą jakichkolwiek środków wspieranych przez wiosennym Boot, w tym ustawienie ich w application.properties pliku:

spring.social.facebook.appId=233668646673605 
spring.social.facebook.appSecret=33b17e044ee6a4fa383f46ec6e28ea1d 

Dla porównania można śledzić ten artykuł: https://spring.io/guides/gs/accessing-facebook/