100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 微信扫码登陆 无需开放平台实现方案

微信扫码登陆 无需开放平台实现方案

时间:2023-12-12 16:56:51

相关推荐

微信扫码登陆 无需开放平台实现方案

pc端通过公众平台微信扫码登陆 无需开放平台账号

微信扫码登陆流程扫码获取用户微信信息二维码生成

微信扫码登陆流程

1.通过调用微信接口生成二维码

2.前端展示这个二维码,并循环请求后端微信是否回调

3.根据回调结果处理扫码后的操作

扫码获取用户微信信息

扫码登陆的核心是用户扫描二维码后,后台从微信获取用户的openid等信息,然后在回调函数中验证你自己系统中的账号与openid的关联关系 进行登陆等逻辑,因此扫码登陆的第一步是生成这个二维码。

二维码生成

微信提供的生成二维码的接口有2个 :

一个是基于微信开放平台的。在有开发平台账号的情况下可直接使用开发平台: https://open./connect/qrconnect?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=snsapi_login&state=STATE#wechat_redirect;

生成二维码。这需要开发者资质验证。

另一种则是利用微信公众平台 ,生成二维码,进行扫码登陆

生成二维码的url为

https://open./connect/oauth2/authorize?appid="+appId+"&scope=snsapi_userinfo&response_type=code&state="

+state + “&redirect_uri=”+redirect_uri+"#wechat_redirect"

注意这里使用的scope是snsapi_userinfo 或者snsapi_base 而上面的url使用的是snsapi_login

但这个url产生的二维码只能在微信浏览器中展示 这时候可以自己生成二维码

最简单的可以使用 /api.php?text="+URLEncoder.encode(url, “GBK”);然后前端直接打开返回的链接

这里可以进一步优化 使用微信的长链接转短链接对后面的url进行处理

至此用户扫码二维码并点击确认后,微信服务器会回调你上面设置的redirect_uri,在这里可以获取用户的openid。

最后 使用这种方式还是存在几个问题的

用户扫码后是提示用户关注公众号 并不是微信提供的登陆确认页面展示二维码的页面也不是微信给出的页面 但这个可以根据自己的需求去改。

因此最佳的方案还是根据微信官方的文档,使用开发平台去进行扫码登陆,这也利于后期使用unionId进行管理多个微信的公众号 小程序。

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