В Powershell (и, соответственно, .NET) можно использовать учетные данные сеанса по умолчанию для аутентификации с помощью различных команд. Например, в отношении веб-запросов я могу сделать следующее из Powershell:
# Make request using default session credentials
Invoke-WebRequest -UseDefaultCredentials https://privateapi.someserver.tld
Есть ли способ, которым я могу сделать что-то подобное в Ruby (возможно, с помощью гема), чтобы я мог использовать текущие учетные данные сеанса для веб-запросов из контекста Ruby, а не для оболочки в Powershell за это? То, что я хочу сделать, - это иметь функцию библиотеки Chef, которая извлекает информацию из API REST во время фазы компиляции chef-client
прогона, но не хочет, чтобы пользователь предоставлял свои учетные данные через атрибуты, и для набора рецептов, которые я ' Я надеюсь использовать это в, Chef Vault не является жизнеспособным решением для хранения учетных данных.
В настоящее время я делаю следующее на стороне Ruby, которая работает, но я хотел бы сохранить код на Ruby, если это возможно:
ps_json = `Powershell -ExecutionPolicy Bypass -Command "Invoke-RestMethod -UseBasicParsing -UseDefaultCredentials 'https://server.domain.tld/inventory?fqdn=#{node['name']}' | ConvertTo-Json -Depth 100`
resp_obj = JSON.parse ps_json