我有一个服务器("server.example.com"),它代表我与IdP ("sso.idp.com")协商以获得一个SAML断言。当使用带协商的curl时,服务主体中的域名默认为"server.example.com“,例如HTTP/server.example.com@MYREALM.COM。
我想知道是否可以覆盖服务主体中使用的域名。基本上,类似于Python包requests-kerberos的hostname override,或initalizeClient中的Node包kerberos的“服务”参数。我似乎找不到与curl相同的选择,我想知道是否有这样的选择?我找到了设置服务类型(例如HTTP)的service name option,但没有设置域名。
基本上:
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。我只想覆盖服务主体中的域名,这样我就可以生成一个Authorization头来与"sso.idp.com“协商。
发布于 2019-07-15 02:13:01
这是实现Kerberos委托的一种非常奇怪的方式。
Curl让您以相反的方式实现这一点:使用--connect-to覆盖实际的服务器地址。
curl -u: --negotiate --connect-to "sso.idp.com:443:server.example.com:443" https://sso.idp.comhttps://stackoverflow.com/questions/56960317
复制相似问题