#github #permissions #github-api #api-token #oauth-app

github-scopes-rs

发现GitHub令牌作用域权限,并在查询GitHub之前提供检查令牌权限的简单接口。

2个稳定版本

1.0.1 2022年9月20日
1.0.0 2022年5月24日

#34 in #api-token

Download history 38/week @ 2024-03-29 11/week @ 2024-04-05 2/week @ 2024-05-10 7/week @ 2024-05-17 2/week @ 2024-05-24 11/week @ 2024-06-14 33/week @ 2024-06-21 10/week @ 2024-06-28 20/week @ 2024-07-05 56/week @ 2024-07-12

123 每月下载量

Apache-2.0

19KB
306 代码行数(不含注释)

github-scopes-rs

Tests

发现GitHub令牌作用域权限,并在查询GitHub之前提供检查令牌权限的简单接口。在许多情况下,您尝试对GitHub执行操作,但收到权限错误的提示。本项目允许您在执行操作之前了解您的令牌具有哪些权限,称为GitHub,如果没有正确的权限,您可以告知用户需要哪些具体的权限。

工作原理

我们使用提供的令牌调用GitHub API,以获取令牌具有的权限作用域,以便访问API。然后,权限被转换为可以操作的简单对象。点击 这里 阅读GitHub文档。

用法

将以下内容添加到Cargo.toml

[dependencies]
github-scopes-rs = { version = "1.0.0" }

以下是一个简单的示例

fn main() -> AnyResult<()> {
    let permissions = match OAuthContext::new("token") {
        Ok(s) => s.get_scope_permissions(),
        Err(e) => return Err(e),
    };

    if !permissions.repo.all {
        return Err(anyhow!("`repo` permission is mandatory"));
    }
    Ok(())
}

您可以通过克隆此仓库,然后运行它。

GITHUB_TOKEN=<TOKEN> cargo run --example base

依赖项

~6–19MB
~281K SLoC