一、概述
微信授权登陆是用户通过点击微信公众号下方的菜单按钮,携带token等信息微信登录,是指用户可以通过微信帐号来登录移动应用和网站应用
,降低注册门槛和用户流失率。此外还会在经过用户同意后,将用户基本信息(头像、昵称、性别、地区、语言)提供给开发者。
二、微信授权登陆过程涉及到的名词解释
appid : 应用唯一标识
redirect_uri : 重定向地址
response_type : 填code
scope : 应用授权作用域
state : 用于保持请求和回调的状态,授权请求后原样带回给第三方。
secret : 应用密钥AppSecret,在微信开放平台提交应用审核通过后获得
grant_type : 填authorization_code
refresh_token : 用户刷新access_token
access_token 接口调用凭证
opened : 授权用户唯一标识
unionid : 当且仅当该网站应用已获得该用户的userinfo授权时,才会出现该字段
click类型:点击推事件
view类型:跳转URL
click类型的菜单有key属性,而view类型的菜单没有key属性,与之对应的是url属性。key值是用于判断用户点击了哪个click类型的菜单项。
三、微信授权登陆流程
3.1第一步 获取code
用户点击公众号菜单按钮,将会重定向到redirect_uri的网址上,并且带上code,appid,和secret信息。
3.2第二步 通过code换取access_token
根据code,appid,和secret信息获取access_token信息。
3.3第三步 刷新access_token
access_token拥有较短的有效期,判断是否在有效期内。当access_token超时后,可以使用refresh_token进行刷新,refresh_token拥有较长的有效期(7天、30天、60天、90天),当refresh_token失效的后,需要用户重新授权。
3.4第四步 拉取用户信息
通过access_token和openid拉取用户信息。
相关微信接口:http:GET(请使用https协议)https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN