drf-jwt-wechat
小程序,drf,jwt,一个对三者进行封装登录的包
项目进行时,创建的一个包。
小程序登录逻辑
小程序登录需要前端调用wechat-login,产生code,传给后台,后台再用code,appip,appsecret 调用微信接口获取用户数据,一般后台不可将微信返回的用户数据openid,session直接返回到小程序前端。会进行一些封装,这里使用jwt。
jwt
1.通过了小程序登录获得了openid,session
2.服务器通过验证发送给用户一个token
3.客户端存储token,并在每次请求时附送上这个token值
4.服务端验证token值,并返回数据
drf
全称 django rest framework 一个快速简洁构建web api 的框架
源代码示例
#!/usr/bin/env python
# coding=utf-8
# connect='[email protected]'
__auther__ = 'liazylee'
from rest_framework_jwt.views import ObtainJSONWebToken
# import emoji as emoji
import requests
from django.conf import settings
from django.contrib.auth import authenticate, get_user_model
from rest_framework import serializers
from django.utils.translation import ugettext_lazy as _
from rest_framework_jwt.compat import get_username_field
from rest_framework_jwt.settings import api_settings
jwt_payload_handler = api_settings.JWT_PAYLOAD_HANDLER
jwt_encode_handler = api_settings.JWT_ENCODE_HANDLER
User = get_user_model()
class Serializer(serializers.Serializer):
@property
def object(self):
return self.validated_data
class JSONWechatTokenSerializer(Serializer):