在Django中,可以通过token来获取userId的方法如下:
django-rest-framework
和djangorestframework-jwt
这两个库,它们提供了处理身份验证和令牌的功能。REST_FRAMEWORK
和JWT_AUTH
相关的参数,例如:REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': [
'rest_framework_jwt.authentication.JSONWebTokenAuthentication',
],
}
JWT_AUTH = {
'JWT_SECRET_KEY': 'your-secret-key',
'JWT_ALGORITHM': 'HS256',
}
jwt_decode_handler
函数来解码token,然后从解码后的数据中获取userId。示例代码如下:from rest_framework_jwt.utils import jwt_decode_handler
def get_user_id_from_token(request):
token = request.META.get('HTTP_AUTHORIZATION', '').split(' ')[1]
decoded_token = jwt_decode_handler(token)
user_id = decoded_token['user_id']
return user_id
from django.urls import path
urlpatterns = [
path('get-user-id/', get_user_id_from_token),
]
这样,当你发送一个带有token的请求到/get-user-id/
路径时,视图函数将解析token并返回对应的userId。
领取专属 10元无门槛券
手把手带您无忧上云