Jaką autoryzacje użytkowników robić dla SPA?

Jaką autoryzacje użytkowników robić dla SPA?
G1
  • Rejestracja: dni
  • Ostatnio: dni
0

Projekt raczej średni. SPA w React/Angular i Web Api w Asp Net Core. Kilku użytkowników ma mieć możliwość uwierzytelniania się podając login i hasło. Będzie miało przyznany dostęp do pewnych zasobów. Każdy z użytkowników będzie miał inną rolę. Na jej podstawie zobaczy konkretne zasoby i będzie mógł wykonać na nich pewne operacje.
Jakiej najlepiej użyć tu autoryzacji? Jakie możliwości w ogóle tu bym miał?
Używam własnego modelu użytkownika.

E9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 395
2

Teraz najbardziej na topie w SPA jest JWT.

G1
  • Rejestracja: dni
  • Ostatnio: dni
0
error91 napisał(a):

Teraz najbardziej na topie w SPA jest JWT.

Jak wtedy tylko sobie radzić z takimi scenariuszami jak np:

  • użytkownik się wyloguje, ale token jest jeszcze ważny
  • jeśli użytkownik będzie jakiś czas nieaktywny, to token wygasa i użytkownik traci dostęp, ale gdy jest aktywny i coś robi to po takim samym czasie jakby był nieaktywny i tak straci dostęp

Są jeszcze jakieś mniej popularne opcje, które mogłyby się również nadać w tym przypadku?

SZ
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1596
1
Greg1 napisał(a):
error91 napisał(a):

Teraz najbardziej na topie w SPA jest JWT.

Jak wtedy tylko sobie radzić z takimi scenariuszami jak np:

  • użytkownik się wyloguje, ale token jest jeszcze ważny
  • jeśli użytkownik będzie jakiś czas nieaktywny, to token wygasa i użytkownik traci dostęp, ale gdy jest aktywny i coś robi to po takim samym czasie jakby był nieaktywny i tak straci dostęp

Są jeszcze jakieś mniej popularne opcje, które mogłyby się również nadać w tym przypadku?

Odświeżenie tokena : https://piotrgankiewicz.com/2017/12/07/jwt-refresh-tokens-and-net-core/
Co do pierwszego to np możesz gdzieś trzymać listę tzw BlackTokens i sprawdzać np jakiś filter

LS
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 40
0

A nie myślisz aby skorzystać z gotowego IDP - np. Keycloak czy CAS. A co do samej autoryzacji to JWT ;)

G1
  • Rejestracja: dni
  • Ostatnio: dni
0
lshadown napisał(a):

A nie myślisz aby skorzystać z gotowego IDP - np. Keycloak czy CAS. A co do samej autoryzacji to JWT ;)

Rozważam JWT. Nie myślałem, żeby skorzystać z gotowych IdP. Ten projekt nie jest aż taki duży.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.