飞书二维码登录注意点

embedded/2025/1/12 13:31:45/

1.前端SDK版本

  第一个手机端授权后、网页端还需要点击一次授权 授权后会跳转到redirect_uri页面,连接会携带code<script src="https://lf-package-cn.feishucdn.com/obj/feishu-static/lark/passport/qrcode/LarkSSOSDKWebQRCode-1.0.3.js"></script>只需要在手机上点击授权<script src="https://sf3-cn.feishucdn.com/obj/static/lark/passport/qrcode/LarkSSOSDKWebQRCode-1.0.1.js"></script> 

2. 流程是生成二维码,redirect_uri地址填写一个页面用来接收授权码,传递授权码给后端、后端再进行鉴权 返回token,redirect_uri 地址需要和后台飞书接口的redirect_uri地址保持一致

// 初始化扫码登录initQRCodeLogin() {console.log(window.QRLogin)if (window.QRLogin) {// 清空之前的二维码容器内容,防止生成多个二维码const loginContainer = document.getElementById("login_container");loginContainer.innerHTML = "";// 调起扫码var goto = `https://passport.feishu.cn/suite/passport/oauth/authorize?client_id=cli_a7b076f0a172d00c&redirect_uri=http://xxxxx/login&response_type=code&state=code`;// redirect_uriconst QRLoginObj = QRLogin({id: "login_container",goto: goto,width: "280",height: "280",style: "width:280px;height:280px;border:none"});var handleMessage = function (event) {var origin = event.origin;// 使用 matchOrigin 方法来判断 message 是否来自飞书页面if (QRLoginObj.matchOrigin(origin)) {var loginTmpCode = event.data;// 在授权页面地址上拼接上参数 tmp_code,并跳转window.location.href = `${goto}&tmp_code=${loginTmpCode}`;console.log(loginTmpCode);}};if (typeof window.addEventListener != "undefined") {window.addEventListener("message", handleMessage, false);} else if (typeof window.attachEvent != "undefined") {window.attachEvent("onmessage", handleMessage);}}},

3. 需要注意后台飞书接口“获取用户信息”版本不一样 需要的token 也不一样,

// 需要的是 USER_ACCESS_TOKEN
https://open.feishu.cn/open-apis/authen/v1/user_info
// 获取 USER_ACCESS_TOKEN 接口
https://open.feishu.cn/open-apis/authen/v2/oauth/token注意区分 tenant_access_token 和 USER_ACCESS_TOKEN
接口版本不一样 需要的token也会不一样

http://www.ppmy.cn/embedded/153292.html

相关文章

容器技术全面攻略:Docker的硬核玩法

文章背景 想象一下&#xff0c;一个项目终于要上线了&#xff0c;结果因为环境配置不一致&#xff0c;测试服务器一切正常&#xff0c;生产环境却宕机了。这是开发者噩梦的开始&#xff0c;也是Docker救世主角色的登场&#xff01;Docker的出现颠覆了传统环境配置的方式&#…

智能家居的“肌肉”:深度解析舵机技术

在智能家居的浪潮中&#xff0c;各种高科技设备如雨后春笋般涌现&#xff0c;为我们的日常生活带来了前所未有的便捷与舒适。然而&#xff0c;在这些智能设备的背后&#xff0c;有一个默默奉献的“肌肉”——舵机&#xff0c;它以其卓越的技术性能&#xff0c;为智能家居的精准…

4种革新性AI Agent工作流设计模式全解析

文章目录 导读&#xff1a;AI Agent的四种关键设计模式如下&#xff1a;1. 反思2. 工具使用3. 规划4. 多Agent协作 总结内容简介&#xff1a; 导读&#xff1a; AI Agent是指能够在特定环境中自主执行任务的人工智能系统&#xff0c;不仅接收任务&#xff0c;还自主制定和执行…

监听器与RBAC权限模型

目录 1、监听器ServletContextListener1.1、主要用途1.2、接口方法1.3、实现步骤1.4、示例代码1.5、使用场景 2、德鲁伊数据源2.1、主要特性2.2、配置 DruidDataSource 3、RBAC权限模型3.1、什么是RBAC3.2、RBAC 的核心概念3.3、RBAC 的优势3.4、RBAC 的实现步骤 1、监听器Serv…

Ubuntu20.04中安装ns-3.36及遇到的问题

一、安装虚拟机&#xff1a;VMware 17.5 参考教程&#xff1a;VMware17Pro虚拟机安装教程(超详细)-CSDN博客 博主&#xff1a;七维大脑 遇到的问题&#xff1a; Q1&#xff1a;安装ubuntu系统时&#xff0c;页面看不到”继续“选项&#xff0c;无法进行下一步 A&#xff…

git: hint:use --reapply-cherry-picks to include skipped commits

问&#xff1a; 当我在feture分支写完功能&#xff0c;切换到dev更新了远端dev代码&#xff0c;切回feture分支&#xff0c;git rebase dev分支后出现报错&#xff1a; warning skipped previously applied commit 709xxxx hint:use --reapply-cherry-picks to include skippe…

软考教材重点内容 信息安全工程师 第13章 网络安全漏洞防护技术原理与应用

13.1.1 网络安全漏洞概念 网络安全漏洞又称为脆弱性&#xff0c;简称漏洞。漏洞一般是致使网络信息系统安全策略相冲突的缺陷&#xff0c;这种缺陷通常称为安全隐患。安全漏洞的影响主要有机密性受损、完整性破坏、可用性降低、抗抵赖性缺失、可控制性下降、真实性不保等。根据…

C语言中两个不同类型的结构体相互赋值

在 C 语言中&#xff0c;如果两个结构体的定义&#xff08;字段名称、数量、顺序、类型&#xff09;不一样&#xff0c;就不能直接使用 运算符进行整体赋值&#xff0c;需要逐个字段进行赋值或者通过其它手段进行“转换”。 1. 字段一一对应赋值 1.1 手动逐个赋值 假设有如下…