准备工作
微信登不上去呢,微信扫码登录是基于OAuth2.0实现的,首先你需要要微信开放平台先注册开发者帐号和一个已审核通过的网站应用,这样你就拿到了AppID和AppSecret,以及你自己网站应用的域名,比如www.xxx.com
/ 注册流程按官网要求填写资料就行了注册官网地址:
授权流程说明
用户点击网页上面的微信扫码登录,我们主动跳转到微信指定的url,并显示一个二维码
用户使用微信扫一扫,并授权登录,微信指定的url会回跳到我们设置好的域名url,同时会把code带回来
我们拿code参数,加上AppID和AppSecret等,通过API换取access_token
通过access_token进行接口调用,获取用户基本数据
授权流程事例图
具体实现
第一步:请求code
首先打开微信手机客户端,然后进入微信登录页面,接着选择手机号登录或者微信号/QQ号/邮箱登录,输入登录密码或者短信验证码,最后点击登录即可。微信(WeChat)是腾讯公司于2011年1月21日推出的一款面向智能终端的即时通讯软件,。
用户点击微信扫码登录,主动跳转至
1、APPID注册时获取的
2、redirect_uri是用户扫码同意授权后,微信这边主动回跳的地址,在回跳回来这个地址后台会有code,这个redirect_uri需要做一次UrlEncode
3、response_type和scope是固定写法
4、state是相当于传参,微信那边回跳后会原封不动的再带回来
最终回到我们域名的地址大概是这样
微信扫码效果图
第二步:通过code获取access_token
前台在拿到code后,调用后台一个api,然后由后台去请求微信的这个api换取access_token,我们不建议前台去直接请求,因为secret最好不要暴露在前端,不安全
返回结果
参数说明
参数
说明
access_token
接口调用凭证
expires_in
access_token接口调用凭证超时时间,单位(秒)
refresh_token
用户刷新access_token
openid
1、打开另一台手机,在桌面上选择“微信”,进入微信登录页面。2、在微信登录页面,输入密码,点击“登录”。3、如忘记了密码,点击“用短信验证码登录”。4、进入“获取验证码”页面,点击“获取验证码”。5、在弹出“确。
授权用户唯一标识
scope
用户授权的作用域,使用逗号(,)分隔
unionid
当且仅当该网站应用已获得该用户的userinfo授权时,才会出现该字段。
第三步:通过access_token调用接口
返回结果
参数
说明
openid
普通用户的标识,对当前开发者帐号唯一
nickname
普通用户昵称
登录微信的方法如下:1、进入手机应用商店,下载并安装微信APP;2、点击登录,用自己注册时的手机号码和密码来进行登录即可;如果忘记密码,可以通过点击忘记密码,系统会发送验证码到手机,通过验证码也可以进行登录。如果没有微。
sex
普通用户性别,1为男性,2为女性
province
普通用户个人资料填写的省份
city
普通用户个人资料填写的城市
country
国家,如中国为CN
headimgurl
用户头像,最后一个数值代表正方形头像大小(有0、46、64、96、132数值可选,0代表640*640正方形头像),用户没有头像时该项为空
登录微信的方法有如下:1、手机号:手机号是最常用的登录方式因为每个人都记得自己的手机号码。2、微信号:许多人都不记得自己的微信号,因为许多微信号是系统自动生成的,有一连串数字和字母组成的,复杂难 记。3、QQ号。
privilege
用户特权信息,json数组,如微信沃卡用户为(chinaunicom)
unionid
用户统一标识。针对一个微信开放平台帐号下的应用,同一用户的unionid是唯一的。
我们拿到这些用户信息,再结合我们的业务就完成了微信扫码登录