URL 身份验证在 Icecast 上不起作用
URL authentication is not working on Icecast
我在 Icecast.But 上配置了 URL 身份验证,弹出 HTTP 基本身份验证 window。
我认为如果身份验证类型是 url,window 不会弹出。
怎么设置?
<mount type="default">
</mount>
<mount type="normal">
<mount-name>/ices</mount-name>
<public>-1</public>
<authentication type="url">
<option name="listener_add" value="http://localhost/listener-joined.php" />
<option name="listener_remove" value="http://localhost/listener-left.php" />
</authentication>
</mount>
我想在我事先自己设置的id中进行认证。如果我在 URL 中请求它,我会阅读文档,如果我可以将它包含在数据中到 post 到 listener-joined.php.
/stream.ogg&session=xyz
所以,我让URL在一个用户中请求它,想在一个脚本中确认id是否注册到数据库中。
/ices&id=hogehoge
如 official documentation on URL based authentication 所述,特别是 listener_add 部分:
注意: 此处的挂载(与 start/end 选项不同)声明请求的 url 包括任何查询参数,例如请求的 URL 可以是 /stream.ogg&session=xyz,但请注意,每个选项数据在通过 POST.
传递之前都会进行转义
您的脚本 (listener-joined.php) 然后必须解释此数据,如果满足 return 授权 HTTP header,默认情况下是:icecast-auth-user: 1
如果您的脚本不是 return header,例如因为 id=foobar
是不允许的,那么 Icecast 服务器将拒绝监听器连接,HTTP 状态码为 401。大多数浏览器和一些播放器随后会弹出一个验证对话框。
有一个 ticket to make this configurable,例如到 403,它不会弹出这样的对话,或者允许重定向 30 倍。
我在 Icecast.But 上配置了 URL 身份验证,弹出 HTTP 基本身份验证 window。
我认为如果身份验证类型是 url,window 不会弹出。 怎么设置?
<mount type="default">
</mount>
<mount type="normal">
<mount-name>/ices</mount-name>
<public>-1</public>
<authentication type="url">
<option name="listener_add" value="http://localhost/listener-joined.php" />
<option name="listener_remove" value="http://localhost/listener-left.php" />
</authentication>
</mount>
我想在我事先自己设置的id中进行认证。如果我在 URL 中请求它,我会阅读文档,如果我可以将它包含在数据中到 post 到 listener-joined.php.
/stream.ogg&session=xyz
所以,我让URL在一个用户中请求它,想在一个脚本中确认id是否注册到数据库中。
/ices&id=hogehoge
如 official documentation on URL based authentication 所述,特别是 listener_add 部分:
注意: 此处的挂载(与 start/end 选项不同)声明请求的 url 包括任何查询参数,例如请求的 URL 可以是 /stream.ogg&session=xyz,但请注意,每个选项数据在通过 POST.
您的脚本 (listener-joined.php) 然后必须解释此数据,如果满足 return 授权 HTTP header,默认情况下是:icecast-auth-user: 1
如果您的脚本不是 return header,例如因为 id=foobar
是不允许的,那么 Icecast 服务器将拒绝监听器连接,HTTP 状态码为 401。大多数浏览器和一些播放器随后会弹出一个验证对话框。
有一个 ticket to make this configurable,例如到 403,它不会弹出这样的对话,或者允许重定向 30 倍。