Skip to main content

mint

Function mint 

Source
pub fn mint(key: &SigningKey, kind: TokenKind, claims: &Value) -> String
Expand description

Mint a token of kind, signed by key and naming it in kid by its thumbprint. claims are written as given: the issuer decides them.

use aauth_protocol::token::{mint, TokenKind};
use aauth_protocol::SigningKey;

let provider = SigningKey::generate();
let session = SigningKey::generate();
let agent_token = mint(&provider, TokenKind::Agent, &serde_json::json!({
    "iss": "https://agents.example",
    "dwk": "aauth-agent.json",
    "sub": "aauth:travel@agents.example",
    "iat": 1_791_000_000,
    "exp": 1_791_003_600,
    "cnf": { "jwk": session.public_jwk() },
}));
assert_eq!(agent_token.split('.').count(), 3);