Zabezpieczenie backendu

0

Hej

Piszę aplikacje do obstawiania meczy, która składa się z backendu, który wystawia endpointy, front pisany w angularze oraz docelowo jeszcze aplikacja mobilna. Jako, że zakłady lepiej, żeby były podpisywane, potrzebuję jakiś mechanizm zabezpieczeń. I teraz pytanie co sprawdzi się najlepiej:

  • apiToken generowany dla każdego użytkownika - dość słaba wygoda dla użytkowników (konieczność zapisania go)
    -username i hasło - podpisywanie każdego requestu dodatkowo tymi dwoma polami (jako parametr url?)
  • połączenie obu - użytkownik po zarejestrowaniu otrzymuje api token którym będzie później podpisywał wszystkie zapytania (path variable, parametr url?). Wtedy np. aplikacje odpytują backend na podstawie loginu i hasła o api token i dalsza komunikacja wykorzystuje ten token.

Kwestia jest taka, że większość backendu mam już napisane więc to będzie "doczepienie" kolejnego modułu, a nie pisanie od nowa całości. Chwilowo aplikacja stoi na springu ale docelowo będzie całość na ratpacku. Które z tych rozwiązań jest najsensowniejsze?

1

Może osobny serwis, do ktorego uzytkownicy strzelaja uzywajac basic auth a w odpowiedzi dostaja podpisany JWT token z jakims czasem zycia?
https://jwt.io/
Wszystkie serwisy oprocz login serwisu zabezpieczone tak zeby tego tokena wymagaly.

0

A dlaczego z jakimś czasem życia?

0

@Leroy:
Czyli generalnie wygląda to tak, logowanie -> dostaje tokena -> token do każdego zapytani.
Teraz, żeby uniknąć magi out of box i na podstawie tego tokena pobrać użytkownika muszę mieć zapamiętane w pamięci mapowanie user - token i na podstawie tokena z tej mapy pobierać użytkownika?

0

Czy aby się założyć trzewa się do Twojej aplikacji zalogować??? Zwykłe logowanie i sesja z aktualnym userem nie wystarczy. Oczywiscie można się bawić w token cuda wianki super osobne microservice, ale UWAGA CookieId to taki token. Jeżeli nie potrzebujesz SSO, OAuth to nie wal z armaty do muchy

0

@danek
Nie potrzebujesz mapy żadnej. Token zawiera z reguły nazwę użytkownika.
Poczytaj o tym, na pewno znajdziesz gdzieś.

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