登录  /  注册

微信开发 微信扫描登陆

php中文网
发布: 2016-06-06 20:38:42
原创
1407人浏览过

网站中集成微信扫描登陆 直接使用微信账号登陆 减去注册 登陆麻烦只需要微信扫描二维码登陆,有哪位小伙伴 遇到这样类似的需要 类似的场景吗??

给一个网站的例子链接(非广告推广..)微信扫码登陆

回复内容:

网站中集成微信扫描登陆 直接使用微信账号登陆 减去注册 登陆麻烦只需要微信扫描二维码登陆,有哪位小伙伴 遇到这样类似的需要 类似的场景吗??

给一个网站的例子链接(非广告推广..)微信扫码登陆

我已经做了一个简单的封装的api。通过微信的网页授权获取用户信息,来实现登录、验证、注册等功能。但是这个网页授权获取用户基本信息,需要认证过的服务号才能具备此功能,手中刚好有一个,就用来做了一个API,可以供大家一起使用。

这个API的具体逻辑就是,网站在登陆页面上显示内容为A链接的二维码,引导用户使用微信扫描该二维码。A链接的格式应当为:https://wenfan.cn/wechat/api.php?token=xxxxxx&key=xxxxxx。这个链接包括 token和tkey两个变量,前者用于识别用户是否已经扫描该页面,后者用于双向验证交换信息;

用户如果使用其他工具打开这个链接,是不会有任何反应的,只有在微信中扫描才会有所反应;

用户在微信中扫描以后,首先会验证APIKEY是否存在,如果存在则获取callback回调地址。然后会继续向微信平台请求得到用户的唯一openid(程序会对openid进行一次加密,防止有人通过其他手段获得微信用户原始openid后进行攻击,确保得到的openid的绝对唯一性),得到openid以后,程序将token和openid以及APIKEY、secret四个变量通过POST方式传递给callback回调地址;

callback回调地址收到上述参数后,对APIKEY和secret进行验证(防止有人直接向callback地址进行POST),然后将token和openid写入数据库;

checkstatus.php?token=xxxxxx 是用来判断该token是否已经和openid组对写入了数据库中,如果数据库中存在了这个token,并且配对有一个openid,则说明用户已经扫码;

前端index.php通过轮询checkstatus.php,来获取数据库中是否存在这个token的状态,每隔3秒轮询一次,如果发现该token已存在于数据库中,则开始执行跳转(或者其他动作,比如写入session等等),至此,整个流程已经完成。

具体部署方法如下:

1、在本站申请一个API KEY:Wechat Scan Login API,请尽量勿使用QQ邮箱注册,可能收不到验证链接;
2、点击邮件验证链接以后,登陆后台可以得到一个API KEY;
3、下载DEMO.ZIP [https://wenfan.cn/wechat/demo.zip];
4、修改config.php里面的数据库连接信息;
5、在数据库里建立一个名称为“wechat”的表,必须至少包含两个字段:token 和 user。前者用来记录临时token,后者用来记录微信用户唯一id;
6、修改callback.php和index.php里对应的API KEY值以及secret值,改成第一步自己得到的API KEY和secret;
7、将文件上传至服务器,在第一步的API KEY信息后台,将callback.php的地址填入。
[可选]:根据自己的需求,优化二维码样式,及设定扫描成功后的动作代码。获取到的微信用户id为唯一id,所以该扫描登陆具备较强的唯一性,可以用来注册或者登陆,或者人机验证(代替验证码)。

[点击查看LIVE DEMO]

好吧 又是自问自答 发布问题后 问了一下 在腾讯工作的朋友.....然后得到了 如下链接

微信文档 无力吐槽...

实例

这个实现现在很多网站都加了……

如果有一个认证了的服务号可以自己做的。

生成带参数二维码。

1、在微信开放平台注册(open.weixin.qq.com)
2、申请开发者认证
3、认证后,即可使用微信登录功能,支持app web

去微信开入平台注册申请开发者,完了添加应用,添加完之后设置 callback ,扫码之后会跳转到你的 callback (并带上 code),通过 code 去换取 openid 和 accessToken。

在本站申请一个API KEY:Wechat Scan Login API
这个 KEY 怎么得到?

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号