You need to enable JavaScript to run this app.
导航

添加或更新推拉流鉴权

最近更新时间2024.04.08 15:59:15

首次发布时间2023.09.25 14:32:22

调用 UpdateAuthKey 接口,为推拉流域名创建或更新 URL 鉴权配置。使用此接口更新鉴权配置时,调用成功后,会对全部鉴权参数做全量更新。

注意事项

请求频率:单用户请求频率限制为 10 次/秒

请求说明

  • 请求方式:POST
  • 请求地址:https://live.volcengineapi.com?Action=UpdateAuthKey&Version=2023-01-01

调试

请求参数

下表仅列出该接口特有的请求参数和部分公共参数。更多信息请见公共参数

Query

参数类型是否必选示例值描述
ActionStringUpdateAuthKey接口名称。当前 API 的名称为 UpdateAuthKey
VersionString2023-01-01接口版本。当前 API 的版本为 2023-01-01

Body

参数类型是否必选示例值描述

Vhost

String

push.example.com

域名空间,即直播流地址的域名所属的域名空间。您可以调用 ListDomainDetail 接口或在视频直播控制台的域名管理页面,查看需要查询的直播流使用的域名所属的域名空间。

说明

参数 DomainVhost 传且仅传一个。

Domain

String

push.example.com

直播流使用的域名。您可以调用 ListDomainDetail 接口或在视频直播控制台的域名管理页面,查看直播流使用的域名。

说明

参数 DomainVhost 传且仅传一个。

AppStringlive应用名称,取值与直播流地址中 AppName 字段取值相同,默认为空,表示所有应用名称。支持由大小写字母(A - Z、a - z)、数字(0 - 9)、下划线(_)、短横线(-)和句点(.)组成,长度为 1 到 30 个字符。

SceneType

String

push

鉴权场景类型,取值及含义如下所示。

  • push:推流鉴权;
  • pull:拉流鉴权。
AuthDetailListArray of AuthDetailList-鉴权配置参数,包括鉴权密钥、鉴权字段、加密字符串生成算法等。
ValidDurationInteger60鉴权生效时长,单位为秒,默认值为 604800,取值范围为 [60,2592000],超出生效时长后 URL 无法使用。

PushPullEnable

Boolean

true

是否开启 URL 地址鉴权,取值及含义如下所示。

  • false:关闭(默认值);
  • true:开启。

AuthDetailList

参数类型是否必选示例值描述
SecretKeyString1*****1自定义鉴权密钥,支持由大小写字母(A - Z、a - z)和数字(0 - 9)组成,长度为 1 到 100 个字符。

EncryptionAlgorithm

String

md5

加密字符串生成算法,取值及含义如下所示。

  • md5:标准 MD5 算法;
  • md5_custom:自定义 MD5 算法。

AuthField

JSON Map

{ "volcSecret":"sign", "volcTime":"expire" }

鉴权参数字段名称,当前开启域名 URL 地址鉴权时,会通过对地址中的加密字符串和过期时间校验实现 URL 鉴权。默认加密字符串信息的 key 值为 volcSecret,过期时间信息的 key 值为 volcTime
默认情况下表示{"volcSecret":"volcSecret","volcTime":"volcTime"},您可以自定义参数名,例如,
{"volcSecret":"sign","volcTime":"expire"} | 。 |

EncryptField

Array of String

["key","volcTime","Domain"]

生成加密字符串所需字段。对称加密算法 EncryptionAlgorithm,加密字段存在差异。

  • 当加密算法使用 md5 时:默认加密字段为 ["AppName","StreamName","key","expireTime"],且不支持修改;
  • 当加密算法使用 md5_custom 时:默认无加密字段,但推荐至少包含 keyvolcTime。同时您还可以自定义 DomainAppNameStreamName 等字段。 例如,选择 key、volcTime 和 Domain 作为加密字段,则取值为 ["key","volcTime","Domain"]

返回参数

本接口无特有的返回参数。更多信息请见返回结构

请求示例

POST https://live.volcengineapi.com?Action=UpdateAuthKey&Version=2023-01-01
{
  "Vhost": "push.example.com",
  "App": "live",
  "SceneType": "push",
  "AuthDetailList": [
    {
      "EncryptionAlgorithm": "md5",
      "SecretKey": "1*****1",
      "AuthField": {
        "volcSecret": "sign",
        "volcTime": "expire"
      }
    }
  ],
  "ValidDuration": 100,
  "PushPullEnable": true
}

返回示例

{
  "ResponseMetadata": {
    "RequestId": "201806041104200100100232280022D30",
    "Action": "UpdateAuthKey",
    "Version": "2023-01-01",
    "Service": "live",
    "Region": "cn-north-1"
  }
}

错误码

下表仅列出本接口特有的错误码。更多信息请参见公共错误码获取详细信息。

状态码错误码错误信息说明
200CommonErr-未分类错误。建议重试,如果仍返回该错误码,请联系技术支持
400InvalidParam-输入的参数无效或不符合要求,请参照请求参数说明进行检查。
400InvalidParam.BindErrorRequest parameter error, please check input data参数未通过校验,请检查参数类型是否正确。
400InvalidParam.Length%s should not be longer than %d参数长度错误,请检查错误消息中指定参数的长度是否超过限制。
403RequestForbidden-请求被拒绝,当前账号下无请求的资源(域名空间、域名、应用、配置模版、证书)。
403RequestForbidden.AccountIDNotAllowthis AccountID does not have permission to access the corresponding resource, please check the request parameters请求被拒绝,当前账号下无请求的资源(域名空间、域名、应用、配置模版、证书)。
403RequestForbidden.BillingStatusBilling status is not available for the AccountID, please activate the service or recharge.未开通视频直播服务或账号欠费,造成账单不可用,请检查服务开通情况和账号欠费情况。
404ResourceNotFound-未找到资源(域名空间、域名、应用、配置模版、证书)。建议重试,如果仍返回该错误码,请联系技术支持
404ResourceNotFound.VhostNotExistvhost not found未找到域名空间(Vhost)。请检查传入的域名空间是否与实际使用的域名空间一致。
500InternalErroran internal error occurred, please contact the administrator.出现内部错误,请联系技术支持
500InternalError.DBan internal error related to database occurred, please contact the administrator.出现与数据库相关的内部错误,请联系技术支持
502InternalServiceErroran internal error occurred, please contact the administrator.服务间出现错误,请联系技术支持
502InternalServiceError.BadResponsean internal error occurred, please contact the administrator.服务间出现错误,请联系技术支持
504InternalServiceTimeoutInternal Service is timeout. please contact the administrator.内部服务超时,请联系技术支持

服务端 SDK

视频直播提供了配套的开发工具集 SDK,支持多种编程语言,帮助您更方便的调用 API。