本文介绍PlayAuth播放鉴权方案的两种实现方式及其在性能、安全性和扩展性上的核心差异。
PlayAuth机制
核心流程:为媒资(VideoId)生成临时凭证(PlayAuth),播放器凭此(VideoId+PlayAuth)获取视频流进行播放。
临时凭证(PlayAuth)的获取,有以下两种实现方案:
新版获取方式 - 本地签名播放凭证(JWTPlayAuth):由AppServer基于播放密钥(PlayKey)本地签名生成(JWT),点播服务负责校验并返回视频流。
旧版获取方式 - 点播颁发播放凭证(PlayAuth):由阿里云视频点播服务签发。
本地签名播放凭证生成工具已开源至GitHub,提供Java/Python/Go/PHP多语言SDK支持,包含可集成工具包与开箱即用的CLI生成工具。代码仓库路径:本地签名播放凭证生成工具,可直接集成至自有系统使用。
播放流程
方案一:本地签名播放凭证(推荐)

本地签名播放凭证由AppServer使用媒资(VideoId)和播放密钥(PlayKey)本地生成JWT形式的临时凭证(PlayAuth)。
playKey获取:参考GetAppPlayKey - 获取应用播放密钥获取。
playKey重置:参考SetAppPlayKey - 设置应用播放密钥重置。
方案二:点播颁发播放凭证

点播颁发播放凭证由AppServer每次调用GetVideoPlayAuth获取临时凭证(PlayAuth)。
方案对比
相较于点播颁发播放凭证方案,本地签名播放凭证方案优势体现于:
性能:本地JWT签名替代远程
GetVideoPlayAuth调用,降低了延迟。扩展:鉴权QPS从点播服务转移到AppServer集群,加强了线性扩展能力。
灵活:开放JWT Claims自定义(用户/设备/IP/风控标签)和TTL策略。
安全:AK/SK隔离,播放链路仅传输Vid+JWT,无STS依赖。
兼容:需集成播放器SDK7.10.0及以上版本,与最新版播放器SDK对齐。