扫描二维码登录微信开放平台获取用户基本信息!附上可用demo
时间:2023-03-29 22:23:40
PHP
*{margin:0px;padding:0px;}#headimg{宽度:180px;高度:180px;保证金:100px自动10px;边界半径:100%;}#headimgimg{宽度:180px;高度:180px;边界半径:100%;}h2{文本对齐:居中;}p{文本对齐:居中;字体大小:38px;字体粗细:粗体;顶部边距:20px;}微信开放平台提供网站扫码登录接口,用于获取用户基本信息(头像,昵称),方便网站快速接入微信登录,快速登录。需要使用登录接口,需要成为微信开放平台认证开发者(300元)才能获得该接口权限。准备工作:1、准备APPID、APPSECRET2、准备接口地址3、准备REDIRECT_URI获取代码接口https://open.weixin.qq.com/connect/qrconnect?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect获取acess_token,openid接口https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code用户信息接口:https://api.weixin.qq.com/sns/userinfo?access_token=access_token&openid=openid流程:1、获取CODE2、获取access_token、openid3、获取用户信息操作:1、请求CODE参数说明通过接口地址,拼接以上参数访问https://open.weixin。qq.com/connect/qrconnect?appid=APPID&redirect_uri=这里填写redirect_uri&response_type=code&scope=SCOPE&state=STATE#wechat_redirectredirect_uri表示这是点击上面地址扫码后要跳转的地址de.重定向的地址会带回两个参数,code和state参数。状态描述用于保持请求和回调的状态,并在请求授权后原样带回给第三方。这个参数可以用来防止csrf攻击(跨站请求伪造攻击)。建议第三方带上这个参数,可以设置成简单的随机数加session进行验证。您可以自己生成随机字符串。为了简单学习,我使用时间戳进行MD5加密生成简单的比如你的redirect_uri是http://www.baidu.com/login.php,那么扫码后,跳转地址是这样的。http://www.baidu.com/login.php?code=generatedcode&state=generatedstate当然redirect_uri需要进行urlEncode编码。最后获取CODE的访问链接是这样的:然后跳转到一个扫描页面:2.获取access_token和openid,通过curl向接口发送请求。3.获取用户信息";echo"$nickname";?>完整代码code.phplogin.php登录成功!*{margin:0px;padding:0px;}#headimg{宽度:180px;高度:180px;保证金:100px自动10px;边界半径:100%;}#headimgimg{宽度:180px;高度:180px;边界半径:100%;}h2{文本对齐:居中;}p{文本对齐:居中;字体大小:38px;字体粗细:粗体;顶部边距:20px;}登录无效,请重新扫码登录";echo"
登录";}else{echo"
";echo"
$昵称";echo"
登录成功
";}?>DEMO:点击查看时间:2018-1-26作者:TANKING网址:https://likeyunba.com学习交流微信:face6009