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:

  • tokentoken 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:

  • tokentoken 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....