簡體   English   中英

獲取DRF-jwt令牌

[英]Obtaining DRF-jwt token

目前,我正在手動生成令牌,但是我想使用jwt令牌,我遵循了官方文檔和其他參考資料,但仍然無法找出問題所在。

serializers.py ,其中在驗證令牌后手動生成。

class UserLoginSerializer(serializers.ModelSerializer):
    token = serializers.CharField(allow_blank=True, read_only=True)

    class Meta:
        model = User
        fields = [
            'username',
            'password',
            'token',
        ]
        extra_kwargs = {"password":
                            {"write_only": True}
                        }

    def validate(self, data):
        username = data.get('username', None)
        password = data.get('password', None)

        try:
            usern = Account.objects.get(username=username)
        except ObjectDoesNotExist:
            raise serializers.ValidationError("User does not exists")

        if usern.check_password(password):
            data["token"] = "asdasdasdasd"
        else:
            raise serializers.ValidationError("password invalid")

        return data

urls.py

from django.conf.urls import url
from .views import AuthRegister, AuthLogin
from rest_framework_jwt.views import obtain_jwt_token

urlpatterns = [
    url(r'^register/$', AuthRegister.as_view()),
    url(r'^login/$', AuthLogin.as_view()),
    url(r'^api-token-auth/', obtain_jwt_token),
]

在設置中,我包含了'rest_framework_jwt.authentication.JSONWebTokenAuthentication',

我已經使用了url(r'^api-token-auth/', obtain_jwt_token) ,但是我無法弄清楚如何生成jwt令牌。 請任何人幫我!

您需要對端點/api-token-auth/上的API進行HTTP POST調用。 在此調用中,正文將包含兩個鍵usernamepassword

使用cURL的示例

curl -X POST -d username=abcd -d password=1234 http://ip:port/api-token-auth/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM