播放鉴权方案

更新时间:
复制为 MD 格式

本文介绍PlayAuth播放鉴权方案的两种实现方式及其在性能、安全性和扩展性上的核心差异。

PlayAuth机制

  • 核心流程:为媒资(VideoId)生成临时凭证(PlayAuth),播放器凭此(VideoId+PlayAuth)获取视频流进行播放。

  • 临时凭证(PlayAuth)的获取,有以下两种实现方案:

    • 新版获取方式 - 本地签名播放凭证(JWTPlayAuth):由AppServer基于播放密钥(PlayKey)本地签名生成(JWT),点播服务负责校验并返回视频流。

    • 旧版获取方式 - 点播颁发播放凭证(PlayAuth):由阿里云视频点播服务签发。

说明

本地签名播放凭证生成工具已开源至GitHub,提供Java/Python/Go/PHP多语言SDK支持,包含可集成工具包与开箱即用的CLI生成工具。代码仓库路径:本地签名播放凭证生成工具,可直接集成至自有系统使用。

播放流程

方案一:本地签名播放凭证(推荐)

vidauth-local-sign-2

本地签名播放凭证由AppServer使用媒资(VideoId)和播放密钥(PlayKey)本地生成JWT形式的临时凭证(PlayAuth)。

说明

方案二:点播颁发播放凭证

vidauth-legacy-2

点播颁发播放凭证由AppServer每次调用GetVideoPlayAuth获取临时凭证(PlayAuth)。

方案对比

相较于点播颁发播放凭证方案,本地签名播放凭证方案优势体现于:

  • 性能:本地JWT签名替代远程GetVideoPlayAuth调用,降低了延迟。

  • 扩展:鉴权QPS从点播服务转移到AppServer集群,加强了线性扩展能力。

  • 灵活:开放JWT Claims自定义(用户/设备/IP/风控标签)和TTL策略。

  • 安全:AK/SK隔离,播放链路仅传输Vid+JWT,无STS依赖。

  • 兼容:需集成播放器SDK7.10.0及以上版本,与最新版播放器SDK对齐。