【问题标题】:How to perform 2 factor authentication to GitHub with AJAX call如何使用 AJAX 调用对 GitHub 执行 2 因素身份验证
【发布时间】:2018-07-12 23:31:39
【问题描述】:

我想查询 GitHub 以获取所有打开的 pull。我以前从未尝试过这样的事情,而且由于我是一个人,我没有同事可以寻求指导。到目前为止,唯一的帮助是文档https://developer.github.com/v3/auth/

https://stackoverflow.com/a/25319551/1221410 显示如何提供我的用户名和密码。但是,GitHub 存储库具有两因素身份验证。

GitHub doc 的相关部分(我认为)是

除了基本身份验证凭据外,您还必须在 X-GitHub-OTP 标头中发送用户的身份验证代码(即一次性密码)

我创建了一个个人访问令牌,我的代码看起来像

const auth = getAuth();
$.ajax({
        type: "GET",
        url: "https://api.github.com/repos/company/repo/pulls",            
        dataType: 'json',
        async: true,
        headers: { 
            "Authorization": "Basic " + auth,
            "X-GitHub-OTP": "d......Access...Token.......5"
        },
...

上面总是返回失败并显示以下消息

必须指定双重身份验证 OTP 代码。

我以为我在标题中。我不确定我做错了什么

【问题讨论】:

    标签: javascript ajax authentication github


    【解决方案1】:

    X-GitHub-OTP 标头用于一次性密码,这是您在登录时从 Authenticator 应用或通过 SMS 获得的 6 位代码。它不适用于 API 令牌。

    【讨论】:

    • 对。我现在知道了。在那种情况下,我可能需要走 oAuth 路线!谢谢
    猜你喜欢
    • 2015-12-08
    • 2021-10-03
    • 1970-01-01
    • 2021-09-08
    • 2019-01-04
    • 1970-01-01
    • 2011-03-19
    • 2013-12-02
    • 2016-07-06
    相关资源
    最近更新 更多