我有一个服务器(“ server.example.com”)代表我与IdP(“ sso.idp.com”)进行协商以获得SAML声明。在协商中使用curl
时,服务主体中的域名默认为“ server.example.com”,例如HTTP/server.example.com@MYREALM.COM。
我想知道是否有可能覆盖服务主体中使用的域名。基本上,它类似于hostname override中的Python软件包requests-kerberos
'initalizeClient或Node软件包kerberos
'“服务”参数。我似乎找不到curl
的等效选项,并且想知道是否有一个选项?我发现service name option似乎在设置服务类型(例如HTTP),但没有设置域名的方法。
基本上:
curl -v --negotiate -u : server.example.com
创建HTTP/server.example.com@MYREALM.COM的服务主体。但是,我正在寻找类似的东西:
curl -v --negotiate -u : server.example.com --service HTTP/sso.idp.com
,它将创建HTTP/sso.idp.com@MYREALM.COM的服务主体。我只想覆盖服务主体中的域名,这样我就可以生成一个授权标头以与“ sso.idp.com”进行协商。
答案 0 :(得分:0)
这是实现Kerberos委派的一种非常奇怪的方法。
Curl使您可以通过相反的方式实现此目的:使用--connect-to
覆盖实际的服务器地址。
curl -u: --negotiate --connect-to "sso.idp.com:443:server.example.com:443" https://sso.idp.com