繁体   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