首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Django实战-服务端登录验证-code换取openid

Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。

在知道小程序授权登录流程之后,按照每个步骤编写授权的业务代码。完成了小程序端的授权登录,需要将 code 通过 POST 请求传给服务端,再用appid,secret,js_code分别替换如上接口地址的APPID、SECRET、JSCODE,其它不变,组装成完整的地址。

在去请求接小程序登录的接口地址前,需要先了解一个知识点。后端通过JSON web token方式登录,把token和用户id传回小程序。那问题就来了,用什么来存储 token,Django 的项目一般都是视图+模板一套出来,像这种不通过模板的值,该如何传递呢?

一、Session保存会话数据

Session和Cookie的关系是什么?

Session是基于Cookie, 是因为把数据写入session时将会生成一个随机字符串,并将随机字符串存入cookie,再读取时,是先从cookie中获取这个随机字符串,在去获取session内容。在SessionMiddleware中的process_request方法里面可以看到。

二、服务端登录验证

流程

1.使用微信小程序登录和获取用户信息Api接口

2.把Api获取的用户资料和code发送给django后端

4.后端将openid作为用户名和密码

5.后端通过JSON web token方式登录,把token和用户id传回小程序

6.小程序将token和用户id保存在storage中

下次请求需要验证用户身份的页面时,在header中加入token这个字段

Session就是保存了会话里面的数据,通过request.session进行获取。

导入 json、requests 模块,将APPID、SECRET、JSCODE,组装成完整的地址。通过requests 的 GET 请求换取用户openid。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190829A000PN00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券