pub mod oauth_params {
pub const GRANT_TYPE: &str = "grant_type";
pub const SCOPE: &str = "scope";
pub const RESOURCE: &str = "resource";
pub const AUDIENCE: &str = "audience";
pub const TOKEN: &str = "token";
pub const TOKEN_TYPE_HINT: &str = "token_type_hint";
pub const SUBJECT_TOKEN: &str = "subject_token";
pub const SUBJECT_TOKEN_TYPE: &str = "subject_token_type";
pub const ACTOR_TOKEN: &str = "actor_token";
pub const ACTOR_TOKEN_TYPE: &str = "actor_token_type";
pub const REQUESTED_TOKEN_TYPE: &str = "requested_token_type";
pub const GRANT_TYPE_CLIENT_CREDENTIALS: &str = "client_credentials";
}
pub mod oauth_errors {
pub const INVALID_TOKEN: &str = "invalid_token";
pub const INSUFFICIENT_SCOPE: &str = "insufficient_scope";
pub const INVALID_DPOP_PROOF: &str = "invalid_dpop_proof";
pub const USE_DPOP_NONCE: &str = "use_dpop_nonce";
pub const CONSENT_REQUIRED: &str = "consent_required";
pub const INTERACTION_REQUIRED: &str = "interaction_required";
pub const INVALID_GRANT: &str = "invalid_grant";
pub const INVALID_SCOPE: &str = "invalid_scope";
pub const INVALID_REQUEST: &str = "invalid_request";
pub const INVALID_CLIENT: &str = "invalid_client";
pub const UNAUTHORIZED_CLIENT: &str = "unauthorized_client";
pub const ACCESS_DENIED: &str = "access_denied";
pub const INVALID_TARGET: &str = "invalid_target";
pub const SERVER_ERROR: &str = "server_error";
pub const UNSUPPORTED_GRANT_TYPE: &str = "unsupported_grant_type";
pub const UNSUPPORTED_TOKEN_TYPE: &str = "unsupported_token_type";
pub const INVALID_RESPONSE: &str = "invalid_response";
pub const TOKEN_TYPE_HINT_ACCESS_TOKEN: &str = "access_token";
pub const TOKEN_TYPE_HINT_REFRESH_TOKEN: &str = "refresh_token";
}
pub mod http_headers {
pub const AUTHORIZATION: &str = "authorization";
pub const ACCEPT: &str = "accept";
pub const CONTENT_TYPE: &str = "content-type";
pub const HOST: &str = "Host";
pub const DPOP: &str = "dpop";
pub const DPOP_NONCE: &str = "dpop-nonce";
pub const WWW_AUTHENTICATE: &str = "WWW-Authenticate";
pub const CACHE_CONTROL: &str = "cache-control";
}
pub mod media_types {
pub const APPLICATION_JSON: &str = "application/json";
pub const APPLICATION_FORM_URLENCODED: &str = "application/x-www-form-urlencoded";
}
pub mod auth_schemes {
pub const BEARER: &str = "Bearer";
pub const DPOP: &str = "DPoP";
pub const BASIC: &str = "Basic";
}
pub mod well_known {
pub const OAUTH_AUTHORIZATION_SERVER: &str = "/.well-known/oauth-authorization-server";
pub const OPENID_CONFIGURATION: &str = "/.well-known/openid-configuration";
pub const OAUTH_PROTECTED_RESOURCE: &str = "/.well-known/oauth-protected-resource";
}
pub mod jwt_claims {
pub const ISS: &str = "iss";
pub const SUB: &str = "sub";
pub const AUD: &str = "aud";
pub const EXP: &str = "exp";
pub const IAT: &str = "iat";
pub const NBF: &str = "nbf";
pub const JTI: &str = "jti";
pub const CNF: &str = "cnf";
pub const JKT: &str = "jkt";
pub const CLIENT_ID: &str = "client_id";
pub const AGENT_ID: &str = "agent_id";
pub const AGENT_CHAIN: &str = "agent_chain";
}
pub mod introspection_fields {
pub const ACTIVE: &str = "active";
pub const TOKEN_TYPE: &str = "token_type";
pub const SCOPE: &str = "scope";
}
pub mod dpop_claims {
pub const HTM: &str = "htm";
pub const HTU: &str = "htu";
pub const ATH: &str = "ath";
pub const NONCE: &str = "nonce";
pub const TYP_DPOP_JWT: &str = "dpop+jwt";
pub const TYP_AT_JWT: &str = "at+jwt";
}
pub mod jwk_params {
pub const KTY: &str = "kty";
pub const CRV: &str = "crv";
pub const X: &str = "x";
pub const Y: &str = "y";
pub const E: &str = "e";
pub const N: &str = "n";
pub const KTY_EC: &str = "EC";
pub const KTY_RSA: &str = "RSA";
pub const KTY_OKP: &str = "OKP";
pub const CRV_P256: &str = "P-256";
pub const USE: &str = "use";
pub const USE_SIG: &str = "sig";
pub const KEY_OPS: &str = "key_ops";
pub const KEY_OPS_VERIFY: &str = "verify";
pub const ALG: &str = "alg";
pub const KID: &str = "kid";
}
pub mod http_methods {
pub const POST: &str = "POST";
}
pub mod algorithms {
pub const ES256: &str = "ES256";
pub const RS256: &str = "RS256";
}