如何生成Roku TV私密聆听会话认证请求的param-response值?
生成Roku私密聆听认证的param-response值
要生成param-response,你需要结合Roku设备的6位配对码和服务器返回的param-challenge,通过HMAC-SHA1哈希后再Base64编码,具体步骤如下:
核心步骤
- 获取Roku设备的配对码:在Roku电视的「设置」→「音频」→「私密聆听」→「配对新设备」中生成6位数字码。
- 解码
param-challenge:将返回的Base64字符串解码为二进制字节。 - 计算HMAC-SHA1哈希:以配对码的字节形式作为密钥,对解码后的challenge字节进行HMAC-SHA1计算。
- 编码结果:将哈希结果重新进行Base64编码,得到最终的
param-response值。
代码示例(Python)
import hmac import hashlib import base64 def generate_param_response(pairing_code, challenge): # 解码challenge为二进制字节 challenge_bytes = base64.b64decode(challenge) # 配对码转字节(注意是字符串形式的数字码) key_bytes = pairing_code.encode('utf-8') # 计算HMAC-SHA1 hmac_result = hmac.new(key_bytes, challenge_bytes, hashlib.sha1).digest() # Base64编码得到param-response return base64.b64encode(hmac_result).decode('utf-8') # 示例用法 pairing_code = "123456" # 替换为你的Roku配对码 challenge = "VLCp54BDvDkRHaFyyNky1g==" # 服务器返回的param-challenge param_response = generate_param_response(pairing_code, challenge) print(f'"param-response": "{param_response}"')
注意事项
- 配对码并非一次性使用,只要不重置私密聆听配对,同一设备的配对码可重复使用;若重置配对,需重新获取新的配对码。
- 确保请求的
request-id与会话逻辑保持一致,示例中使用"0",后续多请求场景需按顺序递增。
内容的提问来源于stack exchange,提问作者elshnkhll
相关产品推荐
相关产品推荐

