Logowanie na desktopie do serwera

0

Witam,
zastanawiam się jak takie aplikacje jak messenger, slack czy evernote na desktopie automatycznie mnie logują (nawet po uruchomienia pc po jakimś czasie). Gdybym miał zrobić taką aplikacje to pewnie bym wykorzystał OAuth2 z grant_type=password. Kiedyś robiłem coś podobnego na Androida. Wychodzi na to, że gdzieś musi być zapisywana nazwa użytkownika i hasło bo jak inaczej miało by to działać? Czy dobrze myślę?

Jeśli dobrze myślę, to czy są jakieś standardy tego zapisywania? W jakiej formie jest to zapisywane i gdzie to można zapisać (np. czy system operacyjny ma gdzieś takie bezpieczne mechanizmy do przechowywania tego typu danych)?

0

Może jest to zrobiona na zasadzie sesji i klucza? Warto sprawdzić. Czyli podobnie jak w przypadku każdego większego serwisu internetowego.

0
  1. Po 1 uruchomieniu użytkownik loguje się na serwer
  2. Po poprawnym logowaniu otrzymujesz token z serwera. Zapisujesz go w aplikacji
  3. Ten token przekazujesz do API twojej aplikacji przy każdym requescie.

Nie zapisuj nigdzie haseł. Tego się nie robi. Za hasło masz token, czyli randomowy ciag znakow, ktory na serwerze jest przypisany do danego uzytkownika.

0

Tak to wiem, że przy pierwszy uruchomieniu użytkownik się loguje i później działa z tokenami.

Mi chodzi o taki przypadek loguje się pierwszy raz dostaje token. Następnie działa na aplikacji później zamykam program i komputer, a następnie po 2 dniach odplam komputer oraz aplikację i już nie muszę się logować. Wystarczy tylko odświeżyć token?

0

W sumie nie musisz odswiezac tokenu, ale po prostu uruchamiasz ponownie, sprawdzasz czy jest token - jesli jest, twoja aplikacja dziala tak jak po zalogowaniu, a jesli nie ma tokena, to pokazujesz forme do zalogowania się.

0

Tak, ale mówimy o OAuth2 bo tutaj tokeny mają "termin ważność" czy o jakimś innym mechanizmie?

1 użytkowników online, w tym zalogowanych: 0, gości: 1