33 releases
Uses new Rust 2024
| 0.7.3 | Apr 23, 2026 |
|---|---|
| 0.7.2 | Mar 27, 2026 |
| 0.6.6 | Feb 4, 2026 |
| 0.6.4 | Dec 2, 2025 |
| 0.1.3 | Mar 15, 2024 |
#152 in Authentication
50KB
1K
SLoC
OIDC CLI
A command line tool for working with OIDC
Installation
-
Download a released binary: https://github.com/ctron/oidc-cli/releases
-
From source with
cargo:cargo install oidc-cli -
A binary with
cargo-binstall:cargo binstall oidc-cli -
On Windows, you can use
winget:winget install ctron.oidc -
With
brewto you can:brew tap ctron/tap brew install ctron/tap/oidc -
With
snapyou can:snap install oidc
Example
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)
This also works with curl:
curl http://example.com/api -H $(oidc token -H my-client)
More examples
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>
Dependencies
~41–61MB
~1M SLoC