itt*_*tus 3 python django jwt django-rest-framework
我正在使用Django 1.8版和django-rest-framework-jwt身份验证.验证后,我们的应用程序将返回前端并提供以下信息:
from rest_framework_jwt.settings import api_settings
from rest_framework.response import Response
from django.contrib.auth.models import User
jwt_payload_handler = api_settings.JWT_PAYLOAD_HANDLER
jwt_encode_handler = api_settings.JWT_ENCODE_HANDLER
user.profile_picture = "test_profile_picture.jpg" #user is django.contrib.auth.models.User object
payload = jwt_payload_handler(user)
token = jwt_encode_handler(payload)
jwt_login_response = {
"token": token
}
return Response(jwt_login_response,status=status.HTTP_200_OK)
Run Code Online (Sandbox Code Playgroud)
在前端,我们将解码
import jwtDecode from 'jwt-decode';
var decodedToken = jwtDecode(token);
Run Code Online (Sandbox Code Playgroud)
但目前decodeToken只包含django-rest-framework-jwt默认的值
Object {username: "test", user_id: 9, email: "test@gmail.com", exp: 1454754137}
Run Code Online (Sandbox Code Playgroud)
我想在jwt中存储更多信息,profile_picture但我不知道如何.我真的想找到解决这个问题的方法.
您可以使用该JWT_PAYLOAD_HANDLER设置覆盖附加到令牌的有效内容.
默认的实现包括username,user_id,email,和exp(过期时间),因为你已经注意到了.您可以在GitHub上找到默认实现.
| 归档时间: |
|
| 查看次数: |
1684 次 |
| 最近记录: |