@@ -45,6 +45,15 @@ pub struct InactiveSessionExpirationConfig {
45
45
pub expire_user_sessions : bool ,
46
46
}
47
47
48
+ /// Configuration options for passkeys
49
+ #[ serde_as]
50
+ #[ derive( Clone , Debug , Deserialize , JsonSchema , Serialize ) ]
51
+ pub struct PasskeysConfig {
52
+ /// Whether passkeys are enabled or not
53
+ #[ serde( default ) ]
54
+ pub enabled : bool ,
55
+ }
56
+
48
57
/// Configuration sections for experimental options
49
58
///
50
59
/// Do not change these options unless you know what you are doing.
@@ -75,6 +84,12 @@ pub struct ExperimentalConfig {
75
84
/// Disabled by default
76
85
#[ serde( skip_serializing_if = "Option::is_none" ) ]
77
86
pub inactive_session_expiration : Option < InactiveSessionExpirationConfig > ,
87
+
88
+ /// Experimental passkey support
89
+ ///
90
+ /// Disabled by default
91
+ #[ serde( skip_serializing_if = "Option::is_none" ) ]
92
+ pub passkeys : Option < PasskeysConfig > ,
78
93
}
79
94
80
95
impl Default for ExperimentalConfig {
@@ -83,6 +98,7 @@ impl Default for ExperimentalConfig {
83
98
access_token_ttl : default_token_ttl ( ) ,
84
99
compat_token_ttl : default_token_ttl ( ) ,
85
100
inactive_session_expiration : None ,
101
+ passkeys : None ,
86
102
}
87
103
}
88
104
}
@@ -92,6 +108,7 @@ impl ExperimentalConfig {
92
108
is_default_token_ttl ( & self . access_token_ttl )
93
109
&& is_default_token_ttl ( & self . compat_token_ttl )
94
110
&& self . inactive_session_expiration . is_none ( )
111
+ && self . passkeys . is_none ( )
95
112
}
96
113
}
97
114
0 commit comments