Logowanie i uwierzytelnienie przez API
Logowanie
Aby zalogować się do api, należy do zasobu /login przesłać następujące dane POST:
- login – nazwa użytkownika
- pass – twoje hasło
- longtoken – parametr opcjonalny. Ustawienie go na wartość 'true’ powoduje, że token jest ważny przez 30 dni od daty jego utworzenia. Brak ustawienia tego parametru, lub ustawienie go na wartość 'false’ spowoduje, że token będzie miał ważność 24 godziny.
Należy zaznaczyć że jest tutaj wyjątek, gdyż dane są w formacie formularza HTML a nie JSON.
Należy wysłać następujący nagłowek, wraz z danymi do logowania (w treści zapytania – body):
Content-Type: application/x-www-form-urlencoded login=TWOJ_LOGIN&pass=TWOJE_HASLO&longtoken=false
Odpowiedź serwera zawiera:
- token – token autoryzacyjny, do przekazania w nagłówku
- validTo – data ważności tokena
- user – aktualnie zalogowany użytkownik
Inne metody HTTP dla /login
Oprócz samego logowania przez metodę POST, zasób ten udostępnia też inne przydatne metody:
GET
Metoda służy do sprawdzania czy dany token istnieje (i jest ważny). Podanie wygasłego tokena skutkuje błędem 404.
Po prostu w parametrze należy przekazać token autoryzacyjny, na przykład /login&token=f87x9….
Odpowiedź jest dokładnie taka sama jak dla logowania powyżej.
PUT
Metoda ta służy do przedłużania tokena. Dane w tym wypadku są w formacie JSON (w przeciwieństwie do logowania). Metoda przyjmuje następujące dane JSON:
- token – token autoryzacyjny do przedłużenia
- longtoken – opcjonalnie (opis wyżej) – czy przedłużyć o 30 dni, czy o 24 godziny od tej chwili
Odpowiedź tej metody jest taka sama jak przy logowaniu.
DELETE
Usuwanie tokena autoryzacyjnego. Należy go przekazać w parametrze, na przykład: /login?token=78cw8….
Odpowiedź to pusta 204 NO CONTENT.
Autoryzacja zapytań HTTP
Podczas logowania w odpowiedzi został zwrócony token autoryzacyjny. Od tej pory można posługiwać się tym tokenem w zapytaniach HTTP. Gdy token wygaśnie należy zalogować się jeszcze raz. W przypadku gdy token jest bliski wygaśnięcia, to można go przedłużyć za pomocą wyżej wspomnianej metody PUT by nie dopuścić do jego wygaśnięcia.
Aby wysłać token, należy ustawić nagłowek:
X-Auth-Bearer: TWOJ_TOKEN Na przykład: X-Auth-Bearer: 9f8h9....