oauth2_broker/provider/descriptor/
quirks.rs

1// self
2use crate::_prelude::*;
3
4/// Provider-specific quirks that influence how flows behave.
5#[derive(Clone, Copy, Debug, PartialEq, Eq, Serialize, Deserialize)]
6#[serde(default)]
7pub struct ProviderQuirks {
8	/// Indicates whether PKCE must be supplied even for confidential clients.
9	pub pkce_required: bool,
10	/// Indicates whether redirect URIs must match exactly (instead of using a prefix match).
11	pub exact_redirect_match: bool,
12	/// Character used to join scopes when constructing `scope` parameters.
13	pub scope_delimiter: char,
14}
15impl Default for ProviderQuirks {
16	fn default() -> Self {
17		Self { pkce_required: false, exact_redirect_match: true, scope_delimiter: ' ' }
18	}
19}