これが私たちの特定の状況でうまくいったものです。
メモは、クライアント側からの基本認証に関するウィキペディアからのものです。助けてくれた@briantistの回答ありがとうございます!
ユーザー名とパスワードを1つの文字列に結合する username:password
$user = "shaunluttin"
$pass = "super-strong-alpha-numeric-symbolic-long-password"
$pair = "${user}:${pass}"
文字列をBase64のRFC2045-MIMEバリアントにエンコードします。ただし、76文字/行に限定されません。
$bytes = [System.Text.Encoding]::ASCII.GetBytes($pair)
$base64 = [System.Convert]::ToBase64String($bytes)
メソッド、スペース、エンコードされたペアとしてAuth値を作成します Method Base64String
$basicAuthValue = "Basic $base64"
ヘッダーを作成する Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
$headers = @{ Authorization = $basicAuthValue }
Webリクエストを呼び出す
Invoke-WebRequest -uri "https://api.github.com/user" -Headers $headers
これのPowerShellバージョンは、cURLバージョンよりも詳細です。何故ですか?@briantistは、GitHubはRFCに違反しており、PowerShellはそれに固執していると指摘しました。それは、cURLも標準に違反しているということですか?
$pair = "$($user):$($pass)"
承認された回答を確認する必要があります。私は上記を使用していましたが、あまりにも多くの苦痛を与えました