微信受权登陆

1、须要了解的整个过程
微信受权登陆的整个过程:
1. 第三方发起微信受权登陆请求,微信用户容许受权第三方应用后,微信会拉起应用或重定向到第三方网站,而且带上受权临时票据code参数;
2. 经过code参数加上AppID和AppSecret等,经过API换取access_token;
3. 经过access_token进行接口调用,获取用户基本数据资源或帮助用户实现基本操做。
2、具体步骤
1.用户受权并获取code
  • APPID就是填写你公众号的appid
  • REDIRECT_URI是填写经过urlEncode处理的受权地址,不能直接填写。(处理网站: http://tool.oschina.net/encode?type=4,在这里有一个要注意的就是,在填写网关时,要去掉http://,否则就会出现 redirect_uri的域名与审核时填写的受权域名不一致)
  • SCOPE通常填写snsapi_userinfo比较好,可以直接经过用户受权获取用户信息(snsapi_login是坑, snsapi_base只能获取openid)
请求地址参数说明
参数
是否必须
说明
appid
应用惟一标识
redirect_uri
请使用urlEncode对连接进行处理
response_type
填code
scope
应用受权做用域,拥有多个做用域用逗号(,)分隔,网页应用目前仅填写snsapi_login即
state
用于保持请求和回调的状态,受权请求后原样带回给第三方。该参数可用于防止csrf攻击(跨站请求伪造攻击),建议第三方带上该参数,可设置为简单的随机数加session进行校验
 
2.经过code获取assess_token和openid
经过code获取access_token和openid(有这两个就能获取用户基本信息,如昵称、头像)
其实就是将获取到的code填进去,appid和secret是填写你公众号的appid和secret就行。
请求地址参数说明
参数
是否必须
说明
appid
应用惟一标识,在微信开放平台提交应用审核经过后得到
secret
应用密钥AppSecret,在微信开放平台提交应用审核经过后得到
code
填写第一步获取的code参数
grant_type
填authorization_code
 
返回说明
正确的返回:
{
"access_token":"ACCESS_TOKEN",
"expires_in":7200,
"refresh_token":"REFRESH_TOKEN",
"openid":"OPENID",
"scope":"SCOPE",
"unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL"
}
参数说明
参数
说明
access_token
接口调用凭证
expires_in
access_token接口调用凭证超时时间,单位(秒)
refresh_token
用户刷新access_token
openid
受权用户惟一标识
scope
用户受权的做用域,使用逗号(,)分隔
unionid
当且仅当该网站应用已得到该用户的userinfo受权时,才会出现该字段。
 
3、获取用户基本信息
填上获取到的token和openid,获取用户信息。
 
4、一些总结
1.域名问题
    我是使用了ngrok进行测试的,作微信公众,域名是必须的,这里ngrok反向代理能够暂时解决。(ngrok 是一个反向代理,经过在公共的端点和本地运行的 Web 服务器之间创建一个安全的通道。)
因为这个东西不是很了解,因此就很少叙述了(经过ngrok创建通向本地8080端口的通道,可以获取到一个随机的域名)
2.微信公众号底部菜单栏
    在作这个微信受权有一个困扰个人地方,刚开始我是经过拼接url去测试的(我的以为巨麻烦)。后来我就使用了微信公众号底部菜单栏。这里就说一下自定义菜单栏吧。。。。。
点开官方地址
拖到最底会看到一个连接(使用网页调试工具调试该接口)
经过这里就能自定义菜单了。。。。。
 
 
后记:
概念:snsapi_base与snsapi_userinfo属于微信网页受权获取用户信息的两种做用域。 区别:有无弹框 以snsapi_base为scope发起的网页受权,是用来获取进入页面的用户的openid的,而且是静默受权并自动跳转到回调页的. (静默的另外一种:对于已关注公众号的用户,若是用户从公众号的会话或者自定义菜单进入本公众号的网页受权页,即便是scope为snsapi_userinfo,也是静默受权,用户无感知。) 以snsapi_userinfo为scope发起的网页受权,是用来获取用户的基本信息的。但这种受权须要用户手动赞成,而且因为用户赞成过,因此无须关注,就可在受权后获取该用户的基本信息。 --------------------- 本文来自 enjoy_sun_moon 的CSDN 博客 ,全文地址请点击: https://blog.csdn.net/enjoy_sun_moon/article/details/79497566?utm_source=copy
相关文章
相关标签/搜索