Expand description
Token shape generation primitives for test fixtures.
Generates realistic-looking API keys, bearer tokens, and OAuth access tokens from deterministic seed material.
§Examples
use uselesskey_core_token_shape::{generate_token, TokenKind, authorization_scheme};
use uselesskey_core_seed::Seed;
let seed = Seed::new([42u8; 32]);
// Generate an API key (prefixed with `uk_test_`)
let api_key = generate_token("my-service", TokenKind::ApiKey, seed);
assert!(api_key.starts_with("uk_test_"));
// Generate a bearer token (base64url-encoded random bytes)
let bearer = generate_token("my-service", TokenKind::Bearer, seed);
assert_eq!(authorization_scheme(TokenKind::Bearer), "Bearer");
// Generate an OAuth access token (JWT-shaped: header.payload.signature)
let oauth = generate_token("my-service", TokenKind::OAuthAccessToken, seed);
assert_eq!(oauth.matches('.').count(), 2);Enums§
- Token
Kind - Token shape kind. Specification for token fixture generation.
Constants§
- API_
KEY_ PREFIX - Prefix used for API-key token fixtures.
- API_
KEY_ RANDOM_ LEN - Number of random base62 characters used in API-key fixtures.
- BEARER_
RANDOM_ BYTES - Number of raw random bytes in opaque bearer tokens.
- OAUTH_
JTI_ BYTES - Number of random bytes used for OAuth
jti. - OAUTH_
SIGNATURE_ BYTES - Number of random bytes used for OAuth signature-like segment.
Functions§
- authorization_
scheme - Return HTTP authorization scheme for the token kind.
- generate_
api_ key - Generate an API-key style token fixture (
uk_test_<base62>). - generate_
bearer_ token - Generate an opaque bearer token fixture (base64url of 32 random bytes).
- generate_
oauth_ access_ token - Generate an OAuth access token fixture in JWT shape (
header.payload.signature). - generate_
token - Generate a token value for the provided shape kind.
- random_
base62 - Generate a deterministic base62 string from the provided seed.