powershell - 使用 PowerShell 使用 GitHub Api 进行基本身份验证

标签 powershell github basic-authentication github-api

我一直在努力做basic authentication with the GitHub Api使用 PowerShell。以下不起作用:

 > $cred = get-credential
 # type username and password at prompt

 > invoke-webrequest -uri https://api.github.com/user -credential $cred

 Invoke-WebRequest : {
     "message":"Requires authentication",
     "documentation_url":"https://developer.github.com/v3"
 }

我们如何使用 PowerShell 和 GitHub Api 进行基本身份验证?

最佳答案

基本身份验证基本上希望您在 Authorization 中发送凭据。标题格式如下:

'Basic [base64("username:password")]'

在 PowerShell 中,这将转换为:
function Get-BasicAuthCreds {
    param([string]$Username,[string]$Password)
    $AuthString = "{0}:{1}" -f $Username,$Password
    $AuthBytes  = [System.Text.Encoding]::Ascii.GetBytes($AuthString)
    return [Convert]::ToBase64String($AuthBytes)
}

现在你可以这样做:
$BasicCreds = Get-BasicAuthCreds -Username "Shaun" -Password "s3cr3t"

Invoke-WebRequest -Uri $GitHubUri -Headers @{"Authorization"="Basic $BasicCreds"}

关于powershell - 使用 PowerShell 使用 GitHub Api 进行基本身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27969362/

相关文章:

git - 切换到另一个 Git 标签

github - 如何列出所有 GitHub 用户?

ruby-on-rails - 使用Rails-api进行基本身份验证

java - 使用 Http 代理通过抢占式身份验证连接到主机

powershell - 如何使用 PowerShell 更改包含特定字符串的文件的文件扩展名

shell - 如何在powershell中更轻松地操纵时间跨度

git - pull 请求成功后在 Git 中更改分支和删除分支

java - 使用 Apache HttpClient 4 的抢先式基本身份验证

visual-studio-2010 - 执行 powershell.exe 挂起 msbuild

shell - Powershell 模块和调用文件