如何使用应用程序密码访问 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

https://bitbucket.org/account/admin/app-passwords

生成应用密码
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