Wpis z mikrobloga

#webdev #angular #react
mam system który ma wystawione api. system jest tylko dla zalogowanych uzytkowników ale ma brzydkie gui wiec w pracy kazali mi napisać w angularze do tego ładne i zgodne z identyfikacją firmy GUI (bo jestem świeży i "angular teraz jest taki popularny").
dopiero zacząłem, osobiscie bawie sie pythonem ( ͡° ͜ʖ ͡°) i django wiec mnie takie rzeczy malo obchodzą z drugiej strony chyba pora się czegoś nauczyć a mianowicie:
najpierw wywołuje POSTem api gdzie user przechodzi atentykacje. jak wszystko jest ok to dostaje jsona z tokenem i expiredate.
w jaki sposób teraz kazde kolejne zapytanie ale już GETem ma być autoryzowane? w api nie ma nic napisane o jakichś dodatkowych elementach które mam zawrzeć w zapytaniu. rozumiem ze mam to wrzucić w ciasteczka ale chciałbym zrozumieć sposób działania teraz tego.
rozumiem ze jak dostaje token to nic nie oznacza, to jest tylko JSON i zadne dodatkowe mechanizmy w to nie są angazowane, to sie nigdzie magicznie nie zapisuje: mam token, muszę go zapisać i potem w jakis sposób przekazywać. teraz przy wywoływaniu GETów dostaje authentication error (nie zapisuje tego jeszcze do ciasteczek bo przez proxy nie chce mi przechodzić npm).
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

via Wykop Mobilny (Android)
  • 5
@daczka92: poczytaj o autoryzacji, w skrócie działa to tak że jak dostajesz token to go sobie zapisujesz np. w localStorage i w każdy następnym request'cie wysyłasz ten token w nagłówku Authorization
  • Odpowiedz
via Wykop Mobilny (Android)
  • 0
@Rst00: @blackredwhite: @MarcusPlinius:
Dobra, mam serwis ktory mi dodaje do headers authorisation: {i tutaj token}.
Zanim wyślę request to loguje to w konsoli i wsrod masy roznych właściwości jest tez ten słownik z tym dobrym tokenem.
Dostaje jednak 401 unauthorised ale jak wczesniej serwer zwracał mi po polsku ze brakuje headera tak teraz jest http failure response for (unknown url): 0 Unknown error. Straszna rzezba wychodzi
  • Odpowiedz
@daczka92: ale dopisujesz ten header dopiero w momencie jak masz faktycznie token? Bo mam teraz wrażenie że zrobiłeś tak, że header authorization jest cały czas (nawet pusty) i dlatego backend Ci odpowiada 401. Na stronie logowania (przy wysyłaniu danych do zalogowania) nie powinieneś mieć tego headera. Dopiero jak przyjdzie Ci odpowiedź z tokenem po zalogowaniu powinieneś ustawiać ten header (w interceptorze tak jak wspomniał kolega wyżej).
  • Odpowiedz
via Wykop Mobilny (Android)
  • 1
@Rst00: tak, tam w przykladzie jest ze dla kazdego zapytania ale zmienilem tylko na GET, z drugiej strony nawet jak ustawie ten header przy zapytaniu o token to go dostaje bo najwyrazniej niewazne co jest w headerze przy tym zapytaniu.
@MarcusPlinius: z cors jest problem, normalnie mi nie dziala nawet zapytanie o token, ale mam jakas wtyczke ktora mi psuje cala przegladarke ale przynajmniej dostaje token (psuje w
  • Odpowiedz