banner
阿珏酱

阿珏酱

いつもとは逆の電車に乗り、見たこともない風景を見に行く
twitter
github
facebook
bilibili
zhihu
steam_profiles
youtube

微信授权登录

Tips:当你看到这个提示的时候,说明当前的文章是由原emlog博客系统搬迁至此的,文章发布时间已过于久远,编排和内容不一定完整,还请谅解`

微信授权登录

日期:2019-4-5 阿珏 折腾代码 浏览:1874 次 评论:1 条

文档: https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421135319

微信的授权登录和QQ、新浪等平台的授权登录都大同小异,均采用 Oauth OAuth2.0鉴权方式。
微信授权分为两种:
  1. 静默授权
  2. 弹窗授权,需要用户手动同意
两种scope的区别说明
  1. 以snsapi_ base为scope发起的网页授权,是用来获取进入页面的用户的openid的,并且是静默授权并自动跳转到回调页的。用户感知的就是直接进入了回调页(往往是业务页面)
  2. 以snsapi_userinfo为scope发起的网页授权,是用来获取用户的基本信息的。但这种授权需要用户手动同意,并且由于用户同意过,所以无须关注,就可在授权后获取该用户的基本信息。
用户管理类接口中的“获取用户基本信息接口”,是在用户和公众号产生消息交互或关注后事件推送后,才能根据用户OpenID来获取用户基本信息。这个接口,包括其他微信接口,都是需要该用户(即openid)关注了公众号后,才能调用成功的。

具体而言,网页授权流程分为四步:
  1. 引导用户进入授权页面同意授权,获取code
  2. 通过code换取网页授权access_token(与基础支持中的access_token不同)
  3. 如果需要,开发者可以刷新网页授权access_token,避免过期
  4. 通过网页授权access_token和openid获取用户基本信息(支持UnionID机制)

以下是封装的微信操作类,需要用到两个数据表,用于保存 access_token、ticket,由于他们具有一定有效期,且每天请求数有上限,所以开发者需自行保存

网友评论:

image 头条新闻 2 年前 (2019-04-11)
文章不错支持一下吧

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。