背景:

有些接口是可以公开访问的,有些是不允许公开访问的,所以要设置token进行区分验证

之前的网站是使用用户与密码,利用cookie与session进行验证用户态;

现在的话,是app和小程序,一般都是不用进行输入用户与密码,所以我们使用了token机制

token机制:

客户端获取一个code  通过code进行请求服务端的getToken接口(此接口会进行请求微信进行获取用户在微信的用户信息)

我们进行生成一个token(一个随机的字符串)  完成

token=>useinfo_wechat

的组合,然后进行返回给客户端token

以后客户端都携带token进行访问接口

首先验证token,符合的话就进行放行,不符合的话就让输入正确的token信息

第一步思路:通用的思路 这是在进行获取token

用户在客户端携带用户与密码进行访问getToken的接口(此接口进行用户与密码验证),如果验证通过的话

就会发送给客户端一个token   此token可以进行保存至数据库

我们进行比对token就可以确认用户的身份

第二步思路:通用的思路 这是在携带token访问接口

之后客户端进行携带token(用户的标识符)进行访问下单的接口 ,首先进行验证token(合法 有效 权限)

合法的话就进行放行,不合法的话就返回错误!

第三步思路:微信的体系  code->getToken->weixin_userinfo->save

code码客户端自己进行获取

然后携带code进行请求getToken,在getToken里面进行请求微信的api,微信会返回给后端接口微信的用户信息

我们可以将微信用户的信息进行保存至数据库,然后返回给客户端是一个token的字符串

第四部思路:微信的体系 携带token->进行访问接口(验证哈!)

用户进行携带token字符串进行访问下单接口,

我们会首先验证token接口,我们直接从cache就可以获取token对应的值,进行用户的验证

通过后可以访问接口,不行的话直接返回错误!

WeChat授权Token验证体系:用token来隐藏微信用户的openid不用用户名与密码了, 与cookie与session很相似相关推荐

  1. 如何获取微信用户的Openid详解(微信网页授权)

    如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑. 关于网页授权回调域名的说明 1.在微信公众号请求用户网页授权之前,开发者需要先到公众平台官 ...

  2. token验证_java基于token的身份验证?读完之后,大部分程序员收藏了...

    什么是token? token相当于是一个令牌,在用户登录的时候由服务器端生成(基于用户名.时间戳.过期时间.发行者等信息进行签名),然后发放给客户端,客户端将令牌保存,在以后需要登录验证的请求中都需 ...

  3. go token验证_golang jwt+token验证的实现

    Token验证是验证用户身份的重要方式,在golang开发中具有广泛应用,文中主要阐述了利用jwt包加密后的token验证. 导入包: import ( "github.com/dgrija ...

  4. php响应微信发送的token验证,ThinkPHP 3.2.3响应微信发送的Token验证失败

    2.下载微信的Token验证Demo,放于根目录测试链接没有任何问题: URL http://www.XXX.com/wx_sample.php Token weixin 3.将验证代码置于TP框架中 ...

  5. springmvc开发微信公众号接口 微信公众号测试账号配置接口Token验证

    转:springmvc开发微信公众号接口 微信公众号测试账号配置接口Token验证 开发前必读以及准备工作: 1.微信公众平台开发是指为微信公众号进行业务开发,为移动应用.PC端网站.公众号第三方平台 ...

  6. 【Kubernetes】k8s的安全管理详细说明【k8s框架说明、token验证和kubeconfig验证详细说明】

    文章目录 环境准备 k8s安全框架介绍 token验证 说明 启用token验证 测试token验证 base-auth[已经被淘汰] kubeconfig验证 说明 kubeconfig文件拷贝做测 ...

  7. 微信小程序python token验证_微信小程序登录对接Django后端实现JWT方式验证登录

    点击授权按钮后可以显示部分资料和头像,点击修改资料可以修改部分资料. 1.使用微信小程序登录和获取用户信息Api接口 2.把Api获取的用户资料和code发送给django后端 3.通过微信接口把co ...

  8. Spring Boot+Spring Security+JWT 实现token验证

    Spring Boot+Spring Security+JWT 实现token验证 什么是JWT? JWT的工作流程 JWT的主要应用场景 JWT的结构 SpringBoot+Spring Secur ...

  9. php token 验证,PHP如何实现Token验证

    PHP如何实现Token验证 首先将Token进行解析:然后根据解析出来的信息部分验证是否过期,如果未过期再将解析出的信息部分进行加密:最后将加密出来的数据和解析出来签名进行比对,如果相同则验证成功. ...

最新文章

  1. C#中用ILMerge将所有引用的DLL和exe文件打成一个exe文件
  2. 如何用8GB树莓派替代MacBookPro?
  3. uva 101 木块问题
  4. mysql基础(九) 索引和视图
  5. 我对软件行业及大数据的理解
  6. 又掌握了一项新技能 - 断点调试 Gradle 插件
  7. Java连接HBASE数据库,创建一个表,删除一张表,修改表,输出插入,修改,数据删除,数据获取,显示表信息,过滤查询,分页查询,地理hash
  8. 漫步数学分析十二——嵌套
  9. python 嵌入 php,Python与PHP实现插入排序实例
  10. php arff文件,python实现txt文件格式转换为arff格式
  11. 【Spring Cloud】注册中心-Nacos
  12. 亚马逊机器学习工程师面试怎么过?
  13. 第12章 元编程与注解、反射
  14. Excel word PDF导入导出 Easy POI
  15. arcgis注册dsoframer.ocx等组件
  16. Dynamics CRM 365 - 零基础入门学习后端插件的注册方法
  17. php base64互转pdf 将base64解析成pdf
  18. 洛谷 P4147 玉蟾宫【悬线法/单调栈】
  19. html5相册制作成视频,怎么把照片制作成视频,视频相册制作免费软件|特效多多...
  20. NLP领域可以投稿的期刊(2022整理)

热门文章

  1. Spark-on-YARN (来自学习笔记)
  2. 二分查找(5种方式实现二分查找),栈
  3. 处理数字_5_非NULL值的列的个数
  4. 表的插入、更新、删除、合并操作_8_手工插入数据
  5. 选择排序法python详解-Python选择排序算法(三)
  6. Mask R-CNN为什么“家喻户晓”
  7. Windows下配置R-FCN
  8. 图像滤波之高斯滤波介绍
  9. caffe使用过程+digits在windows下的安装和运行
  10. Uboot启动全过程