资讯专栏INFORMATION COLUMN

微信开放平台扫码登录获取用户基本信息!附可用demo

flybywind / 1637人阅读

摘要:微信开放平台提供了网站扫码登录的接口,用于获取用户基本信息头像,昵称方便网站快速接入微信登录,快捷登录。需要使用登录接口,需要成为微信开放平台认证开发者元才可以获得这个接口权限。

微信开放平台提供了网站扫码登录的接口,用于获取用户基本信息(头像,昵称)方便网站快速接入微信登录,快捷登录。需要使用登录接口,需要成为微信开放平台认证开发者(300元)才可以获得这个接口权限。

准备工作:

1、准备APPID、APPSECRET
2、准备接口地址
3、准备REDIRECT_URI

获取code接口

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、获取CODE
2、获取access_token、openid
3、获取用户信息

操作:

1、请求CODE

参数说明

通过接口地址,拼接以上参数进行访问即可

https://open.weixin.qq.com/connect/qrconnect?appid=APPID&redirect_uri=这里填写redirect_uri&response_type=code&scope=SCOPE&state=STATE#wechat_redirect

redirect_uri说明
这是点击上面地址扫码后跳转的地址,跳转的地址回给你带上两个参数,code和state参数。

state说明
用于保持请求和回调的状态,授权请求后原样带回给第三方。该参数可用于防止csrf攻击(跨站请求伪造攻击),建议第三方带上该参数,可设置为简单的随机数加session进行校验。

可以自己生成随机字符串,为了简单学习,我这里用时间戳进行MD5加密简单生成

例如你的redirect_uri是http://www.baidu.com/login.php,那么扫码后,跳转的地址会是这样的。

http://www.baidu.com/login.php?code=生成的code&state=生成的state

当然redirect_uri需要进行urlEncode编码。

最终获取CODE的访问链接就是这样的:

location.href="https://open.weixin.qq.com/connect/qrconnect?appid=$appid&redirect_uri=$redirect_uri&response_type=code&scope=snsapi_login&state=$state#wechat_redirect";";
?>

然后就跳转到了一个扫码的页面了:

2、获取access_token和openid

通过curl向接口发起请求即可

3、获取用户信息

$nickname

"; ?>

完整代码

code.php

location.href="https://open.weixin.qq.com/connect/qrconnect?appid=$appid&redirect_uri=$redirect_uri&response_type=code&scope=snsapi_login&state=$state#wechat_redirect";";

?>

login.php




    登录成功!
    






登录失效,请重新扫码登录

"; echo "

登录

"; }else{ echo "

"; echo "

$nickname

"; echo "

登录成功

"; } ?>

DEMO:点击查看

时间:2018-1-26
作者:TANKING
网站:https://likeyunba.com
学习交流微信:face6009

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/30047.html

相关文章

  • 说说微信扫码登录

    摘要:详情接口我们这里主要讲的是网站应用,网站应用微信登录是基于协议标准构建的微信授权登录系统即上面的协议。在微信客户端授权登录获取用户信息的可以查看。微信授权登录目前支持模式,适用于拥有端的应用授权。 一、OAuth2.0 OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。 ...

    Jokcy 评论0 收藏0
  • 通过小程序实现网站扫码登录!每年都可以省 300 块...代替微信开放平台和服务号的登陆模式!

    摘要:微信开放平台要认证开发者,需要块年,微信服务号也需要提交企业资料认证,需要块年。免费的方法来了既然微信开放平台和微信认证的服务号每年都需要块认证费,个人学习不舍得,没资料,那么咱们把矛头指向微信小程序了。 我们知道,要接入微信登陆有两种方式 1、微信开放平台2、微信服务号 这两种方式均可生成带参数的二维码,然后扫码获取用户基本信息的,所以我们可以在网站上用这两种方式开发网站的扫码登录,...

    rickchen 评论0 收藏0
  • 网站接入微信扫码登录获取用户基本信息(微信开放平台)

    摘要:现在的网站基本都接入微信登陆了,就好像下面这样的。只需要用微信扫一下二维码,这个网站就可以展示你的微信昵称和头像,免去注册账号和输入密码登录的步骤,还免去设置头像和昵称的步骤,所以是挺方便的。 现在的网站基本都接入微信登陆了,就好像下面这样的。 showImg(https://segmentfault.com/img/bVbc4jV?w=523&h=508); 只需要用微信扫一下二维码...

    tangr206 评论0 收藏0
  • python实现微信第三方网站扫码登录(Django)

    摘要:写在前面本周刚在项目中实现了微信第三方网站扫码登录。准备与注意事项微信公众平台跟微信开放平台是两个不同的平台,别搞混了。参数在微信开放平台中查看。 写在前面 本周刚在项目中实现了微信第三方网站扫码登录。因为第一次写相关项目,所以遇到了很多坑。所以写这篇文章是希望像我之前那样的小白也能从容的开发,不要浪费无谓的时间,这篇文章尽量写的详细简单。准备与注意事项 微信公众平台跟微信开放平台是...

    lemanli 评论0 收藏0
  • 总结微信平台上面遇到问题

    摘要:总结一下自己微信开发一路上遇到的各种问题客服接口问题客服接口只能在用户自动触发公众号上面的事件之后的小时内可以回复不限条数条消息发送素材却没收到信息提示却是成功的过期了也会提示成功,可以通过下载这个来判断是否有效微信回调域名的配置直接贴图了 总结一下自己微信开发一路上遇到的各种问题1、客服接口问题 客服接口只能在用户自动触发公众号上面的事件之后的48小时内可以回复 n (不限条...

    phpmatt 评论0 收藏0

发表评论

0条评论

flybywind

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<