Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何使用腾讯元宝生成一次性链接,实现免登入会/免登打开腾讯会议web页面

如何使用腾讯元宝生成一次性链接,实现免登入会/免登打开腾讯会议web页面

原创
作者头像
liquid
修改于 2025-05-22 08:47:04
修改于 2025-05-22 08:47:04
22100
代码可运行
举报
文章被收录于专栏:腾讯会议腾讯会议
运行总次数:0
代码可运行

腾讯会议对接iDaaS后可以实现免登入会/免登打开腾讯会议web页面的效果(具体参考《腾讯会议免登SDK接入文档》),目前生成的链接都可重复使用的,对于不希望免登链接被拷贝的场景有一定的局限性,并且免登入会时还需要经过系统浏览器跳转。本文介绍的方法主要是优化这两点体验。

先看一下实现的效果。

三方应用免登跳转入会效果
三方应用免登跳转入会效果
免登打开腾讯会议web页面效果
免登打开腾讯会议web页面效果

下文以java语言为例使用元宝生成代码,文末提供了源码供参考。

如果使用其他编程语言可以参考本文用到的提示词,开发过程中遇到运行报错的情况可将报错日志输入到元宝中排查。

iDaaS配置&生成RSA公私钥

具体可参考《腾讯会议免登SDK接入文档》,本文不再重复说明。配置完成后,得到Issuer字段值,免登前缀prefixUrl和私钥文件,作为后续的输入参数。

生成id token

id token的header部分字段定义:

代码语言:txt
AI代码解释
复制
{
    typ: 'JWT',
    alg: 'RS256'
}

paload部分字段定义:

代码语言:txt
AI代码解释
复制
{
    sub: userid,
    iss: 'meeting', // Issuer字段值
    iat: now, // 生成时间,秒级时间戳
    exp: expired // 过期时间,秒级时间戳
}

根据上面的定义,使用腾讯元宝,大模型引擎选择DeepSeek,勾选深度思考和联网搜索(后续的步骤都保持相同的配置),然后输入以下提示词:

代码语言:txt
AI代码解释
复制
使用java语言实现一个名为generateIdToken的函数,用途是生成一个jwt token,header参数定义为:
{
    typ: 'JWT',
    alg: 'RS256'
}
payload部分定义为:
{
    sub: userid,
    iss: 'meeting', // Issuer字段值
    iat: now, // 生成时间,秒级时间戳
    exp: expired // 过期时间,秒级时间戳
}
秘钥文件名为xxx.pem

得到读取密钥文件和生成id token的代码。

生成可重复使用的免登链接

这里免登链接的用途是经过跳转处理后获取到一个一次性的授权码(sso_auth_code),因此这里免登链接的格式可以写死成跳转到腾讯会议首页,免登链接的action参数的值如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
String actionString = "{\"action\":\"jump\",\"params\":{\"redirect_url\":\"https://meeting.tencent.com\",\"mode\":\"1\"}}";

接下来只需要将action参数做一下base64编码,然后和前面的id token参数一起,拼接成一个可重复使用的免登链接。输入以下提示词:

代码语言:txt
AI代码解释
复制
使用java语言实现一个名为generateUrl的函数,入参为prefixUrl字符串和idToken字符串,作用是生成一个链接,前缀为prefixUrl,action参数为actionString做base64编码后的字符串,String actionString = "{\"action\":\"jump\",\"params\":{\"redirect_url\":\"https://meeting.tencent.com\",\"mode\":\"1\"}}";,id_token参数的值为idToken

得到生成可重复使用的免登链接的代码。

获取sso_auth_code参数

使用以下提示词获取sso_auth_code参数:

代码语言:txt
AI代码解释
复制
使用java实现一个名为getAuthCode的函数,用途是模拟浏览器请求一个url,需要自动缓存cookie,将每次要请求的url打印出来,会有多次302和303跳转,当url中出现sso_auth_code参数的时候,将该参数作为string类型返回,否则返回空值

得到获取sso_auth_code的代码。

生成最终的一次性链接

1、生成scheme链接,用于唤起腾讯会议客户端入会

使用以下提示词生成scheme链接:

代码语言:txt
AI代码解释
复制
使用java实现一个名为generateJoinScheme的函数,入参为meetingCode字符串和userCode字符串,生成一个url,前缀为wemeet://page/inmeeting,meeting_code参数的值为meetingCode,token参数的值为空,launch_id参数为一个16位的十六进制随机字符串,user_code参数的值为userCode

依次调用前面步骤的方法,即可得到最终的scheme链接joinScheme。

2、生成web跳转链接,用于打开腾讯会议web页面

使用以下提示词生成跳转链接:

代码语言:txt
AI代码解释
复制
使用java实现一个名为generateJumpUrl的函数,入参为authCode字符串和redirectLink字符串,用途是拼接生成一个链接,链接的前缀为https://meeting.tencent.com,sso_auth_code参数的值为authCode,redirect_link参数的值为redirectLink,需要对redirectLink参数做URL encode处理

