AudioPlayer.Play指令:如何保护mp3文件,该文件将由alexa使用

时间:2019-03-05 10:51:34

标签: c# authentication asp.net-core-webapi alexa-skills-kit

我正在建立一项技能,当提示时播放随机歌曲。

我已经想过,我必须使用AudioPlayer.Play指令并为audioItem.stream.url提供有效的属性(例如https://test.com/api/getmysong,它会返回流式mp3文件)。

到目前为止,太好了。但是...

由于安全原因,我不希望“公共用户”能够访问mp3。 Alexa如何准确地请求文件?我也可以使用它来验证Alexa的特定请求,用户有权请求mp3吗?我还需要使用其他机制来保护“ mp3”文件吗?

2 个答案:

答案 0 :(得分:2)

您的mp3(文件或流)必须是公开的并通过https提供-Alexa仅按原样使用提供的链接。

Flash Briefing的创建者可以发现相同的问题-因为Flash Briefing音频文件也应该具有公共访问权限。但是-您可以限制对AWS IP range的音频流的访问-在topic上与Flash Briefing相关的Amazon Developers Forum中可以找到。它无法确保100%的音频安全-但仍然可以使您的文件无法从“互联网的其余部分”访问。

答案 1 :(得分:-1)

我还发现,除非URL是经过CA签名的,否则它不会播放mp3。它不适用于自签名证书。 一种替代方法是将mp3文件上传到Amazon S3存储,在那里您可以使用更多身份验证机制