直播拉流旁路鉴权是一种在拉流时,通过第三方授权服务器完成鉴权的方法。观众使用播放器观看直播,播放器可以先从视频直播的资源服务器拉流,视频直播向第三方授权服务器发起异步鉴权。
code
不等于 0 时,断开用户拉流。如需开启拉流旁路鉴权,您需要发起工单申请,并根据下表提供配置信息。
字段 | 格式 | 说明 |
---|---|---|
domain | String | 拉流域名 |
app | String | App 名称,填写星号 * ,表示对全部 App 生效 |
auth_url | String | 第三方授权服务器地址。例如,您使用自己的鉴权服务器,则填写该服务器的鉴权请求地址 |
retry_times | Int | 请求鉴权服务器失败后的重试次数 |
retry_internal_second | Int | 请求授权服务器失败重试间隔,单位为秒 |
timeout_second | Int | 请求授权服务器失败超时时间,单位为秒 |
fail_call_bk_url | String | 接收失败回调的服务器地址。以下场景可收到回调消息。
发送回调请求,请求格式同鉴权请求 |
开通旁路鉴权服务后,当播放器向视频直播发起拉流请求后,视频直播会向第三方授权服务器地址 auth_url
发起异步鉴权。因此,您需要按照如下要求,设计获取鉴权结果的接口。
第三方授权服务器请求数据为 JSON 格式,包含如下参数。
参数 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
domain | String | 是 | 拉流域名。来自于拉流 url |
app | String | 是 | App 名称,来自于拉流 url |
stream_name | String | 是 | 流名称,来自于拉流 url |
ip | String | 是 | 观众的 IP 地址 |
cdnip | String | 是 | CDN IP 地址 |
token | String | 是 | 鉴权信息,来自于拉流 url |
第三方授权服务器返回数据需要使用 JSON 格式,包含如下参数。
说明
当状态码为 200, 返回参数 code
不为 0 时,表示鉴权失败,将停止拉流。
参数 | 字段类型 | 是否必须 | 描述 |
---|---|---|---|
code | Int | 是 | 结果编码。
|
msg | String | 否 | 错误描述信息。CDN 不处理 |
log_id | String | 否 | 日志 ID。CDN 不处理 |
{ "domain":"pull.example.com", "app":"stage", "stream_name":"stream-123456", "ip": "1.1.1.1", "cdnip": "2.2.2.2", "token": "this-is-a-token-query-value" }
{ "code": 0, "msg": "pass", "log_id": "123467" }
满足以下条件时,视频直播会向指定的接收回调消息地址 fail_call_bk_url
,发送回调请求。
回调格式如表所示。
参数 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
domain | String | 是 | 拉流域名。来自于拉流 url |
app | String | 是 | App 名称,来自于拉流 url |
stream_name | String | 是 | 流名称,来自于拉流 url |
ip | String | 是 | 观众的 IP 地址 |
cdnip | String | 是 | CDN IP 地址 |
token | String | 是 | 鉴权信息,来自于拉流 url |