如何使用应用程序密码访问 bitbucket
How to access bitbucket using app password
我已经按照说明创建了应用密码 here
但是现在,我如何使用此应用程序密码访问存储库?
url 是什么?
有人可以将我引导至显示示例的页面吗? ?
下面是 github 的代码。我如何为 bitbucket 做这件事?
var githubToken = "[token]";
var url = "https://github.com/[username]/[repository]/archive/[sha1|tag].zip";
var path = @"[local path]";
using (var client = new System.Net.Http.HttpClient())
{
var credentials = string.Format(System.Globalization.CultureInfo.InvariantCulture, "{0}:", githubToken);
credentials = Convert.ToBase64String(System.Text.Encoding.ASCII.GetBytes(credentials));
client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", credentials);
var contents = client.GetByteArrayAsync(url).Result;
System.IO.File.WriteAllBytes(path, contents);
}
更新
转到个人设置,然后App Passwords,如下所示。
您可以按如下方式执行此请求:
curl -u "walery2iq:<appPassword>" "https://api.bitbucket.org/2.0/repositories/[yourRepo]"
这里很重要 - 使用您的用户名,而不是电子邮件地址。
很重要,因为要登录 bitbucket 本身,您使用的是电子邮件而不是用户名 :D
您可以在这里找到您的用户名:
Settings -> Account settings -> Username
见图。
因为问题是 "how do I access the repository" - 也许这对某人有用:
您还可以使用 Bitbucket "App Password" 通过 HTTPS 使用 Git。
git clone https://USERNAME:APP_PASSWORD@bitbucket.org/OWNER/REPO.git
(或者,如果您想避免以明文形式存储密码:
省略上面URL中的:APP_PASSWORD
,在Git提示时提供App密码即可。)
这可能对 CI 有用(尽管 Git 通过 SSH 可能更好)。
如果您有两步验证,我可以克隆但无法推送。这对我有用 git 而不是 curl:
git push https://<username>:<GENERATED-APP-PASS>@bitbucket.org/<username>/<repo>.git
生成应用密码
git remote set-url origin https://[app-label]:[app-password]@bitbucket.org/[your-repo].git
您需要在 bitbucket 控制台上创建您的“应用密码”。在您的头像下 -> 个人设置 -> 权限管理 -> 应用密码。创建应用密码并记下来。
完成后,打开您的 git bash 并使用 -
设置远程原点
git remote set-url origin https://<Your_Account_Name>:<App_Password>@bitbucket.org/<Your_Account_Name>/<Repo_Name>.git
Git 在幕后使用 libcurl
因此可以将密码保存在 ~/.netrc
文件中:
machine bitbucket.org login USER password PAZZ
并避免将密码泄露到 shell 历史:
git clone https://$USER@bitbucket.org/$WORKSPACE/$REPO.git
这对我有用,请从 git 设置中检查 使用凭证助手。
即preferences-> version control-> To git -> use credential helper
我已经按照说明创建了应用密码 here
但是现在,我如何使用此应用程序密码访问存储库?
url 是什么?
有人可以将我引导至显示示例的页面吗? ?
下面是 github 的代码。我如何为 bitbucket 做这件事?
var githubToken = "[token]";
var url = "https://github.com/[username]/[repository]/archive/[sha1|tag].zip";
var path = @"[local path]";
using (var client = new System.Net.Http.HttpClient())
{
var credentials = string.Format(System.Globalization.CultureInfo.InvariantCulture, "{0}:", githubToken);
credentials = Convert.ToBase64String(System.Text.Encoding.ASCII.GetBytes(credentials));
client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", credentials);
var contents = client.GetByteArrayAsync(url).Result;
System.IO.File.WriteAllBytes(path, contents);
}
更新
转到个人设置,然后App Passwords,如下所示。
您可以按如下方式执行此请求:
curl -u "walery2iq:<appPassword>" "https://api.bitbucket.org/2.0/repositories/[yourRepo]"
这里很重要 - 使用您的用户名,而不是电子邮件地址。 很重要,因为要登录 bitbucket 本身,您使用的是电子邮件而不是用户名 :D
您可以在这里找到您的用户名:
Settings -> Account settings -> Username
见图。
因为问题是 "how do I access the repository" - 也许这对某人有用:
您还可以使用 Bitbucket "App Password" 通过 HTTPS 使用 Git。
git clone https://USERNAME:APP_PASSWORD@bitbucket.org/OWNER/REPO.git
(或者,如果您想避免以明文形式存储密码:
省略上面URL中的:APP_PASSWORD
,在Git提示时提供App密码即可。)
这可能对 CI 有用(尽管 Git 通过 SSH 可能更好)。
如果您有两步验证,我可以克隆但无法推送。这对我有用 git 而不是 curl:
git push https://<username>:<GENERATED-APP-PASS>@bitbucket.org/<username>/<repo>.git
生成应用密码
git remote set-url origin https://[app-label]:[app-password]@bitbucket.org/[your-repo].git
您需要在 bitbucket 控制台上创建您的“应用密码”。在您的头像下 -> 个人设置 -> 权限管理 -> 应用密码。创建应用密码并记下来。
完成后,打开您的 git bash 并使用 -
设置远程原点git remote set-url origin https://<Your_Account_Name>:<App_Password>@bitbucket.org/<Your_Account_Name>/<Repo_Name>.git
Git 在幕后使用 libcurl
因此可以将密码保存在 ~/.netrc
文件中:
machine bitbucket.org login USER password PAZZ
并避免将密码泄露到 shell 历史:
git clone https://$USER@bitbucket.org/$WORKSPACE/$REPO.git
这对我有用,请从 git 设置中检查 使用凭证助手。
即preferences-> version control-> To git -> use credential helper