Crates.io | svc-authn |
lib.rs | svc-authn |
version | 0.8.0 |
source | src |
created_at | 2019-02-13 04:01:54.98792 |
updated_at | 2023-05-03 10:31:44.232298 |
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