pub fn mint(key: &SigningKey, kind: TokenKind, claims: &Value) -> StringExpand 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);