You need to enable JavaScript to run this app.
文档中心
复制全文
下载 pdf
调用说明
接口鉴权
复制全文
下载 pdf
接口鉴权
WTN 提供了灵活推拉流鉴权策略。你可以根据业务场景的安全需求,选择免鉴权或 Token 鉴权两种方式。​
  • 免鉴权(默认):WTN 默认允许免鉴权调用 API,适用于快速接入和测试,或对 URL 链接有长度要求的场景。​
  • Token 鉴权:推流和拉流的鉴权可分开控制。为保障业务数据安全,防止未经授权的访问和推流,我们强烈建议你在有内容分发安全诉求的生产环境中开启 Token 鉴权。​
该 Token 需在你的应用服务端,根据 WTN AppID、发布 StreamID、时间戳等参数生成。​
Token 鉴权流程​
下图为客户端、你的应用服务端与 WTN 服务端之间完整的鉴权交互流程。​
你需要自行实现步骤 1, 2, 3, 4 的代码逻辑。​
​alt​​
生成鉴权 Token​
实现步骤​
  1. 开启推流鉴权/拉流鉴权。​
  1. 访问 WTN 控制台_功能配置,选择目标 WTN 应用。​
  1. 在 推/拉流鉴权 页签中,根据你的业务需求,开启“推流鉴权”或“拉流鉴权”的开关。​
  • 推流鉴权:开启后,只有携带合法 Token 的客户端才能成功发布音视频流。​
  • 拉流鉴权:开启后,只有携带合法 Token 的客户端才能订阅音视频流。适用于付费内容、内部会议等需要权限控制的场景。​
  • ​​​
  1. 参考下方的生成规则和示例代码,在应用服务端生成 Token。​
生成规则​
生成算法:使用 Json Web Tokens,其中加密算法使用 HS256。​
签名公式:​
​
HMACSHA256(​
base64UrlEncode(header) + "." +​
base64UrlEncode(payload),​
YourAppKey​
)​
​
字段参考:​
  • header:固定值,无需修改。​
  • ​
    {​
    "alg": "HS256",​
    "typ": "JWT"​
    }​
    ​
  • payload:需要根据每次请求动态构建的部分。​
调用接口获取 TURN 服务信息时,payload 仅需要传入 version、appID、和 exp 字段。​
  • ​
    字段​
    类型​
    是否必须​
    描述​
    version​
    String​
    是​
    版本号。固定为 "1.0"。​
    appID​
    String​
    是​
    你的 WTN 应用 ID(AppID),可在控制台获取。​
    exp​
    Number​
    是​
    过期 Unix 时间戳(秒),Token 在此时间后会自动失效。过期后,重新推流时需重新生成 Token。​
    action​
    String​
    是​
    本次 Token 允许的操作。取值如下:​
    • pub: 仅发布流。​
    • sub: 仅订阅流。​
    • pub-sub:在同一连接上同时发布和订阅。​
    streamID​
    String​
    是​
    媒体流的唯一标识,需要你自定义。仅支持数字、字母、下划线,最长 64 个字符。​
    • 当 action 为 pub-sub 时,streamID 须传入两个并以"/"分割,例如:{PubStreamID}/{SubStreamID}。​
    • 当 action 为 pub 或 sub 时,为单个流 ID。​
    ​
  • ​
示例代码​
你可以参考示例代码,在应用服务端实现 Token 的生成。​
以下是 GoLang 的实现参考:​
​
import (​
"github.com/golang-jwt/jwt/v4"​
"time"​
)​
​
func main() {​
appKey := []byte("aaa")​
// 创建Token结构体 MapClaims就是payload相关字段​
claims := jwt.NewWithClaims(jwt.SigningMethodHS256, jwt.MapClaims{​
"version": "1.0",​
"appID": "2xxxxx",​
"exp": time.Now().Unix() + 111,​
"action": "pub", // pub: 发布; sub: 订阅​
"streamID": "111",​
})​
​
token, err := claims.SignedString(appKey)​
}​
​
​
最近更新时间:2025.09.02 15:49:32
这个页面对您有帮助吗?
有用
有用
无用
无用