cała idea token uwierzytelniania:
Normalnie usług uwierzytelniania, nie ma życia związany z tokena. Po określonym czasie token traci ważność. Tutaj otrzymujemy token dostępu, który ma czas wygaśnięcia wysłany wraz z nim przez serwer. Teraz klient musi wysłać ten token za każdym razem w nagłówku żądania, aby serwer mógł zidentyfikować użytkownika. Albo możemy śledzić, kiedy wygasa, albo możemy po prostu dalej z niego korzystać, dopóki nie otrzymamy błędu INVALID_TOKEN
. W takim przypadku będziemy musieli ponownie pobrać token z serwera.
Czas życia token dostępu jest niezależny od sesji logowania użytkownika, który przyznał dostęp do klienta. OAuth2, powiedzmy, nie ma koncepcji logowania lub wylogowania użytkownika ani sesji. Token jest używany do identyfikacji użytkownika, jeśli jest tym, za kogo się podaje.
Token jest unikalny dla użytkownika i klienta. Możesz zapisać go w ciasteczkach, aby włączyć opcję przypominającą o mnie, ale na serwerze nie musisz jej usuwać. Po wygaśnięciu tokena, klient musi wysłać żądanie do serwera, aby uzyskać token ponownie.
Reklamowe ważności w DRF Reklamowe Authetication:
Obecnie uwierzytelniania DRF Reklamowe nie obsługuje tej funkcji. Musiałbyś to zaimplementować samodzielnie lub skorzystać z pakietu stron trzecich, który zapewnia tę funkcjonalność. Powinien sprawdzić, czy wygasa token i zgłosić wyjątek, jeśli token wygasł.
Aby zaimplementować to samodzielnie, możesz utworzyć podklasę z klasy uwierzytelniania tokenu DRF i dodać swoją logikę.
Można nawet użyć pakietu innej firmy django-rest-framework-expiring-tokens.
Niektóre Referencje:
1. Token Authentication for RESTful API: should the token be periodically changed?
2. How to Logout of an Application Where I Used OAuth2 To Login With Google?
możliwe duplikat [django ramy reszta - uwierzytelnianie zrozumienie i logowania ] (http://stackoverflow.com/questions/30546258/django-rest-framework-understanding-authentication-and-logging-in) –