微信网站应用登陆

1.认证的微信开发者帐号一只
html

2.审核经过的网站应用一个api

3.受权域名可用微信

  网站应用微信登陆是基于OAuth2.0协议标准构建的微信OAuth2.0受权登陆系统。受权流程以下:微信开发

  1.第三方发起微信受权登陆请求,微信用户容许受权第三方应用后,微信会拉起应用或重定向到第三方网站,而且带上受权临时票据code参数;ide

  2.经过code参数加上AppID和AppSecret等,经过API换取access_token;测试

  3.经过access_token进行接口调用,获取用户基本数据资源或帮助用户实现基本操做。网站

  流程图:

  

  为了知足网站定制化的需求,微信提供了两种方式:ui

构造受权连接

  其中各个参数,微信开放平台里面有很详细的解释,这里注意的一点是回调地址必须是在回调域名内,而且urlencode以后才能够正确使用,成功后会携带state和code参数跳到回调页面。url

  

js微信登陆

    ①在页面中引入js文件spa

    <script src="http://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js"></script>

    ②在须要登陆的页面实例化登陆对象

    

    这里的回调地址与第一种方式同样,必须是urlencode以后的受权域名下的地址,这里的二维码显示能够本身设置样式,只要容器的id是你在实例化的时候设置的就行了

   

(我的测试,比较丑) 

    在上一步咱们拿到code以后,就能够经过code来获取这个应用的access_token了。

  

  

  access_token的有效期是7200秒,当这个token超时后,咱们可使用refresh_token来进行刷新获取新的access_token。refresh_token拥有较长的有效期(30天),当refresh_token失效的后,须要用户从新受权。

  请求连接以下:

  

  返回结果:

  

  在咱们获取到access_token的同时,咱们同时也获取到了用户的openid和unionid。这个openid和uniond是对于微信开发平台网站应用的openid,不是对于公众号的openid,与公众号毫无关联。union则是多个微信网站应用之间的关联。

  在咱们获取到access_token以后就能够根据不一样的scope权限调用接口了,scope权限区分以下:

  

  你们能够在构造受权的时候自行根据须要填写受权,这里并无写咱们构造受权连接是填写的“snsapi_login”,可是我我的测试发现能够获取access_token以及获取我的信息,这个"snsapi_login"应该是包含了上述两种scope的。

  主要能调用的几个接口以下:

  ①获取access_token

  ②刷新(续期)access_token

  ③获取用户我的信息(unionid机制)

  

  这是获取用户我的信息的接口调用方式,access_token和openid都是来自用code换取access_token以后获得的数据,返回结果以下

  

微信网站应用微信登陆开发指南:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419316505&token=&lang=zh_CN

微信网站应用受权后接口调用:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419316518&token=&lang=zh_CN

本文分享自微信公众号 - 业余草(yyucao)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。

相关文章
相关标签/搜索