Dominias
#programowanie #java #angular
Pytanie bo nie wiem jak ugryźć taki problem, czy po stronie API czy klienta - mam stronkę gdzie można wykonać akcje, ale niektóre z nich wymagają zalogowania więc takie requesty zwracają 401 - w takim przypadku robi redirecta na stronę logowania - i problem w tym, że chciałbym żeby mimo to ta akcja się wykonała. Jaka jest dobra praktyka rozwiązania takiego problemu? Przychodzi mi do głowy trzymanie tego w localstorage ale to chyba słaby workaround..
1
  • Najlepsze
  • Wszystkie komentarze
Myzreal
@Dominias: co?
2
PaaD
@Dominias: pogooglaj za "angular retry http" bo przy REST to chyba o to się rozchodzi, a nie jakieś redirecty po stronie sewera ( ͡° ͜ʖ ͡°)
1
KORraN
KORraN
@Dominias: Jakbyś chciał to rozwiązać po stronie API? Jak zwracasz 401 to jest koniec tematu, klient musi to obsłużyć.
0
Dominias
@KORraN: nie wiem, cos na zasadzie ze po 401 nasluchuje na autoryzację przez X czasu i jesli przejdzie to ponawia request ktory zwrocil 401?
0
fiolkins
fiolkins
@Dominias: nie wiem czy Cię dobrze rozumiem ale jeżeli to jest przekierowanie to dodaj redirect uri z akcja do wykonania po zalogowaniu
0
MQs
@Dominias: Dla klientów API się raczej tego nie robi, bo on może zapamiętać co i gdzie wysyłał bez autoryzacji albo poprawić kod, żeby się logował (dlatego dostaje 401 a nie 3xx).
Co innego dla html obsługiwanego bezpośrednio przez przeglądarkę - wtedy (jak wyżej @fiolkins pisał) zwracasz redirect do logowania z docelowym endpointem w parametrach url (/login?url=users/123), czyli informacją gdzie przekierować po zalogowaniu. Klient w przeglądarce i tak
0