0

REST APIにdjango-rest-frameworkを使用しています。また、私はdjango-rest-framework-jwtを使っています。ログインに成功すると、ユーザーにトークンが提供されます。私はどのようにverify a token apiの呼び出しで見つかりましたが、ビュー内のトークンを検証し、そのトークンのユーザーを取得する方法はありますか?request.userに似ていますか?ビューまたはコンシューマ内でjwtトークンを使用してユーザーを検証して取得する

django-channelsを使用したとき、私はそれが消費者の内部で検証する必要があります。

def ws_connect(message): 
    params = parse_qs(message.content["query_string"]) 
    if b"token" in params: 
     token = params[b"token"][0] 

    # validate the token and get the user object 

    # create an object with that user 
+0

あなたに権限が追加されましたか?表示しますか?あなたのビューはDRF – Swapnil

+0

@Swapnilはいのビュークラスの1つを使用して作成されていると仮定しています。実際には、私は消費者の中でdjangoチャンネルを使用するときに必要です。私は質問を更新しました。 – Robin

+0

私はdjango-rest-frameork-jwtライブラリを使っていませんが、ライブラリを正しく設定した場合、 'rest_framework_jwt.authentication.JSONWebTokenAuthentication'の場合は' request.user'を設定する必要があります。 – Swapnil

答えて

1

私はトークンを検証し、VerifyJSONWebTokenSerializerクラスをインポートすることで、ユーザーを取得しようとしていました。

from rest_framework_jwt.serializers import VerifyJSONWebTokenSerializer 

data = {'token': token} 
valid_data = VerifyJSONWebTokenSerializer().validate(data) 
user = valid_data['user'] 

これは私のような体に役立ちます。

関連する問題