将视频设为对我的网站用户私有 - wowza + wrench
Make video private to my site users - wowza + wrench
我有一个使用 Wowza Streaming Engine 4.1 的 ColdFusion 应用程序。我已经完成了 JW 播放器录制视频或音频和播放的所有集成。我正在使用 Wowza 的 VOD(视频点播)应用程序。
现在我想确保用户只能播放自己的视频。为此,我使用 https://streamtoolbox.com/webservice-authentication-authorization
为此,它不需要数据库,因此我在 application.xml 文件属性部分添加了以下代码:
<!-- Example Application.xml part from the Properties and modules element -->
<Modules>
<Module>
<Name>base</Name>
<Description>Base</Description>
<Class>com.wowza.wms.module.ModuleCore</Class>
</Module>
<Module>
<Name>logging</Name>
<Description>Client Logging</Description>
<Class>com.wowza.wms.module.ModuleClientLogging</Class>
</Module>
<Module>
<Name>flvplayback</Name>
<Description>FLVPlayback</Description>
<Class>com.wowza.wms.module.ModuleFLVPlayback</Class>
</Module>
<Module>
<Name>Wrench module</Name>
<Description>A module for user authentication and much more</Description>
<Class>com.streamtoolbox.Wrench</Class>
</Module>
</Modules>
<!-- Properties defined here will be added to the IApplication.getProperties() and IApplicationInstance.getProperties() collections -->
<Properties>
<!-- Example Application.xml part from the Properties element -->
<Property>
<Name>wrench.db.driver</Name>
<Value></Value> <!-- Setting to nothing to go into no-database mode -->
</Property>
<Property>
<Name>wrench.token.resolver.url</Name>
<Value>http://example.com/auth-token.cfm</Value>
<!--Value>http://streamtoolbox.com/streaming/auth-nok.php</Value-->
</Property>
<Property>
<Name>wrench.connect.authorization.url</Name>
<Value>http://example.com/auth-ok.cfm</Value>
<!--Value>http://streamtoolbox.com/streaming/auth-nok.php</Value-->
</Property>
</Properties>
我的auth-ok CFM文件只包含以下代码:
{"result": "allow"}
我的 auth-token CFM 文件只包含以下代码:
{"username":"john"}
我已经重新启动了 Wowza 应用程序并检查了视频,但是视频出现以下错误:
Uncaught (in promise) DOMException: The play() request was interrupted by a call to pause()
我正在将文本记录到 ColdFusion 中的文件中,以查看它是否正在向 cfm 文件发送请求。但什么也没找到。所以看来我在 application.xml 文件中有任何问题,它不是 运行 正确的。
谁能告诉我我做错了什么?
在我看来,您还没有使用 wrench.token.resolver.url
配置令牌解析器网络服务(或者您也可以为此使用数据库),所以基本上发生的情况是连接进入,Wrench 没有有一个定义的方法来确定谁属于令牌,然后它不会调用授权网络服务,因为这需要传递用户名。您需要实现一个简单的网络服务,其中 returns 令牌的用户名,格式如下 (more details in the docs):
{"username":"john"}
我有一个使用 Wowza Streaming Engine 4.1 的 ColdFusion 应用程序。我已经完成了 JW 播放器录制视频或音频和播放的所有集成。我正在使用 Wowza 的 VOD(视频点播)应用程序。
现在我想确保用户只能播放自己的视频。为此,我使用 https://streamtoolbox.com/webservice-authentication-authorization
为此,它不需要数据库,因此我在 application.xml 文件属性部分添加了以下代码:
<!-- Example Application.xml part from the Properties and modules element -->
<Modules>
<Module>
<Name>base</Name>
<Description>Base</Description>
<Class>com.wowza.wms.module.ModuleCore</Class>
</Module>
<Module>
<Name>logging</Name>
<Description>Client Logging</Description>
<Class>com.wowza.wms.module.ModuleClientLogging</Class>
</Module>
<Module>
<Name>flvplayback</Name>
<Description>FLVPlayback</Description>
<Class>com.wowza.wms.module.ModuleFLVPlayback</Class>
</Module>
<Module>
<Name>Wrench module</Name>
<Description>A module for user authentication and much more</Description>
<Class>com.streamtoolbox.Wrench</Class>
</Module>
</Modules>
<!-- Properties defined here will be added to the IApplication.getProperties() and IApplicationInstance.getProperties() collections -->
<Properties>
<!-- Example Application.xml part from the Properties element -->
<Property>
<Name>wrench.db.driver</Name>
<Value></Value> <!-- Setting to nothing to go into no-database mode -->
</Property>
<Property>
<Name>wrench.token.resolver.url</Name>
<Value>http://example.com/auth-token.cfm</Value>
<!--Value>http://streamtoolbox.com/streaming/auth-nok.php</Value-->
</Property>
<Property>
<Name>wrench.connect.authorization.url</Name>
<Value>http://example.com/auth-ok.cfm</Value>
<!--Value>http://streamtoolbox.com/streaming/auth-nok.php</Value-->
</Property>
</Properties>
我的auth-ok CFM文件只包含以下代码:
{"result": "allow"}
我的 auth-token CFM 文件只包含以下代码:
{"username":"john"}
我已经重新启动了 Wowza 应用程序并检查了视频,但是视频出现以下错误:
Uncaught (in promise) DOMException: The play() request was interrupted by a call to pause()
我正在将文本记录到 ColdFusion 中的文件中,以查看它是否正在向 cfm 文件发送请求。但什么也没找到。所以看来我在 application.xml 文件中有任何问题,它不是 运行 正确的。
谁能告诉我我做错了什么?
在我看来,您还没有使用 wrench.token.resolver.url
配置令牌解析器网络服务(或者您也可以为此使用数据库),所以基本上发生的情况是连接进入,Wrench 没有有一个定义的方法来确定谁属于令牌,然后它不会调用授权网络服务,因为这需要传递用户名。您需要实现一个简单的网络服务,其中 returns 令牌的用户名,格式如下 (more details in the docs):
{"username":"john"}