有奖捉虫:行业应用 & 管理与支持文档专题 HOT

获取 Auth_code,实现免登授权

使用场景说明

业务侧需要获取用户信息时,可通过该方法获取用户的 open_id。 调用方式如下: 按照方式二,尝试通过 JS-SDK 获取 auth_code;若成功则通过该 auth_code 换取用户 access_token 并调用 API;若失败,则通过方式一获取用户授权; 此处不推荐每次打开应用都走方式一和方式二,用户会反复授权,体验不佳。



方式一:通过授权链接获取 Auth_code

要申请用户授权码,须在腾讯会议的 OAuth2.0 授权页完成,在该页面上腾讯会议用户可以接受或拒绝应用程序的授权申请。 腾讯会议的 OAuth2.0 授权页 应用授权

构造要跳转的链接

构造如下跳转链接,此链接处理成功后,会重定向跳转到指定的 redirect_uri,并向 url 追加临时授权码 auth_code 及 state 两个参数,具体调用方法请参见 第三方应用鉴权(OAuth2.0)。 跳转链接示例:
https://meeting.tencent.com/marketplace/authorize.html?corp_id= xxxxxx&sdk_id= xxxxxx&redirect_uri= xxxxxx&state= xxxxxx



跳转到腾讯会议授权页面,授权成功后会重定向跳转到指定的 redirectURL,并向 url 追加临时授权码 auth_code 及 state 两个参数。
企业账户进行第一次授权时,会向该企业的管理员申请应用使用权限,需要管理员审批通过后才能授权。

方式二:JS-SDK 获取 Auth_code

已授权的用户,调用 JSSDK 可以获取授权码,否则,需要开发者跳转至授权地址,请参见 引用方法

接口描述

描述:调用 permission.requestAgentAuthCode,实现第三方应用获取免登授权码。
支持的版本:2.17.0
是否需要鉴权:

参数说明

授权请求入参(param:RequestAuthCodeParam):
参数名称
参数类型
参数描述
sdkId
String
应用 ID
返回 Promise<void>。

示例

wemeet.permission.requestAgentAuthCode({
sdkId: "xxxxxx",
})
.then((resp) => {
const code = resp.authCode;
})
.catch((err) => {
//
});

注意
授权码需要发送给后台,通过临时授权码 auth_code 获取 access_token,临时授权码只能使用一次,有效期为5min。 每次换取的 access_token 和 refresh_token 都需要被存取并替换已有的 tokens,旧的 token 将在新的 token 获取之后失效,开发者应在实现逻辑上避免出现同时使用两个 token 的情况,例如多个任务各自获取 token 导致先申请的 token 失效而出现报错。

当前页面跳转到授权页

描述:调用 permission.requestAuth,应用自动跳转到授权页,实现发起授权。
支持的版本:2.17.0
是否需要鉴权:

参数说明

授权请求入参(param:RequestAuthCodeParam):
参数名称
参数类型
参数描述
corpId
String
应用企业 ID
redirectURI
String
redirectURI
sdkId
String
应用 ID
state
Undefined、String
重定向后会带上 state 参数,开发者可以填 写 a-zA-Z0-9 的参数值,最多128字节
Optional
Undefined、String
customAuthPage
返回 <void>。

示例

wemeet.permission.requestAuth({
corpId: "xxxxxx",
sdkId: "xxxxxx",
redirectURI: "https://xxxxxx",
state: "xxx",
});