github.com/qiniu/go-sdk/v7@v7.27.0/pili/url_model.go (about)

     1  package pili
     2  
     3  const (
     4  
     5  	// SRTScheme SRT 协议头
     6  	SRTScheme = "srt"
     7  
     8  	// SRTPort SRT 协议端口
     9  	// 截止目前,SRT 协议没有 IANA 官方约定的端口号
    10  	// 七牛采用 1935/UDP 作为 SRT 协议端口号
    11  	SRTPort = "1935"
    12  
    13  	// SecurityTypeStaticKeyPart 静态鉴权密钥字段名
    14  	SecurityTypeStaticKeyPart = "key"
    15  
    16  	// SecurityTypeExpiryTsPart 推流限时鉴权时间戳字段名
    17  	SecurityTypeExpiryTsPart = "expire"
    18  
    19  	// SecurityTypeExpirySkTsPart 推流限时鉴权sk时间戳字段名
    20  	SecurityTypeExpirySkTsPart = "e"
    21  
    22  	// SecurityTypeDynamicNoncePart 动态鉴权随机值字段名
    23  	SecurityTypeDynamicNoncePart = "nonce"
    24  
    25  	// SecurityTypeTokenPart 鉴权签算字段名
    26  	// 用于 限时鉴权(expiry)、限时鉴权SK(expiry_sk)、动态鉴权(dynamic)
    27  	SecurityTypeTokenPart = "token"
    28  )
    29  
    30  const (
    31  	// 鉴权类型
    32  
    33  	// SecurityTypeNull 未设置鉴权
    34  	SecurityTypeNull = ""
    35  
    36  	// SecurityTypeNone 关闭鉴权
    37  	// 用于推流 URL 签算(直播鉴权)和播放 URL 签算(时间戳防盗链)
    38  	// 强制关闭鉴权,域名级别鉴权不继承直播空间级别鉴权配置
    39  	SecurityTypeNone = "none"
    40  
    41  	// SecurityTypeStatic 静态鉴权
    42  	// 用于推流 URL 签算(直播鉴权)
    43  	SecurityTypeStatic = "static"
    44  
    45  	// SecurityTypeExpiry 限时鉴权
    46  	// 用于推流 URL 签算(直播鉴权)
    47  	SecurityTypeExpiry = "expiry"
    48  
    49  	// SecurityTypeExpirySK 限时鉴权SK
    50  	// 用于推流 URL 签算(直播鉴权)
    51  	SecurityTypeExpirySK = "expiry_sk"
    52  
    53  	// Deprecated: SecurityTypeDynamic 动态鉴权
    54  	// 用于推流 URL 签算(直播鉴权),该鉴权类型即将移除,不建议使用
    55  	SecurityTypeDynamic = "dynamic"
    56  
    57  	// SecurityTypeTsStartMD5 时间戳防盗链开始时间限制
    58  	// 用于播放 URL 签算(时间戳防盗链)
    59  	// 签算有效时间从 URL 的时间戳开始,直到超过有效时间(range)范围
    60  	SecurityTypeTsStartMD5 = "tsStartMD5"
    61  
    62  	// SecurityTypeTsExpireMD5 时间戳防盗链结束时间限制
    63  	// 用于播放 URL 签算(时间戳防盗链)
    64  	// 签算有效时间从当前时间开始,直到 URL 的时间戳为止
    65  	SecurityTypeTsExpireMD5 = "tsExpireMD5"
    66  )
    67  
    68  // SignPublishURLArgs 推流 URL 签算(直播鉴权)请求参数
    69  type SignPublishURLArgs struct {
    70  	// SecurityType 鉴权类型
    71  	SecurityType string
    72  
    73  	// PublishKey 推流鉴权秘钥
    74  	// 静态鉴权(static)、限时鉴权(expiry)、动态鉴权(dynamic) 类型必要参数
    75  	PublishKey string
    76  
    77  	// ExpireAt 过期时间
    78  	// 签算URL过期时间,单位:秒
    79  	// 限时鉴权(expiry)、限时鉴权SK(expiry_sk) 类型必要参数
    80  	ExpireAt int64
    81  
    82  	// Nonce 随机数
    83  	// 要求每次推流请求的nonce值需要大于上一次推流请求的nonce值
    84  	// 动态鉴权(dynamic) 鉴权类型必要参数
    85  	Nonce int
    86  
    87  	// AccessKey 访问密钥
    88  	// 限时鉴权SK(expiry_sk) 类型必要参数
    89  	AccessKey string
    90  
    91  	// SecretKey 安全密钥
    92  	// 限时鉴权SK(expiry_sk) 类型必要参数
    93  	SecretKey string
    94  }
    95  
    96  // SignPlayURLArgs 播放 URL 签算(时间戳防盗链)请求参数
    97  type SignPlayURLArgs struct {
    98  	// SecurityType 鉴权类型
    99  	// 支持鉴权类型为
   100  	// - tsStartMD5 时间戳防盗链开始时间限制
   101  	// - tsExpireMD5 时间戳防盗链结束时间限制
   102  	SecurityType string
   103  
   104  	// Key 密钥
   105  	Key string
   106  
   107  	// Timestamp 时间戳
   108  	// 单位:秒
   109  	// 鉴权类型为 tsStartMD5 时,表示鉴权开始时间
   110  	// 鉴权类型为 tsExpireMD5 时,表示鉴权结束时间
   111  	Timestamp int64
   112  
   113  	// Rule 签名规则
   114  	// 支持魔法变量的规则,最终签算结果为所有变量的md5
   115  	// - $(key): 密钥
   116  	// - $(path): URL 中的 path 部分
   117  	// - $(streamKey): URL 中的 hub/stream 部分
   118  	// - $(streamTitle): URL 中的 stream 部分
   119  	// - $(path_<number>): URL 中的 path 部分,<number> 表示 path 层级
   120  	// - $(_<query>): URL 中的 query 字段,举例: key1=val,魔法变量中使用 $(_key1) 表示 val
   121  	// 举例:
   122  	// 配置Rule为: $(key)$(path)$(_t)
   123  	// 魔法变量替换完成后: key/hub/streamTitle1634745600
   124  	// 对结果进行md5计算,最终签算值为:3bc26fe6b35f5c7efab87778c5b27993
   125  	Rule string
   126  
   127  	// TsPart 时间戳字段
   128  	// URL 中表示时间戳的字段名
   129  	TsPart string
   130  
   131  	// TsBase 时间戳进制
   132  	// 可选进制格式为 2-36,即 2 进制到 36 进制,默认使用 16 进制
   133  	TsBase int
   134  
   135  	// SignPart 签名字段
   136  	// URL 中表示 token 的字段名
   137  	SignPart string
   138  }