Raj*_*ree 1 node.js bitmovin-player angular
我使用苹果工具通过 HLS AES-128 加密视频,下面是我的 m3u8 文件
#EXTM3U
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-KEY:METHOD=AES-128,URI="https://xxxxx.com/api/xxx/xxxxx/xxxxxxxxxxxx/xxxxxxx.key"
#EXTINF:10,
#EXT-X-BITRATE:658
8ce9e1ef-4b15-4d22-b2dc-c7278757ffb5_0.ts
#EXTINF:10,
#EXT-X-BITRATE:1798
8ce9e1ef-4b15-4d22-b2dc-c7278757ffb5_1.ts
#EXTINF:1,
#EXT-X-BITRATE:620
8ce9e1ef-4b15-4d22-b2dc-c7278757ffb5_2.ts
#EXT-X-ENDLIST
Run Code Online (Sandbox Code Playgroud)
密钥 URI 是我的 API 端点 URL。我将从 API 获取密钥。
但每当我在浏览器中复制粘贴密钥 URI ( https://xxxxx.com/api/xxx/xxxxx/xxxxxxxxxxxx/xxxxxxxx.key ) 时,就会下载密钥。
每当玩家请求密钥 URI 时如何传递标头授权。
或者有什么方法可以保护密钥 URI?
我正在使用 Bitmovin 播放器(Nodejs)播放视频,我们可以传递密钥请求 URI 的标头授权吗?
提前致谢。
保护 Web API 的一种常见方法是使用JSON Web 令牌(JWT) 并使用授权HTTP 请求标头将它们发送到 API 。
至于 Bitmovin Player Web SDK(我是其开发人员),可以使用Network API 的preprocessHttpRequest方法将 HTTP 标头添加到请求中。例如,可以通过以下方式将 JWT 身份验证令牌传递给 API 以进行 HLS 密钥请求:
const token = 'your-jwt-token';
const playerConfig = {
key: 'your-key',
network: {
preprocessHttpRequest: (type, request) => {
// Only add the `Authorization` header to HLS key requests
if (type === bitmovin.player.HttpRequestType.KEY_HLS_AES) {
// Add the `Authorization` header containing the JWT to the request
request.headers['Authorization'] = 'Bearer ' + token;
}
return Promise.resolve(request);
}
}
};
const player = new bitmovin.player.Player(document.getElementById('player'), playerConfig);
Run Code Online (Sandbox Code Playgroud)
您不必使用 JWT - 您可以使用Authorization标头将任意数据传输到 API。然而,使用 JWT 更安全,因为这些令牌通常是由可信来源(例如Google 的 OpenID Connect)生成的,并且经过签名以防止任何修改。如果您想使用 JWT 进行身份验证,您的 API 必须提供一个端点来获取它们。
| 归档时间: |
|
| 查看次数: |
878 次 |
| 最近记录: |