如何使用带有 OAuth 的 GitHub 应用程序访问私有存储库?

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

我的目标是能够列出和访问用户的私人存储库。

为此,我设置了一个 GitHub App 以作为应用程序执行一些任务。我还启用了我的应用程序的 OAuth 功能。我想澄清的是,这是一个具有 OAuth 功能的 GitHub 应用程序,而不是 OAuth 应用程序本身。

在注册的回调中,我获得一个

installation_id
,它允许我代表应用程序执行操作。此外,我收到一个
code
,然后我用它交换有效的
authorization
密钥来代表用户执行操作。

尽管我尝试使用安装 ID 或授权代码请求所有存储库,但我只能访问公共存储库。看来私有存储库只能通过个人访问令牌 (PAT) 或专用的 OAuth 应用程序进行访问。我是不是错过了什么?

github github-api github-app github-oauth
1个回答
0
投票

将私有存储库作为应用程序访问是一个两步过程:

  1. https://api.github.com/app/installations/{installation_id}/access_tokens

    获取安装访问令牌
    ,作为应用程序进行身份验证(承载授权,以及由应用程序私钥签名的 JWT。安装访问令牌在颁发后 1 小时过期。

  2. 使用安装访问令牌作为承载授权令牌来查询可用的API端点之一,例如

    /installation/repositories

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