2015-01-09 3 views
6

이해까지는 obtain_auth_token보기가 로그인 기능으로 작동합니다. 자격 증명을 제공하고 토큰을 다시받습니다. 로그 아웃은 무엇입니까? 로그 아웃시 토큰을 삭제해야합니까? 가장 좋은 방법은 무엇입니까?django-rest-framework 토큰 인증 및 로그 아웃

삭제가 정상이면 동시에 여러 클라이언트를 처리하는 방법. 사용자가 휴대 기기에서 로그 아웃했지만 웹에 로그인하려고한다고 가정 해보십시오. Token 모델의 현재 OneToOne의 관계는 User입니다.

제발 나에게 조언을 해줘. 감사합니다

답변

12

Django REST 프레임 워크가 제공하는 TokenAuthentication은 매우 간단한 토큰 인증으로 사용하기위한 것입니다. 내가 그 뜻은 즉 ... ... ... 당신이

보다 고급 기능을 원하는 경우 일반적으로 다른 토큰 인증 방법을 조사해야합니다. 표준 TokenAuthentication 클래스와 뷰 (링크 된대로)를 서브 클래 싱하는 것처럼 간단 할 수도 있지만 Token 모델은 쉽게 스왑 할 수 없습니다. 즉 user 필드를 ForeignKey으로 변경하면 사용자가 여러 개의 토큰을 가질 수 있으므로 구현하기가 쉽지 않습니다.

다행히도 OAuth 및 JSON 웹 토큰과 같은 Django REST 프레임 워크 does support other authentication methods은 사용자를 위해 여러 개의 토큰을 모두 지원합니다. 공통 인증 클래스 at this Stack Overflow answer의 비교를 찾을 수 있습니다.

+0

감사합니다. 처음에는 토큰을 확장하는 것에 대해 생각하고 있었지만, 이제는 당신이 말하지 않았지만 [django-rest-framework-jwt] (https://github.com/GetBlimp/django-rest-framework-jwt)를 시도해 보겠습니다. . 그것은 유망 해 보입니다. – norbertpy