10

Czy istnieje prosty sposób zintegrowania uwierzytelniania Firebase z Spring Security (dla usługi REST)?Usługa REST z użyciem uwierzytelniania Spring Security i Firebase

Z tego, co przeczytałem, prawdopodobnie będę musiał użyć tokena JWT (uzyskanego za pośrednictwem Firebase), użyć go do uwierzytelnienia usługi Spring i wreszcie zweryfikować token w usłudze za pośrednictwem Firebase. Ale nie mogę znaleźć żadnej (prostej) dokumentacji na temat używania JWT z Spring Security.

Chciałbym również móc podać punkt końcowy/auth/login, który używa Basic Auth zamiast JWT, dzięki czemu mogę uzyskać token JWT przez Firebase przy użyciu danych uwierzytelniających e-mail/hasło. Ale oznaczałoby to włączenie Basic Auth na jednym punkcie końcowym w usłudze i JWT Auth na wszystkich innych. Nie jestem pewien, czy to możliwe.

+0

Czy myślisz, że chcesz użyć wstępnie uwierzytelnionego filtra? "ufasz" uwierzytelnianiu dokonanemu przez Firebase, a następnie przekazujesz upoważnienie do ochrony wiosennej –

Odpowiedz

0

Krótka odpowiedź: nie.

Długa odpowiedź: powinieneś utworzyć własną JWT, niezależnie od Bazy Firebase. Po otrzymaniu JWT od Firebase sprawdź jego integralność. Następnie wydaj własne na podstawie danych w tokenie. Następnie wystarczy dostosować go do różnych dostawców OAuth. W ten sposób możesz uniknąć podróży w obie strony do bazy ogniowej na każde żądanie.

Do uwierzytelniania użytkownika przy każdym żądaniu (uwierzytelnienie bezstanowe) dodaje się filtr o najwyższym priorytecie. Z żądania HTTP, które filtrujesz, pobierz JWT i sprawdź jego integralność. Jeśli wszystko jest w porządku, ustaw uwierzytelnianie w SecurityContextHolder.

Powiązane problemy