钉钉扫码登录第三方网站(内嵌二维码方式登录授权)

实现登录第三方网站 - 钉钉开放平台 

 使用的是内嵌二维码方式登录授权

redirect_uri:里面写上后台回调地址

扫描成功时候获取到 authCode 传递给后台即可。

redirect_uri需要encodeURIComponent

### Vue3 应用中集成微信二维码登录内嵌二维码 为了在 Vue3 中实现微信登录功能,并将二维码内嵌到网页,可以按照以下方式构建: #### 1. 引入必要的 JavaScript 文件 首先,在 `index.html` 文件中引入微信提供的用于生成二维码的 JS SDK。 ```html <script src="https://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js"></script> ``` 此脚本提供了创建和管理微信登录二维码所需的功能[^3]。 #### 2. 创建 TypeScript 类型声明文件 如果项目使用了 TypeScript,则需为 `WxLogin` 添加类型定义以避免编译错误。为此可以在项目的根目录下新建一个名为 `shims-wxlogin.d.ts` 的文件,并添加如下内容: ```typescript declare module 'wxLogin' { interface Options { id?: string; appid?: string; scope?: string; redirect_uri?: string; state?: string; style?: string; href?: string; } class WxLogin { constructor(options: Options); } export default WxLogin; } ``` 这一步骤确保了 IDE 和编译器能够识别来自 wxLogin 的对象及其属性[^2]。 #### 3. 初始化微信登录组件 接下来,在适当的位置初始化微信登录控件。通常是在页面加载完成后执行该逻辑。下面是一个简单的例子展示如何配置以及启动这个插件: ```javascript import { onMounted } from "vue"; onMounted(() => { new WxLogin({ id: "loginContainer", // 容器ID appid: "YOUR_APP_ID", // 微信开放平台申请的应用程序 ID scope: "snsapi_login", redirect_uri: encodeURIComponent("REDIRECT_URI"), // 登录成功后的回调地址 state: "", style: "", href: "" }); }); ``` 这段代会在指定容器 (`loginContainer`) 内显示由微信服务器动态生成的二维码图像。 #### 4. 获取授权 (code) 当用户通过手机描上述二维码完成身份验证之后,浏览器会被重定向至预先设定好的 URL 参数后面附加了一个叫做 `code` 的查询参数。可以通过路由来捕获它: ```javascript import { useRoute, useRouter } from 'vue-router'; const route = useRoute(); const router = useRouter(); // 假设这是从URL获得的code值 let code = route.query.code; if (code) { // 将code发送给后端交换token或其他凭证... fetch('/exchange-token', { method: 'POST', body: JSON.stringify({ code }), headers: {'Content-Type': 'application/json'} }).then(response => response.json()) .then(data => /* 处理返回的数据 */ ); } else { console.error('No authorization code found.'); } router.push('/'); ``` 这里展示了如何读取 URL 查询字符串中的 `code` 并将其传递给后端服务来进行进一步的身份验证过程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值