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}