七牛云推流鉴权方式有五种:
无校验鉴权(none)
也就是给一个 URL,URL 中不含有任何的 token、key 一类的,人人都可以猜到,人人都可以按照协议往这里面推流。
肯定不会有人用这个啦。
限时鉴权(expiry)
参数:
- expire:过期时间,1970年1月1日到过期时间之间的秒数。
- token:是经过 hmac_sha1 签算 SignStr 再经过 base64 生成。
限时鉴权sk(expiry_sk)
参数:
- e:过期时间,1970年1月1日到过期时间之间的秒数。
- token:是经过 hmac_sha1 签算 SignStr 再经过 base64 生成,然后再在前面加上七牛云的 AccessKey 和冒号。
动态鉴权(dynamic)
参数:
- nonce:比上次推流使用的 nonce 大的任意值。
- token:是经过 hmac_sha1 签算 SignStr 再经过 base64 生成。
静态鉴权(static)
参数:
- key:也就是流的 PublishKey,这个通过其 SDK 中 Stream 对象获得。
可以看出:
- 相同含义的参数,不一定具有相同的名称。
- 相同名称的参数,不一定具有相同的含义。
五种鉴权方式中,后台只能设置前面 3 种,而无鉴权我们又不推荐,所以其实我们只能使用:限时鉴权(expiry)、限时鉴权sk(expiry_sk),但是这两种鉴权方式中,官方 SDK 中又恰恰没有提供,我们这里提供一下: