2017-09-15 124 views
0

我正在使用django-rest-framework作爲REST API。另外,對於JSON Web令牌身份驗證,我使用的是django-rest-framework-jwt。成功登錄後,會向用戶提供令牌。我已經找到了如何與api調用verify a token,但有沒有什麼方法來驗證視圖內的令牌並獲取該令牌的用戶,類似於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的視圖類創建的。其實我在使用django頻道的時候需要在消費者身上。我已經更新了這個問題。 – Robin

+0

我沒有使用django-rest-frameork-jwt庫,但通過他們的文檔,它看起來像是如果你有正確的設置庫,他們應該設置'request.user'的情況下'rest_framework_jwt.authentication.JSONWebTokenAuthentication' – Swapnil

回答

1

我正要驗證令牌,並通過導入VerifyJSONWebTokenSerializer類獲得用戶。

from rest_framework_jwt.serializers import VerifyJSONWebTokenSerializer 

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

希望這可以幫助像我這樣的任何身體。

相關問題