Переопределить субъект службы Kerberos при использовании curl с согласованием - PullRequest
0 голосов
/ 09 июля 2019

У меня есть сервер ("server.example.com"), который ведет переговоры с IdP ("sso.idp.com") от моего имени, чтобы получить утверждение SAML.При использовании curl с согласованием доменным именем в субъекте службы по умолчанию является «server.example.com», например HTTP/server.example.com@MYREALM.COM.

Мне интересно, можно ли переопределить доменное имя, используемое в субъекте службы.По сути, что-то похожее на пакет Python requests-kerberos ' переопределение имени хоста , или параметр Node package kerberos' "service" в initalizeClient .Я не могу найти эквивалентную опцию для curl, и мне было интересно, если она есть?Я нашел опцию имя службы , которая, по-видимому, устанавливает тип службы (например, 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".

1 Ответ

0 голосов
/ 14 июля 2019

Это очень странный способ реализовать делегирование Kerberos.

Curl позволяет достичь этого противоположным способом: используйте --connect-to для переопределения фактического адреса сервера.

curl -u: --negotiate --connect-to "sso.idp.com:443:server.example.com:443" https://sso.idp.com
...