100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 只用测试号或认证服务号 实现电脑PC浏览器扫码微信扫码二维码登陆的思路 无需开放平台

只用测试号或认证服务号 实现电脑PC浏览器扫码微信扫码二维码登陆的思路 无需开放平台

时间:2021-05-02 06:10:10

相关推荐

只用测试号或认证服务号 实现电脑PC浏览器扫码微信扫码二维码登陆的思路 无需开放平台

这里有个思路只用认证服务号,不需要开放平台。

至于用unioid还是openid,个人认为只要是便于方便、准确认证客户身份即可。

只用认证服务号认证思路如下:

已知条件:

1、内置浏览器环境可以获取openid,(步骤不详述,自查)。

2、内置浏览器环境获取openid时可以静默授权(无需用户端点击确认)。

3、授权第一步客户打开”https:/ /open./connect/oauth2/authorize“的时候需要带一个定制参数state,这个参数大多被忽视(官文说是用来验证真伪),个人觉得利用好这个参数就可以实现免开放平台。

4、做应用开发肯定会有web服务器和数据库权限。

解决方案(步骤流程):

1、客户端打开浏览器(PC)时,session是空的,服务器生成网址(如:http:/ //login.xxp)带参(如:a1b2c3)二维码发给客户端,参数用于区分哪个客户端,记录在session里。

2、客户微信扫码跳转到登陆页面,服务端让客户端重定向(Redirect)到公众平台认证网址(https:/ /open./connect/oauth2/authorize),附带state为a1b2c3。

3、通过静默授权后,取得Request(“state”),取得openid(步骤机械,详情自查),记录回传的state和openid到数据库里(可以新建一个表专门干这个,也可在原有user表里加字段),JS控制微信端网页关闭或友好提示一下已在客户端登陆。

4、此时,客户端浏览器(PC)利用ajax短轮询机制询问服务器是否取得session(“state”)是否取得openid?取得以后,你懂的(记录对应用户到session、刷新或转到应用主页面或指定页面),完成登陆。

5、如何取得微信用户信息头像?在使用微信端授权时取得,记录在数据库里,web端都是调用服务端下发的数据库内容。

议:

整个流程未使用开放平台,因为客户端未调用开放平台,认证是微信端打开公众平台认证后,通过服务端后台转发认证结果。

后记:

本人正开发一个项目,需要微信、web都能登陆,也纠结申请开发平台问题,以上思路正在实践中,实现后再给结论。待续。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。