2017-11-05 12 views
0

Django Rest FrameworkとAndroidクライアントを使用するアプリケーションでトークンベースの認証を実装したいと考えています。Django Rest Frameworkでトークンベース認証を使用する方法

as far as I understandの方法は、access tokenと一緒にclient IDclient secretをAPIのエンドポイントに送信する必要があります。

access tokenis gotten from the Django Rest Frameworkように:

Token.objects.create(user=instance) 

私は一緒にこのすべてを接着するために明確にしたいのですが、いくつか質問があります。

  1. どのように私は、Djangoの残りFrameworkのclient IDclient secretを扱うのですか?

  2. client IDclient secretをAndroidに保存するにはどうすればよいですか?私は単純に文字列として格納することはできません。誰かがAPKで文字列リテラルを見つけることができました。

+1

あなたがoauth2を使用することを主張するなら、サーバー側でこのアプリケーションを使用することをお勧めします - https://django-oauth-toolkit.readthedocs.io/en/latest/rest-framework/getting_started.html – mariodev

+0

@mariodev 。ありがとうございますが、私はパスワードを使用するつもりはありません。私は単純にサーバーによって生成された一意のトークンを使用するつもりです:http://www.django-rest-framework.org/api-guide/authentication/#tokenauthenticationしかし、あなたの提案されたライブラリでは、パスワード、ユーザー名いいえ? –

+0

oauth2の仕組みについてもっと詳しくお読みになりたいです(別の許可タイプを選択するだけです)。 – mariodev

答えて

1

チェックアウトDjango Rest Framework JWT それはJWTトークン認証のためにかなりまっすぐ進むの実装を持っています。また、セキュリティを本当に気にしている場合は、データベースにハッシュされたクライアントID &秘密鍵を格納できます。欠点は、クライアントがそれらを失った場合にこれらを取得できないことです。