PowerShell抢占式身份验证

时间:2017-08-13 00:57:19

标签: rest powershell

我有点被困在这里,我正在尝试使用PowerShell中的凭据和客户端令牌进行http调用#34; GET"到内部Web应用程序(我没有创建)。我一直从服务器收到错误500.

此应用程序需要抢先身份验证。我第一次使用它是在ReadyAPI中,当我选择了#34; Authenticate Pre-emptively"无线电,请求工作。

根据ReadyAPI的定义,单选按钮

  

抢占式身份验证 - 指定ReadyAPI是否会等到收到授权质询后才能发送凭据。该参数有以下选项:

     

使用全局首选项 - 使用HTTP设置全局首选项中定义的设置。

     

先发制人地进行身份验证 - 仅限此请求。不要等到收到授权质询后才能发送凭据。

我已经看到在C#中有一个抢占式身份验证设置,但是我还没有找到PowerShell的任何等效设置。

以前有没有人遇到过这个问题?有没有办法让PowerShell能够发布先发制人的身份验证?

这就是我所拥有的,但这只是基本设置......

$base64AuthInfo = 
[Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f 
$user, $pass)))
$headers = New-Object "System.Collections.Generic.Dictionary[[String], String]]"
$headers = @{}
$headers.Add('Authorization',('Basic {0}' -f $base64AuthInfo))
$headers.Add('X-IBM-Client-ID', $clientId )

$uri = "https://myURI/development/authorization/token"

$invoke = Invoke-RestMethod -Headers $headers -Method Post -Uri $uri 

1 个答案:

答案 0 :(得分:1)

通过剪切运气...这修复了先发制人的身份验证

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12