Chcę zrozumieć, co oznacza uwierzytelnianie oparte na tokenach. Przeszukałem internet, ale nie znalazłem nic zrozumiałego.
security
authentication
token
http-token-authentication
csharpbaby
źródło
źródło
Odpowiedzi:
Myślę, że dobrze to tutaj wyjaśniono - cytując tylko kluczowe zdania długiego artykułu:
Innymi słowy: dodaj jeden poziom pośredni do uwierzytelnienia - zamiast konieczności uwierzytelniania za pomocą nazwy użytkownika i hasła dla każdego chronionego zasobu, użytkownik uwierzytelnia się w ten sposób jeden raz (w ramach sesji o ograniczonym czasie trwania), w zamian uzyskuje token ograniczony czasowo i używa tego tokena do dalszego uwierzytelniania podczas sesji.
Zalet jest wiele - np. Użytkownik może przekazać token, gdy już go zdobędzie, na inny automatyczny system, któremu chce zaufać przez ograniczony czas i ograniczony zestaw zasobów, ale nie byłby skłonny zaufać swoją nazwą użytkownika i hasłem (tj. każdym zasobem, do którego mają dostęp, na zawsze lub przynajmniej do czasu zmiany hasła).
Jeśli coś jest nadal niejasne, edytuj swoje pytanie, aby wyjaśnić, CO NIE jest dla Ciebie w 100% jasne i jestem pewien, że możemy Ci pomóc dalej.
źródło
Od Auth0.com
źródło
A
token
to fragment danych, któryServer X
mógł zostać utworzony i który zawiera wystarczającą ilość danych do zidentyfikowania konkretnego użytkownika.Możesz przedstawić swoje dane logowania i poprosić
Server X
otoken
; a następnie możesz przedstawić swójtoken
i poprosićServer X
o wykonanie czynności specyficznej dla użytkownika.Token
Są tworzone przy użyciu różnych kombinacji różnych technik z dziedziny kryptografii, a także z wkładem z szerszego zakresu badań nad bezpieczeństwem. Jeśli zdecydujesz się stworzyć własnytoken
system, najlepiej bądź naprawdę mądry.źródło
Token to kawałek danych tworzony przez serwer i zawiera informacje identyfikujące konkretnego użytkownika i ważność tokena. Token będzie zawierał informacje o użytkowniku, a także specjalny kod tokena, który użytkownik może przekazać do serwera za pomocą każdej metody obsługującej uwierzytelnianie, zamiast bezpośredniego przekazywania nazwy użytkownika i hasła.
Uwierzytelnianie oparte na tokenach to technika zabezpieczeń, która uwierzytelnia użytkowników, którzy próbują zalogować się do serwera, sieci lub innego bezpiecznego systemu, przy użyciu tokena zabezpieczającego dostarczonego przez serwer.
Uwierzytelnianie kończy się powodzeniem, jeśli użytkownik może udowodnić serwerowi, że jest prawidłowym użytkownikiem, przekazując token zabezpieczający. Usługa sprawdza poprawność tokena zabezpieczającego i przetwarza żądanie użytkownika.
Po sprawdzeniu poprawności tokena przez usługę, służy on do ustanowienia kontekstu bezpieczeństwa dla klienta, dzięki czemu usługa może podejmować decyzje autoryzacyjne lub audytować kolejne żądania użytkownika.
odwiedź źródło
źródło
Na podstawie tokena (bezpieczeństwo / uwierzytelnianie)
oznacza, że aby udowodnić, że mamy dostęp, najpierw musimy otrzymać token. W prawdziwym scenariuszu żeton może być kartą dostępu do budynku, kluczem do zamka w twoim domu. Aby odzyskać kartę kluczową do biura lub klucz do domu, musisz najpierw udowodnić, kim jesteś, i że faktycznie masz dostęp do tego tokena. Może to być coś tak prostego, jak pokazanie komuś swojego identyfikatora lub podanie tajnego hasła. Wyobraź sobie, że muszę uzyskać dostęp do mojego biura. Schodzę do biura ochrony, pokazuję im swój dowód tożsamości, a oni dają mi ten token, który wpuszcza mnie do budynku. Teraz mam nieograniczony dostęp do robienia wszystkiego, co chcę w budynku, o ile mam ze sobą swój token.
Jaka jest korzyść z bezpieczeństwa opartego na tokenach?
Jeśli przypomnimy sobie niepewny interfejs API, musieliśmy w takim przypadku podać hasło do wszystkiego, co chcieliśmy zrobić.
Wyobrażać sobieże za każdym razem, gdy wchodzimy do drzwi w naszym biurze, musimy dać każdemu siedzącemu przy drzwiach nasze hasło. To byłoby całkiem złe, ponieważ oznacza to, że każdy w naszym biurze może wziąć nasze hasło i podszyć się pod nas, a to bardzo źle. Zamiast tego pobieramy token, oczywiście wraz z hasłem, ale pobieramy go od jednej osoby. Następnie możemy użyć tego tokena w dowolnym miejscu wewnątrz budynku. Oczywiście, jeśli zgubimy token, mamy ten sam problem, jakby ktoś inny znał nasze hasło, ale prowadzi nas to do tego, w jaki sposób upewniamy się, że jeśli stracimy token, możemy cofnąć dostęp, a może token nie powinniśmy żyć dłużej niż 24 godziny, więc następnego dnia, kiedy przyjedziemy do biura, musimy ponownie okazać dowód tożsamości. Ale wciąż jest tylko jedna osoba, której pokazujemy identyfikator,
źródło
Pytanie jest stare, a technologia się rozwinęła, oto obecny stan:
JSON Web Token (JWT) to otwarty standard oparty na JSON (RFC 7519) do przekazywania roszczeń między stronami w środowisku aplikacji WWW. Tokeny są zaprojektowane tak, aby były zwarte, bezpieczne pod adresem URL i nadawały się do użytku, zwłaszcza w kontekście pojedynczego logowania w przeglądarce internetowej.
https://en.wikipedia.org/wiki/JSON_Web_Token
źródło
To tylko skrót, który jest powiązany z użytkownikiem w bazie danych lub w inny sposób. Tego tokena można użyć do uwierzytelnienia, a następnie autoryzacji zawartości aplikacji związanej z dostępem użytkownika. Aby pobrać ten token po stronie klienta, wymagany jest login. Po pierwszym logowaniu musisz zapisać pobrany token, a nie inne dane, takie jak sesja, identyfikator sesji, ponieważ tutaj wszystko jest tokenem, aby uzyskać dostęp do innych zasobów aplikacji.
Token służy do zapewnienia autentyczności użytkownika.
źródło
Najbardziej preferowanym obecnie sposobem zabezpieczenia zasobów Web API jest uwierzytelnianie użytkowników na serwerze Web API za pomocą podpisanego tokena (który zawiera wystarczającą ilość informacji, aby zidentyfikować konkretnego użytkownika), który musi być wysyłany do serwera przez klienta z każdym i każda prośba. Nazywa się to podejściem opartym na tokenach.
Uwierzytelnianie oparte na tokenach działa w następujący sposób:
Użytkownik wprowadza nazwę i hasło do klienta (klient oznacza przeglądarkę lub urządzenia mobilne itp.).
Następnie klient wysyła te poświadczenia (tj. Nazwę użytkownika i hasło) do serwera autoryzacji.
Następnie serwer autoryzacji uwierzytelnia poświadczenia klienta (tj. Nazwę użytkownika i hasło), a następnie generuje i zwraca token dostępu. Ten token dostępu zawiera wystarczającą ilość informacji, aby zidentyfikować użytkownika, a także czas wygaśnięcia tokena.
Aplikacja kliencka następnie dołącza token dostępu do nagłówka autoryzacji żądania HTTP, aby uzyskać dostęp do ograniczonych zasobów z serwera zasobów do momentu wygaśnięcia tokena.
Poniższy artykuł pokazuje, jak krok po kroku wdrożyć uwierzytelnianie oparte na tokenie w interfejsie API WEB.
https://dotnettutorials.net/lesson/token-based-authentication-web-api/
źródło
Po zarejestrowaniu się w nowej witrynie internetowej często wysyłany jest e-mail w celu aktywacji konta. Ten e-mail zazwyczaj zawiera link do kliknięcia. Część tego linku zawiera token, serwer wie o tym tokenie i może go powiązać z twoim kontem. Token zwykle ma datę wygaśnięcia, więc możesz mieć tylko godzinę na kliknięcie linku i aktywację konta. Nie byłoby to możliwe w przypadku plików cookie ani zmiennych sesji, ponieważ nie wiadomo, jakiego urządzenia lub przeglądarki używa klient do sprawdzania wiadomości e-mail.
źródło