| Crates.io | svc-authn |
| lib.rs | svc-authn |
| version | 0.8.0 |
| created_at | 2019-02-13 04:01:54.98792+00 |
| updated_at | 2023-05-03 10:31:44.232298+00 |
| description | An authentication library. |
| homepage | |
| repository | https://github.com/foxford/svc-authn-rs |
| max_upload_size | |
| id | 114453 |
| size | 89,513 |
An authentication library.
The source code is provided under the terms of the MIT license.
This tool provides three operations on json web tokens: token generation, decoding, and verification
Generates a token for given account with expiration timestamp provided via parameter or via config.
For example to get a valid for an hour token for account bar at baz.services:
$ svc-authn-cli sign --account bar.baz.services --expires_in 3600
REJ0eXAiOiJKV...
Available params:
--expires-in seconds | --expires-at datetime - sets token encryption either seconds into the future or at datetime moment in time (available formats are "YYYY-MM-DD" and "YYYY-MM-DD hh:mm:ss")
--cross-audience - scope for audience
--account | -a - account to issue token for, required parameter
Config file is supplied via --config | -c parameter or read by default from ~/.svc/authn-cli.toml.
It provides default expires_in value for token (when no --expires-in | --expires-at parameter was given to sign) and a list of audiences with corresponding issuer, encoding algorithm and keys to sign and verify tokens.
Have a look at the sample config.
Given a token we can extract its content:
$ svc-authn-cli decode REJ0eXAiOiJKV...
{ "iss" : "baz.services", "aud" : "baz.services", "sub" : "bar", "exp": 1586531265 }
Given a token we can verify its signature:
$ svc-authn-cli verify REJ0eXAiOiJKV...
Verification passed, token valid for 3543 seconds