pub mod canonical_url;
pub mod device;
pub mod error;
pub mod grant_type;
pub mod jwt_verifier;
pub mod metadata;
pub mod requests;
pub mod responses;
pub mod scope;
pub mod tokens;
pub use canonical_url::{
CanonicalResourceUrl, CanonicalUrlConfig, CanonicalUrlConfigError, CanonicalUrlError,
MAX_ACCEPTED_AUDIENCE_HOSTS,
};
pub use device::{
DeviceAuthDenyRequest, DeviceAuthDenyResponse, DeviceAuthLookupQuery, DeviceAuthLookupResponse,
DeviceAuthorizationRequest, DeviceAuthorizationResponse, OAuthAuthorizationServerMetadata,
OAuthErrorCode, OAuthErrorResponse, OAuthTokenRequest, OAuthTokenResponse,
ParseOAuthErrorCodeError, USER_CODE_ALPHABET,
};
pub use error::OAuthError;
pub use grant_type::{CodeChallengeMethod, OAuthGrantType, ResponseType, TokenEndpointAuthMethod};
pub use jwt_verifier::{JwtError, McpOAuthJwtVerifier};
pub use metadata::{AuthorizationServerMetadata, ProtectedResourceMetadata};
pub use requests::{AuthorizeRequest, ConsentDecision, TokenRequest};
pub use responses::{
DcrRegistrationRequest, DcrRegistrationResponse, OAuthClientResponse, OAuthConsentResponse,
TokenResponse,
};
pub use scope::McpScope;
pub use tokens::{AuthorizationCode, McpAccessTokenClaims, OpaqueRefreshToken, TokenParseError};
pub const MCP_AUTH_SPEC_REVISION: &str = "2025-11-25";