依次调用前面步骤的方法,即可得到最终的跳转链接jumpUrl。

使用建议

由于获取sso_auth_code步骤耗时较长,如果在用户点击后再生成链接跳转体验欠佳。可以提前获取sso_auth_code,用户需要点击跳转的时候再把sso_auth_code参数和会议号/要打开的URL拼接生成最终的链接。此外sso_auth_code需要每5分钟刷新一次,避免过期失效。id token的有效期可以设置的长一些,这样每次刷新sso_auth_code的时候不需要重新生成id token。

源码参考

https://github.com/carlliu67/wemeet_sso_login_java

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
如何生成腾讯会议SDK鉴权所需的SDK Token和ID Token等信息
在开通SDK配置之后,会从腾讯侧获取到SDK接入所需的对接参数。与Token生成相关的具体参数及用途如下:
liquid
2023/07/20
3.5K6
腾讯会议SaaS SDK登录报错问题排查方法
在排查登录问题前需要先确保防火墙已经配置,并且用户已经创建成功,防火墙配置规则列表:防火墙配置腾讯会议域名和IP指引 - 腾讯会议帮助中心
liquid
2023/11/16
1.6K0
如何让腾讯会议链接打开之后调起自己开发的SDK客户端?
该功能为SDK品牌化能力,目前免费对腾讯会议SDK客户开放(限免),可以提工单申请体验。开通成功后继续完成web会管配置和客户端代码实现。
liquid
2023/07/03
3.8K4
在腾讯会议SDK中如何实现会中拉起自定义通讯录组件
组织架构信息属于客户重要数据,对部分客户来说,并不希望这些信息同步到三方平台。使用SDK接入腾讯会议可以实现不同步组织架构到腾讯侧的情况下,仍然能方便的拉起自定义通讯录组件,按组织架构选人。
liquid
2024/11/22
2750
腾讯会议报名活动场景实践(网络研讨会)
培训、宣讲、金融路演及线上付费活动等场景用到的功能主要包括会前设置会议参数、参会者报名申请/导入白名单、确认参会人资格、反馈审核结果,会后分析汇总参会数据等。客户在创建会议时除腾讯会议参数外往往还有其他活动相关信息要设置,活动报名需要收集个性化信息,审核报名和会后分析数据时要对接客户自有信息库,这些需求很难通过标准会议功能来实现,需要使用到API接口将腾讯会议嵌入到客户业务系统来完成在线活动的组织。
liquid
2024/10/10
3750
腾讯会议API错误码200003定位分析
腾讯会议(Tencent Meeting,TM)Rest API 是为参与腾讯会议生态系统建设的合作方开发者接入并访问腾讯会议资源提供的一组工具,是访问腾讯会议 SaaS 服务的入口。合作伙伴可以通过腾讯会议API 进行二次开发,例如创建一个会议,修改会议,查询会议信息等。
yukine
2020/11/04
2.8K0
腾讯会议API错误码200003定位分析
腾讯会议API - Webhook介绍与简单实现
可以看到,REST API是由用户应用主动向腾讯会议后台发起请求,然后后台进行响应;而Webhook是由特定事件来触发,然后腾讯Webhook服务主动向用户发起请求。例如在配置Webhook时订阅了用户入会事件消息之后,当会议中有人入会时,后台就会给用户配置的Webhook应用发送POST消息。
liquid
2023/08/17
3.1K0
手把手教你用Postman调试腾讯会议RestAPI
腾讯会议提供了强大的开放API功能,通过无缝对接企业邮箱、日程、会议室管理系统,实现行业应用、企业办公平台与腾讯会议音视频的连接。只需要简单的开发,就能实现预定会议、修改会议等企业会议管理功能和创建用户、管理用户等企业用户管理的功能。
郝开青
2020/11/13
2.6K0
微信生态圈 | 企业微信中登录H5不便?“免密登录”来帮忙!
在日常工作中,我们经常需要使用企业微信进行沟通和协作。 然而,每次在企业微信打开H5页面时,都需要在H5页面输入账号密码进行登录,这不仅繁琐,而且在交互体验方面也比原生差。 那么,有没有一种方法可以让我们免去这个步骤呢? 答案是肯定的,那就是免密登录。接下来,我们将详细介绍免密登录的概念、实现条件以及具体操作方法。
烟雨平生
2023/10/25
7380
微信生态圈 | 企业微信中登录H5不便?“免密登录”来帮忙!
腾讯会议10秒编译百万代码|鹅厂编译加速标杆案例公开
👉腾小云导读 作为一个天然跨平台的产品,腾讯会议从第一行代码开始,团队就坚持同源同构的思想,即同一套架构,同一套代码,服务所有场景。过去一年,腾讯会议,迭代优化了 20000 个功能,稳定支持了数亿用户,其客户端仅上层业务逻辑代码就超 100 万行,经过优化,目前在 Windows 平台上的编译时间最快缩短到 10秒,成为行业 C++ 跨平台项目的标杆。本文将详细介绍背后的优化逻辑,希望给业界同行提供参考。 👉看目录,点收藏 1 编译加速有哪些方向? 2 如何优雅的预编译 Module 产物?    2.1
腾讯云开发者
2023/04/10
1.8K0
腾讯会议10秒编译百万代码|鹅厂编译加速标杆案例公开
Java钉钉开发_02_免登授权(身份验证)
将所有待签名参数按照字段名的ASCII 码从小到大排序(字典序)后,使用URL键值对的格式 (即 key1=value1&key2=value2…)拼接成字符串string1
shirayner
2018/08/10
3.5K0
Java钉钉开发_02_免登授权(身份验证)
基于 Token 的 WEB 后台认证机制
作者:红心李(https://home.cnblogs.com/u/xiekeli/) 链接:http://www.cnblogs.com/xiekeli/p/5607107.html 几种常用的认证机制 HTTP Basic Auth HTTP Basic Auth简单点说明就是每次请求API时都提供用户的username和password,简言之,Basic Auth是配合RESTful API 使用的最简单的认证方式,只需提供用户名密码即可,但由于有把用户名密码暴露给第三方客户端的风险,在生产环境下
前端教程
2018/03/05
2.7K0
基于 Token 的 WEB 后台认证机制
飞书 + Lua 实现企业级组织架构登录认证
飞书是字节跳动旗下一款企业级协同办公软件,本文将介绍如何基于飞书开放平台的身份验证能力,使用 Lua 实现企业级组织架构的登录认证网关。
K8sCat
2021/08/14
1.8K0
[OIDC in Action] 1. 基于OIDC(OpenID Connect)的SSO
在[认证授权]系列博客中,分别对OAuth2和OIDC在理论概念方面进行了解释说明,其间虽然我有写过一个完整的示例(https://github.com/linianhui/oidc.example),但是却没有在实践方面做出过解释。在这里新开一个系列博客,来解释其各种不同的应用场景。因为OIDC是在OAuth2之上的协议,所以这其中也会包含OAuth2的一些内容。 OIDC协议本身有很多的开源实现,这里选取的是基于.Net的开源实现基于IdentityServer4。本系列的源代码位于https://gi
blackheart
2018/01/19
3.3K0
[OIDC in Action] 1. 基于OIDC(OpenID Connect)的SSO
全网最简单的k8s User JWT token管理器
kubernetes server account的token很容易获取,但是User的token非常麻烦,本文给出一个极简的User token生成方式,让用户可以一个http请求就能获取到。 (赶紧收藏一波,以后肯定用的着:)
sealyun
2019/07/25
1.8K0
基于IdentityServer4的OIDC实现单点登录(SSO)原理简析
IdentityServer4的学习断断续续,兜兜转转,走了不少弯路,也花了不少时间。可能是因为没有阅读源码,也没有特别系统的学习资料,相关文章很多园子里的大佬都有涉及,有系列文章,比如:
乔达摩@嘿
2020/09/11
4.9K0
基于IdentityServer4的OIDC实现单点登录(SSO)原理简析
基于Maxkey Oauth2接入Grafana,实现单点登录
修改custom.ini文件,如果没有custom.ini文件,可从conf下复制default.ini文件,然后改名为custom.ini。
MaxKey单点登录开源官方
2024/05/10
7420
基于Maxkey Oauth2接入Grafana,实现单点登录
ASP.NET Core 2.2 : 二十六. 应用JWT进行用户认证
本文将通过实际的例子来演示如何在ASP.NET Core中应用JWT进行用户认证以及Token的刷新方案(ASP.NET Core 系列目录)
FlyLolo
2019/08/27
1.2K0
ASP.NET Core 2.2 : 二十六. 应用JWT进行用户认证
基于云开发 CloudBase 搭建在线视频会议应用教程
在线视频会议应用是基于浏览器的能力 WebRTC 以及 腾讯云开发 CloudBase 能力构建而成的应用. 在云开发的助力下, 一个复杂的在线会议应用, 一个人一两天即可完成.
腾讯云开发TCB
2020/11/17
2.1K0
基于云开发 CloudBase 搭建在线视频会议应用教程
一次失败的漏洞串联尝试
在一次漏洞挖掘过程中,我发现 callback=jsonp_xxx 或者 callback=jQuery_xxx 这类格式的URL存在 XSS 漏洞,当时没有自己研究具体是怎么回事
意大利的猫
2023/09/05
4420
一次失败的漏洞串联尝试
推荐阅读
相关推荐
如何生成腾讯会议SDK鉴权所需的SDK Token和ID Token等信息
更多 >
LV.3
这个人很懒,什么都没有留下~
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验