2 个版本
0.1.1 | 2021 年 12 月 16 日 |
---|---|
0.1.0 | 2021 年 12 月 4 日 |
#19 in #iam
23KB
353 行
IAM 令牌管理器
IAM 令牌管理器负责管理 IAM 访问令牌并在它们过期前刷新它们。目前仅支持 IBM IAM 令牌。
先决条件
使用 rustup 安装 Rust 的当前稳定版本。在 Linux 和 OS X 上,可以通过运行以下命令来完成:
curl https://sh.rustup.rs -sSf | sh
IBM
在仓库根目录中执行以下命令以编译 ibmtest
示例二进制文件:
cargo build --example ibmtest
编译的二进制文件 ibmtest
可在 target/debug/examples/
中找到。
该二进制文件有以下命令行标志:
--ibm
: 为cloud.ibm.com
提供一个 API 密钥(可以多次传递)--ibm-test
: 为test.cloud.ibm.com
提供一个 API 密钥(可以多次传递)--web.listen-port
: 网络服务器的端口(可选)--token-refresh-seconds
: 对于每个 API 密钥请求新访问令牌的频率(可选,默认=1800)
至少需要指定 --ibm
或 --ibm-test
中的一个。如果指定了 web.listen-port
,将启动一个网络服务器,公开以下路由:
- GET
/v1/tokens
:按 BSS 账户映射的所有当前访问令牌列表。示例响应
{
tokens": [
{
"id": "274a00...",
"access_token": "eyJraW...",
"refresh_token": "eyJraW..."
}
]
}
- GET
/v1/tokens/<id>
:ID 为<id>
的账户的访问令牌。示例响应
{
"id": "247a00...",
"access_token": "eyJraW...",
"refresh_token": "eyJraW..."
}
示例(用真实 API 密钥替换)
环境变量 RUST_LOG
控制日志输出的详细信息。不设置此环境变量意味着仅记录错误
RUST_LOG=info ./target/debug/examples/ibmtest --ibm <key1> --ibm <key2> --ibm-test <key3> --web.listen.port=5050
依赖关系
~20–34MB
~642K SLoC