撤销Github应用程序的授权404未找到错误

问题描述 投票:0回答:1

我正在寻求访问一个端点,让我可以撤销我的 Github 应用程序的授权。我对这个问题很困惑,因为。

  1. 有 3 个不同的端点,当您访问 api.github.com 时,这些端点似乎都没有列出在有效端点中:
  1. 我尝试过使用全部 3 个,但它们都给了我

    404
    错误。

  2. 在上面列出的 2 个端点中,它表示:

访问此端点时必须使用基本身份验证,使用应用程序的 client_id 和 client_secret 作为用户名和密码。

但是,它们的示例代码都不包含

client_secret
,始终只是
client_id

我正在使用 RestAPI 进行通话。这是我的代码:

        chrome.storage.local.get(["github_token"]).then((result) => {
            let token = result.github_token;
            if (token) {
                let client_id = import.meta.env.VITE_CLIENT_ID
                const URL = `https://api.github.com/applications/${client_id}/grant`;    
                const xhr = new XMLHttpRequest();
                xhr.addEventListener('readystatechange', function () {
                if (xhr.readyState === 4) {
                    if (xhr.status === 204) {
                        console.log("logged out")
                        navigate('/auth')
                    } else {
                        console.log("awww fuck")
                    }
                }
                });
                xhr.open('DELETE', URL, true);
                xhr.setRequestHeader('Authorization', `token ${token}`);
                xhr.setRequestHeader('Accept', 'application/vnd.github.v3+json');
                xhr.send();
            } else {
                // smth went wrong
            }
        })
validation github access-token github-api
1个回答
0
投票

我在 NODE.js API 中遇到了同样的问题,经过一些研究和测试,我找到了在标头中发送

client_id
client_secret
作为基本身份验证的方式,而不是带有
access_token
的承载,以及
 access_token
作为删除请求中的数据。

我可以使用 Axios 提供 JavaScript 代码片段,这可能会有所帮助:

const revokeAccess = await axios.delete(
  `https://api.github.com/applications/${CLIENT_ID_GITHUB}/grant`,
  {
    headers: {
      Authorization: `Basic ${Buffer.from(CLIENT_ID_GITHUB + ':' + CLIENT_SECRET_GITHUB).toString('base64')}`,
      Accept: 'application/vnd.github+json',
      'X-GitHub-Api-Version': '2022-11-28',
    },
    data: {
      access_token: access_token,
    }
  }
);

尝试一下,如果它有助于解决您的问题,请告诉我!

© www.soinside.com 2019 - 2024. All rights reserved.