drf-jwt-wechat django jwt 小程序登录后台

小程序,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='li233111@gmail.com'
__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):
    """
    通过小程序post请求发送code, 经JSONWechatTokenSerializer验证后返回
    openid和session_key.
    使用用户标识openid生成一个user实例, 方便视图对用户权限的管理.
    """

    def __init__(self, *args, **kwargs):
        super<
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值