通过微信扫码登录网站流程
通过微信扫码登录网站
微信开放平台文档地址:https://developers.weixin.qq.com/doc/oplatform/Website_App/WeChat_Login/Authorized_Interface_Calling_UnionID.html
步骤:
一、在管理中心中创建应用,填写信息并等待审核完成。
二、获取到app中的 AppID 和AppSecret
三、获取微信登录二维码。
将app的AppID 和 想要跳转回的网址拼接到下面:
https://open.weixin.qq.com/connect/qrconnect?appid={appid}&redirect_uri={redirect_uri}&response_type=code&scope=snsapi_login&state=STATE#wechat_redirect
其中redirect_uri要经过url编码urlEncode,然后就可以在网页中打开这个链接,可以看到一个二维码。
使用微信扫描这个二维码,就会跳转回redirect_uri地址,并且后面添加参数https://xx.xxxxxxxxxx.cn/?code=081Oir591OoDfL1I0t291OkB591Oir5F&state=STATE
这里的code用来获取用户信息.
四、获取access_token和openid
可以使用第三步获取到的code来获取这两个参数,这两个参数可以获取微信用户的详细信息
https://api.weixin.qq.com/sns/oauth2/access_token?appid={appid}&secret={secret}&code=081Oir591OoDfL1I0t291OkB591Oir5F&grant_type=authorization_code
结果如下:
{"access_token": “......", //接口调用凭证"expires_in":7200,"refresh_token":"......","openid":"......", // 授权用户唯一标识"scope":"snsapi_login","unionid":"......"
}
一个code只能使用一次,再次调用结果:
{"errcode":40029,"errmsg":"invalid code, hints: [ req_id: LEMBIfyFe-O2AhuA ]"}
五、获取用户详细信息
如果只是标识用户唯一身份那么到第四步就可以了。再想获取用户信息,比如用户名,头像,可以往下获取:
https://api.weixin.qq.com/sns/userinfo?access_token={access_token}&openid={openid}
{"openid":"......","nickname":"......","sex":1,"language":"zh_CN","city":"Changchun","province":"Jilin","country":"CN","headimgurl":"......","privilege":[],"unionid":"......"
}
通过微信扫码登录网站流程相关推荐
- 微信扫码登录网站实现案例(无需授权)
前言 最近因业务需要,需要给网站增加一个扫描公众号二维码登录网站的功能,通过扫码登录,一来用户登录网站不需再输入账号密码,提升了用户体验,二来也可以作为公众号吸粉的一个渠道. 开发准备 实现微信扫码登 ...
- 前端实现 微信扫码登录网站 pc端(二维码嵌套页面) 超详细,包会
一.准备工作 本人申明:本案例使用到的appid和AppSecret都是无效的 appid:应用唯一标识,在微信开放平台提交应用审核通过后获得 AppSecret:在微信开放平台提交应用审核通过后获得 ...
- 微信扫码登录_JAVA
一.需求 在PC端的登录页面加个微信扫码的按钮,点击按钮弹出二维码,实现微信扫码登录网站的功能.如图: 二.调研 扫码登录属于微信开放平台提供的API,不是微信公众平台.这里需要注册等配置,暂不赘述. ...
- 一篇文章,带你了解微信扫码登录
文章目录 前言 一.功能背景 二.扫码登录原理 1.基本原理 三.实现效果图 1.登录页 2.点击微信账号登录 3.已绑定微信的账号 4.未绑定微信号的账号 四.代码实现 1.准备工作 2.编写代码 ...
- 【网课平台】Day10.对接第三方:实现微信扫码登录
文章目录 一.需求:微信扫码登录 1.接口文档 2.开发环境准备 3.接入分析 4.接口定义 5.申请令牌 6.查询用户信息 7.保存用户信息 一.需求:微信扫码登录 (和第三方对接的流程) 1.接口 ...
- SpringSecurity OAuth2实现单点登录,微信扫码登录,Redis缓存验证码---入门到实战
1. 认证授权 1.1 什么是认证授权 例如课程发布后用户通过在线学习页面点播视频进行学习.如何去记录学生的学习过程呢?要想掌握学生的学习情况就需要知道用户的身份信息,记录哪个用户在什么时间学习什 ...
- 内嵌式js微信扫码登录及自定义样式
关于微信扫码登录网站的功能介绍,请阅读官方文档[网站应用微信登录开发指南] 根据官方文档我们知道微信扫码登录有两种方式 一种是跳转到一个大黑屏二维码界面进行扫码登录: (参见博客:PHP实现跳转式微信 ...
- 微信扫码登录超详细教程
一.OAuth2 1.OAuth2介绍 2.OAuth2解决什么问题 (1)OAuth2提出的背景 照片拥有者想要在云冲印服务上打印照片,云冲印服务需要访问云存储服务上的资源.(2)图例 资源 ...
- PHP实现跳转式微信扫码登录网站
关于微信扫码登录网站的功能介绍,请阅读官方文档[网站应用微信登录开发指南] 下面用PHP代码实现微信扫码登录网站(以官方文档中的一号店为例): <?php header("Conten ...
最新文章
- 异常处理 课后作业2
- 在C#中,如何连接已加密的Sqlite数据库
- 链表--只知道当前节点指针删除当前节点
- php聊天功能_php实现简单聊天功能
- 经典排序算法 - 冒泡排序Bubble sort
- java 多态_Java面向对象 —— 多态
- “开发人”注意了!百度AI快车道成都站:来了就不想走的活动
- python微信自动回复
- Winform GDI+
- Looksery Cup 2015 B. Looksery Party 暴力
- Pr 2021快速入门教程,如何新建项目及首选项的基础设置?
- goahead如何使用cgi服务_利用GoAhead构建嵌入式web应用
- 【C++】error: passing ‘const xxx’ as ‘this’ argument discards qualifiers [-fpermissive]
- 贯头山酒——中华酒文化的源头之一
- 华三路由器RIP协议详细配置
- ubuntu壁纸自动切换
- java+上传一个文件夹
- 虾神段子小剧场:人人都该学点数据分析(1):达五十万的电竞人才缺口?
- 创建系统映像时包含了 D、E 盘
- js的变量命名需要遵循什么规则?