2017-08-13 95 views
0

我有點卡在這裏,我試圖做一個http調用憑證和客戶端令牌從PowerShell的「GET」到一個內部的Web應用程序(我沒有創建)。我一直從服務器收到錯誤500。PowerShell搶先認證

此應用程序需要搶先認證。當我選擇「Authenticate Pre-emptively」收音機時,我第一次使用ReadyAPI工作時,請求奏效。

這是根據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

通過剪切運氣......這個固定先發制人認證

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