Skip to main content

headless_lms_models/library/oauth/
mod.rs

1pub mod bearer;
2pub mod digest;
3pub mod grant_type;
4pub mod mcp;
5pub mod pkce;
6pub mod scopes;
7pub mod tokens;
8
9pub use digest::{Digest, DigestError};
10pub use grant_type::GrantTypeName;
11pub use scopes::{EXERCISE_SERVICES_SCOPE, OFFLINE_ACCESS_SCOPE};
12pub use tokens::{generate_access_token, generate_user_code, token_digest_sha256};
13
14/// Whether a token bound to `audience` (RFC 8707) may be used at `resource`.
15pub fn is_bound_to(audience: Option<&[String]>, resource: &str) -> bool {
16    audience.is_some_and(|audience| audience.iter().any(|bound| bound == resource))
17}