| Crates.io | oidc-cli |
| lib.rs | oidc-cli |
| version | 0.6.2 |
| created_at | 2024-03-13 13:48:03.987453+00 |
| updated_at | 2025-09-22 07:32:48.006879+00 |
| description | A command line tool to work with OIDC tokens |
| homepage | |
| repository | https://github.com/ctron/oidc-cli |
| max_upload_size | |
| id | 1171695 |
| size | 165,169 |
A command line tool for working with OIDC
From source with cargo:
cargo install oidc-cli
A binary with cargo-binstall:
cargo binstall oidc-cli
Download a released binary: https://github.com/ctron/oidc-cli/releases
On Windows, you can use winget:
winget install ctron.oidc
With brew to you can:
brew tap ctron/tap
brew install ctron/tap/oidc
Creating a new (confidential) client:
oidc create confidential my-client --issuer https://example.com/realm --client-id foo --client-secret bar
Creating a new (public) client:
oidc create public my-client --issuer https://example.com/realm --client-id foo
Then, get an access token:
oidc token my-client
Or combine it with e.g., HTTPie:
http example.com/api "Authorization:$(oidc token my-client --bearer)"
Or even shorter:
http example.com/api $(oidc token -H my-client)
Create a public client from an initial refresh token. This can be useful if you have a frontend application, but no means of performing the authorization code flow with a local server. In case you have access to the refresh token, e.g via the browsers developer console, you can initialize the public client with that:
oidc create public my-client --issuer https://example.com/realm --client-id foo --refresh-token <refresh-token>