企业微信H5_身份验证,PC网站企业微信扫码授权登录
企业微信H5_身份验证,PC网站企业微信扫码授权登录
文章目录
- 一、扫码登录配置
- 1. 企业微信扫码登录接入流程
- 2. 企业微信扫码登录接入流程拆解
- 3. 开启网页授权登录
- 二、实战演练
- 2.1. 用户发起流程
- 2.2. 构造授权链接
- 2.3. 显示扫码二维码
- 2.4. 用户扫码
- 2.5. 用户确认登录
- 2.6. 回调前端携带code
- 2.7.携带code请求后端
- 2.8.接收code获取用户信息
- 2.9.获取用户id
- 2.10. 获取用户详情
- 2.11. 用户详情展示
- 三、源码分享
- 3.1. 后端源码
- 3.2. 前端源码
一、扫码登录配置
官网文档: https://developer.work.weixin.qq.com/document/path/91025
1. 企业微信扫码登录接入流程
2. 企业微信扫码登录接入流程拆解
步骤如下->
①用户->访问->前端
②前端->构造登录链接请求->后端API获取企业微信扫码登录链接
③后端API->返回生成REDIRECT_URI及app_id等信息的企业微信oauth授权链接->前端重定向->企业微信网站展示扫描二维码
④用户->使用微信扫码并确认授权->企业微信网站
⑤企业微信网站->返回用户登录成功->用户
⑤企业微信网站->携带code回调->前端
⑥前端->携带code请求后端API->请求
⑦后端API->请求企业微信API->获取用户简要信息->后端API
⑧后端API->携带userid请求企业微信API->获取用户详细信息->后端API
⑨后端API->携带详细信息响应->前端
3. 开启网页授权登录
企业微信管控台配置
企业微信管控台:https://work.weixin.qq.com/wework_admin/frame#contacts
登录 企业管理端后台->进入需要开启的自建应用->点击 “企业微信授权登录”,进入如下页面
然后点击 “设置授权回调域”,输入回调域名,点击“保存”。
要求配置的授权回调域,必须与访问链接的域名完全一致
二、实战演练
真实场景,应该是用户点击某个链接或者按钮触发扫码流程
官网文档: https://developer.work.weixin.qq.com/document/path/91025
2.1. 用户发起流程
①用户->访问->前端
②前端->构造登录链接请求->后端API获取企业微信扫码登录链接
2.2. 构造授权链接
③后端API->返回生成REDIRECT_URI及app_id等信息的企业微信oauth授权链接->前端重定向->企业微信网站展示扫描二维码
2.3. 显示扫码二维码
④用户->使用微信扫码并确认授权->企业微信网站
2.4. 用户扫码
⑤企业微信网站->返回用户登录成功->用户
2.5. 用户确认登录
2.6. 回调前端携带code
⑤企业微信网站->携带code回调->前端
2.7.携带code请求后端
⑥前端->携带code请求后端API->请求
2.8.接收code获取用户信息
⑦后端API->请求企业微信API->获取用户简要信息->后端API
2.9.获取用户id
⑧后端API->携带userid请求企业微信API->获取用户详细信息->后端API
2.10. 获取用户详情
⑨后端API->携带详细信息响应->前端
2.11. 用户详情展示
{"errcode": 0,"gender": "1","is_leader_in_dept": [0],"direct_leader": [],"userid": "ZeXin","thumb_avatar": "http://wx.qlogo.cn/mmhead/Q3auHgzwzM4de1RtaqgB6CTZ1mOMTFK9JH8brF8FZlqJP20rcuyTFA/132","enable": 1,"qr_code": "https://open.work.weixin.qq.com/wwopen/userQRCode?vcode=vce2609ebe698837fd","alias": "泽昕","department": [1],"biz_mail": "zexin@zxkjgfyxgs10.wecom.work","email": "gblfy002@163.com","order": [0],"isleader": 0,"address": "北京市通州区华馨园6楼号","mobile": "13396492261","errmsg": "ok","telephone": "88888888","avatar": "http://wx.qlogo.cn/mmhead/Q3auHgzwzM4de1RtaqgB6CTZ1mOMTFK9JH8brF8FZlqJP20rcuyTFA/0","hide_mobile": 0,"main_department": 1,"token": "tobdeveyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0b2JkZXYiLCJ1c2VyX2lkIjoiWmVYaW4iLCJ1c2VyX25hbWUiOiLms73mmJUiLCJ1c2VyX3R5cGUiOjAsImlhdCI6MTY0NTk1MDkwMiwiZXhwIjoxNjQ2NTU1NzAyfQ.aaIP3AOEA3GyeZwROVfVVjPRPD77NC_FtcbTj8riZTA","name": "泽昕","extattr": {"attrs": []},"position": "项目经理","external_profile": {"external_attr": [],"external_corp_name": ""},"status": 1
}
三、源码分享
3.1. 后端源码
后端:https://gitee.com/gblfy/qywx-inner-java
3.2. 前端源码
前端:https://gitee.com/gblfy/qywx-vuejs
ps://gitee.com/gblfy/qywx-vuejs)
企业微信H5_身份验证,PC网站企业微信扫码授权登录相关推荐
- 网站上做企业微信扫码授权登录怎么做?(超详细教程)
企业微信已经搞了这一套完整的教程! https://developer.work.weixin.qq.com/tutorial/detail/56 第1步:企业微信自建应用 第2步:浏览企业微信开发文 ...
- 企业微信+esaywechat 扫码授权登录
企业微信+esaywechat 扫码授权登录 相关 相关 这里用的是 Yii2 框架. 安装easywechat: composer require overtrue/wechat:~4.0 -vvv ...
- 微信pc端网站应用扫码授权登录
这是官方的文档 对接之前至少要先看下流程图 效果:用户点击微信登录跳出一个二维码,用户扫码授权后登录进去 1. 2. 需要做的事情 1.需要在微信开放平台上面注册账号,并认证企业,创建网站应用 2.认 ...
- 网站微信扫码授权登录
1.首先准备工作 网站应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统. 在进行微信OAuth2.在进行微信OAuth2.0授权登录接入之前,在微信开放平台注册开发者帐 ...
- 基于Spring Boot实现电脑端网页微信扫码授权登录方式一(附带完整源码)
简介 电脑端微信网页扫码授权登录有2种方式: 第一种:基于微信公众号,单独获取登录二维码扫码,然后扫码登录,程序控制跳转逻辑,例如CSDN: 第二种:基于微信开放平台,跳转到微信二维码页面进行扫码登录 ...
- PHP小程序码扫码登录网站,WeAuth微信小程序实现PC网站扫码授权登录
目前微信扫码登录的实现有以下2种方式: 1.微信服务号扫码网页授权登录 2.微信开放平台Oauth2.0授权登录 以上2种方式少不了微信认证,都是需要交300元认证后才可以获得开发能力.所以我就想到了 ...
- 基于微信公众号(服务号)实现扫码自动登录系统功能
微信提供了两种方法都可以实现扫描登录. 一种是基于微信公众平台的扫码登录,另一种是基于微信开放平台的扫码登录. 两者的区别: 微信开放平台需要企业认证才能注册(认证费用300元,只需要认证1次,后续不 ...
- 微信公众号扫码授权登录思路
引言 上学期研究了一下微信登录相关内容,也写了两三篇笔记,但是最后实际登录流程没有写,主要因为感觉功能完成有所欠缺,一直也没有好的思路:这两天我又看了看官方文档,重新构思了一下微信公众号登录相关的内容 ...
- C# 微信扫码授权登录
1.创建网站应用 1.1去微信开放平台申请网站应用. 1.2申请 审核通过后可获得 AppID和AppSecret. 1.3并且申请微信登录接口. 2.生成二维码和获取code 官方文档:https: ...
最新文章
- python_day10
- python socket.socket()函数 套接字详解及TCP、UDP程序示例(粘包等)
- C 程序更有效率的 10 种方法
- 深圳本地网店代运营公司
- SAP License:别闹了,这些都不是数字化转型
- 预训练的ONNX模型
- 北邮 复习 软件工程_软件工程专业考研——上交、北邮、南大对比分析
- 微软ReportViewer(rdlc)发布时所需要的动态库(vs2010)
- Jzoj5231 序列问题
- 415 Add Strings 字符串相加
- iOS:segment对齐原则
- JavaParser使用指南
- OpenCV学习——图像二值化处理及二维傅里叶变换
- nrg文件是什么?nrg文件格式详细介绍
- shiro 自定义FormAuthenticationFilter,记住我
- 什么情况下选用mysql_在MySQL中,‘%’可以用在什么情况下?
- 什么是数字图书馆——What is Digital Library?
- 软件研发管理最佳实践(2012-10-20 深圳)
- 【学习记录2】数组里的字符串转换成数字或者把数字转换成字符串
- laragon 之Nginx
热门文章
- 杜克大学教授:提高学术写作水平的10条建议!
- 全面取消校园全封闭管理!这个省发通知了!那北京呢?
- 继北大“鸿hao之志”后,清华出现“热列欢迎”…
- lucene6.0 查询语句设置关键字boost值
- 获国际架构顶会ATC2021最佳论文!Fuxi2.0去中心化的调度架构详解
- 代码评审中的代码协同
- Python 命令行库的大乱
- 连续两年入选Gartner公共云容器,阿里云在边缘容器方面做了什么?
- 离线计算中的幂等和DataWorks中的相关事项
- AliOS Things KV组件的写平衡特性 1