365体育备用网址报道7.1.3详细步骤_365体育备用网址官网资讯

  1. 配置授权回调页面域名
    在高级接口权限列表中,找到OAuth2.0网页授权,点击右侧的修改。如图7-2所示:

图7-2微信OAuth2.0授权
授权回调域名配置规范为全域名并且不带http,比如需要网页授权的域名为:www.qq.com ,配置以后此域名下面的页面http://www.qq.com/music.HTML 、 http://www.qq.com/login.html 都能够进行OAuth2.0鉴权。但http://pay.qq.com 、http://music.qq.com 、 http://qq.com 无法进行OAuth2.0鉴权。
这是我们填写mascot.duapp.com,它是方倍工作室的一个百度应用二级域名。如图7-3所示:

图7-3配置授权回调域名
正常情况下,顶部应该提示“通过安全监测”。表示提交通过。
2. 用户授权并猎取code
在域名根目录下,新建一个文件,命名为oauth2.PHP,其内容为

<?php
if (isset($_GET['code'])){
echo$_GET['code'];
}else{
echo "NO CODE";
}
?>

先了解下要求授权页面的构造方式,接口要求如下:
https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
要求授权参数说明如表7-1所示:

表7-1授权要求参数说明
构造要求接口如下:
Scope为snsapi_userinfo(本节基于这个实现)
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx9a000b615d89c3f1&redirect_uri=http://mascot.duapp.com/oauth2.php&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect
Scope为snsapi_base时
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx9a000b615d89c3f1&redirect_uri=http://mascot.duapp.com/oauth2.php&response_type=code&scope=snsapi_base&state=2#wechat_redirect
把这个链接发送或者回复到用户微信中,以便在微信扫瞄器中打开,这里使用A链接封装如下:

OAuth2.0网页授权演示
<a href="https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx9a000b615d89c3f1&redirect_uri=http://mascot.duapp.com/oauth2.php&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect">点击这里体验</a>

技术撑腰方倍工作室
在微信中显示如图7-4所示:

图7-4体验OAuth2授权
点击“点击这里体验OAuth授权”链接后,弹出应用授权界面,如图7-5所示:

图7-5应用登录
点击“同意”按钮,将跳转到oauth2.php页面,程序将猎取到code,界面上显示如图7-6所示:

图7-6猎取code
这时刻能够通过点击右上角按钮下的复制链接,得到链接如下:
http://mascot.duapp.com/oauth2.php?code=00364c54e24d0029f8db4274dcaff638&state=1
胜利得到了code。
3. 使用code换取access_token
如果网页授权的作用域为snsapi_base,则本步骤中猎取到网页授权access_token的同时,也猎取到了openid,snsapi_base式的网页授权流程即到此为止。
换取网页授权access_token页面的接口如下:
https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
相关参数如表7-2所示:

表7-2换取access_token要求参数说明
构造要求如下:
https://api.weixin.qq.com/sns/oauth2/access_token?appid=wx9a000b615d89c3f1&secret=0ca77dd808ee1ea69830d7eecd770c06&code=00364c54e24d0029f8db4274dcaff638&grant_type=authorization_code
能够在扫瞄器中直接执行这条语句,得到如下json数据:

{
    "access_token": "OezXcEiiBSKSxW0eoylIeBxt9UjhFtdKikeq2gavEwzx1JhikLTyOhNThJV4l-qYxDZzhc7tEq4_4aNdgf12gPPO6-byBWFPPW0hS-_ElI7J3Pg7-gr4RqmBrY3fU1OOaJfd3tD7iU6qnGXX5f9UGA",
    "expires_in": 7200,
    "refresh_token": "OezXcEiiBSKSxW0eoylIeBxt9UjhFtdKikeq2gavEwzx1JhikLTyOhNThJV4l-qYxDZzhc7tEq4_4aNdgf12gNrlgJdOP1s3jqw49fpv-KQjni32A-DwXprScuG8_J2gJLqcT6WXH-fSFDr_Uk3NtA",
    "openid": "o7Lp5t6n59DeX3U0C7Kric9qEx-Q",
    "scope": "snsapi_userinfo,"
}

数据格式解读如表7-3所示:

表7-3换取access_token结果参数说明
于是,我们胜利的通过code换取到了access_token,以及refresh_token。
3.1 刷新access_token(如果需要)
官方文档中提到了刷新access_token的功能,但这不是必须要做的,初次学习能够先疏忽。
由于access_token拥有较短的有效期,当access_token超时后,能够使用refresh_token进行刷新,refresh_token拥有较长的有效期(7天、30天、60天、90天),当refresh_token失效的后,需要用户重新授权。
猎取上一步的refresh_token后,要求以下链接猎取access_token:
要求接口如下:
https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=APPID&grant_type=refresh_token&refresh_token=REFRESH_TOKEN
该接口参数说明如表7-4所示:

表7-4刷新access_token要求参数说明
这里构造如下URL:
https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=wx9a000b615d89c3f1&grant_type=refresh_token&refresh_token=OezXcEiiBSKSxW0eoylIeBxt9UjhFtdKikeq2gavEwzx1JhikLTyOhNThJV4l-qYxDZzhc7tEq4_4aNdgf12gNrlgJdOP1s3jqw49fpv-KQjni32A-DwXprScuG8_J2gJLqcT6WXH-fSFDr_Uk3NtA
在扫瞄器中执行,能够得到前面同样格式的json数据。
4. 使用access_token猎取用户信息(scope为 snsapi_userinfo时)
要求接口如下:
https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID
该接口参数说明如表7-5所示:

表7-5获了用户信息要求参数说明
构造要求如下:
https://api.weixin.qq.com/sns/userinfo?access_token=OezXcEiiBSKSxW0eoylIeBxt9UjhFtdKikeq2gavEwzx1JhikLTyOhNThJV4l-qYxDZzhc7tEq4_4aNdgf12gPPO6-byBWFPPW0hS-_ElI7J3Pg7-gr4RqmBrY3fU1OOaJfd3tD7iU6qnGXX5f9UGA&openid=o7Lp5t6n59DeX3U0C7Kric9qEx-Q
执行上述接口后,得到如下数据:

{
    "openid":"o7Lp5t6n59DeX3U0C7Kric9qEx-Q",
    "nickname":"FangBei",
    "sex":1,
    "language":"zh_CN",
    "city":"深圳",
    "province":"广东",
    "country":"365体育备用网址",
    "headimgurl":"http://wx.qlogo.cn/mmopen/Kkv3HV30gbEZmoo1rTrP4UjRRqzsibUjT9JClPJy3gzo0NkEqzQ9yTSJzErnsRqoLIct5NdLJgcDMicTEBiaibzLn34JLwficVvl6/0",
    "privilege":[]
}

上述参数解读如表7-6所示:

表7-6获了用户信息结果参数说明
这与作者的个人微信是一致的,如图7-7所示。

图7-7个人信息
至此,在不输入账号及密码的情况下,微信公众账号获得了用户的个人信息,这些信息包括昵称、性别、国家、省份、城市、个人头像以及特权列表。
一个完整的OAuth2认证就完成了。

------分隔线----------------------------

颁布评论 (93人察看0条评论)
请自觉遵守互联网相关的政策法规,严禁颁布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换金沙娱乐场宝马
最新评论