2015-01-09 19 views
6

これまでのところ、obtain_auth_tokenビューはログイン機能として動作します。資格情報を提供し、トークンを戻します。ログアウトは何でしょうか?ログアウト時にトークンを削除する必要がありますか?ベストプラクティスは何でしょうか?django-rest-frameworkトークン認証とログアウト

削除がOKの場合、複数のクライアントを同時に処理するにはどうすればよいですか。ユーザーがモバイルデバイスからログアウトしたが、ウェブにログインしたままにしたいとします。 Tokenモデルは現在OneToOneUserの関係を持っています。

お願いします。ありがとう

答えて

12

Django RESTフレームワークが提供するTokenAuthenticationは、非常にの単純なトークン認証として使用することを意図しています。私はそれによって意味することはつまり... ... ...あなたは

これ以上の高度な機能をお探しの場合は、通常は別のトークン認証方法を検討する必要があります。これは、標準のTokenAuthenticationクラスとビュー(リンクされている)をサブクラス化するのと同じくらい簡単ですが、Tokenモデルは簡単には交換できません。つまり、userフィールドをForeignKeyに変更すると、ユーザーに複数のトークンを持たせることが容易に実現できません。

幸いなことに、OAuthやJSON WebトークンなどのDjango RESTフレームワークは、両方ともユーザー用に複数のトークンをサポートしています。共通認証クラスat this Stack Overflow answerの比較を見つけることができます。

+0

ありがとうございました。当初はトークンを拡張しようと考えていましたが、あなたはそれが簡単ではないと言ったので、[django-rest-framework-jwt](https://github.com/GetBlimp/django-rest-framework-jwt)に試してみましょう。それは有望に見えます。 – norbertpy

関連する問題