authentik-api 2026.2.3 → 2026.5.0.rc2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -3
  3. data/README_API.md +66 -14
  4. data/lib/authentik/api/api/admin_api.rb +4 -12
  5. data/lib/authentik/api/api/core_api.rb +143 -18
  6. data/lib/authentik/api/api/crypto_api.rb +2 -6
  7. data/lib/authentik/api/api/endpoints_api.rb +1577 -656
  8. data/lib/authentik/api/api/events_api.rb +121 -38
  9. data/lib/authentik/api/api/flows_api.rb +8 -90
  10. data/lib/authentik/api/api/lifecycle_api.rb +22 -13
  11. data/lib/authentik/api/api/managed_api.rb +73 -0
  12. data/lib/authentik/api/api/policies_api.rb +5 -6
  13. data/lib/authentik/api/api/providers_api.rb +46 -108
  14. data/lib/authentik/api/api/rbac_api.rb +0 -5
  15. data/lib/authentik/api/api/schema_api.rb +4 -12
  16. data/lib/authentik/api/api/sources_api.rb +35 -96
  17. data/lib/authentik/api/api/ssf_api.rb +63 -6
  18. data/lib/authentik/api/api/stages_api.rb +581 -102
  19. data/lib/authentik/api/api/tasks_api.rb +5 -13
  20. data/lib/authentik/api/models/account_lockdown_stage.rb +372 -0
  21. data/lib/authentik/api/models/account_lockdown_stage_request.rb +219 -0
  22. data/lib/authentik/api/models/app_enum.rb +3 -2
  23. data/lib/authentik/api/models/apple_independent_secure_enclave.rb +246 -0
  24. data/lib/authentik/api/models/apple_independent_secure_enclave_request.rb +273 -0
  25. data/lib/authentik/api/models/application.rb +14 -4
  26. data/lib/authentik/api/models/application_request.rb +14 -4
  27. data/lib/authentik/api/models/authenticated_session_user_agent_device.rb +2 -30
  28. data/lib/authentik/api/models/authenticated_session_user_agent_os.rb +4 -60
  29. data/lib/authentik/api/models/authentication_enum.rb +2 -1
  30. data/lib/authentik/api/models/authenticator_validate_stage.rb +51 -4
  31. data/lib/authentik/api/models/authenticator_validate_stage_request.rb +51 -4
  32. data/lib/authentik/api/models/authenticator_web_authn_stage.rb +23 -2
  33. data/lib/authentik/api/models/authenticator_web_authn_stage_request.rb +23 -2
  34. data/lib/authentik/api/models/{flow_import_result.rb → blueprint_import_result.rb} +4 -4
  35. data/lib/authentik/api/models/brand.rb +11 -1
  36. data/lib/authentik/api/models/brand_request.rb +11 -1
  37. data/lib/authentik/api/models/certificate_key_pair.rb +1 -1
  38. data/lib/authentik/api/models/certificate_key_pair_key_type_enum.rb +37 -0
  39. data/lib/authentik/api/models/compatibility_mode_enum.rb +3 -1
  40. data/lib/authentik/api/models/{consent_stage_mode_enum.rb → consent_mode_enum.rb} +3 -3
  41. data/lib/authentik/api/models/consent_stage.rb +1 -1
  42. data/lib/authentik/api/models/consent_stage_request.rb +1 -1
  43. data/lib/authentik/api/models/country_code_enum.rb +3 -3
  44. data/lib/authentik/api/models/current_brand.rb +10 -1
  45. data/lib/authentik/api/models/current_brand_flags.rb +31 -27
  46. data/lib/authentik/api/models/delivery_method_enum.rb +3 -1
  47. data/lib/authentik/api/models/event_matcher_policy.rb +15 -5
  48. data/lib/authentik/api/models/event_matcher_policy_request.rb +30 -5
  49. data/lib/authentik/api/models/event_stats.rb +187 -0
  50. data/lib/authentik/api/models/event_volume.rb +1 -1
  51. data/lib/authentik/api/models/events_requested_enum.rb +7 -1
  52. data/lib/authentik/api/models/force_binding_enum.rb +34 -0
  53. data/lib/authentik/api/models/{resident_key_requirement_enum.rb → format_enum.rb} +6 -7
  54. data/lib/authentik/api/models/geo_ip_policy.rb +1 -1
  55. data/lib/authentik/api/models/{detailed_country_field.rb → geo_ip_policy_countries_obj_inner.rb} +22 -26
  56. data/lib/authentik/api/models/google_chrome_connector.rb +326 -0
  57. data/lib/authentik/api/models/google_chrome_connector_request.rb +214 -0
  58. data/lib/authentik/api/models/grant_types_enum.rb +39 -0
  59. data/lib/authentik/api/models/group_ldap_source_connection.rb +30 -4
  60. data/lib/authentik/api/models/iframe_logout_challenge.rb +1 -1
  61. data/lib/authentik/api/models/invitation_send_email_request.rb +213 -0
  62. data/lib/authentik/api/models/key_type_enum.rb +3 -3
  63. data/lib/authentik/api/models/lang_enum.rb +131 -0
  64. data/lib/authentik/api/models/lifecycle_iteration.rb +30 -86
  65. data/lib/authentik/api/models/logout_url.rb +209 -0
  66. data/lib/authentik/api/models/model_enum.rb +3 -1
  67. data/lib/authentik/api/models/native_logout_challenge.rb +68 -37
  68. data/lib/authentik/api/models/notification_transport.rb +13 -2
  69. data/lib/authentik/api/models/notification_transport_request.rb +13 -2
  70. data/lib/authentik/api/models/o_auth2_provider.rb +12 -1
  71. data/lib/authentik/api/models/o_auth2_provider_request.rb +12 -1
  72. data/lib/authentik/api/models/operating_system.rb +0 -17
  73. data/lib/authentik/api/models/operating_system_request.rb +2 -9
  74. data/lib/authentik/api/models/paginated_account_lockdown_stage_list.rb +214 -0
  75. data/lib/authentik/api/models/paginated_apple_independent_secure_enclave_list.rb +214 -0
  76. data/lib/authentik/api/models/paginated_extra_role_object_permission_list.rb +32 -4
  77. data/lib/authentik/api/models/paginated_google_chrome_connector_list.rb +214 -0
  78. data/lib/authentik/api/models/patched_account_lockdown_stage_request.rb +212 -0
  79. data/lib/authentik/api/models/patched_apple_independent_secure_enclave_request.rb +235 -0
  80. data/lib/authentik/api/models/patched_application_request.rb +14 -4
  81. data/lib/authentik/api/models/patched_authenticator_validate_stage_request.rb +51 -4
  82. data/lib/authentik/api/models/patched_authenticator_web_authn_stage_request.rb +23 -2
  83. data/lib/authentik/api/models/patched_brand_request.rb +11 -1
  84. data/lib/authentik/api/models/patched_consent_stage_request.rb +1 -1
  85. data/lib/authentik/api/models/patched_event_matcher_policy_request.rb +30 -5
  86. data/lib/authentik/api/models/patched_google_chrome_connector_request.rb +190 -0
  87. data/lib/authentik/api/models/patched_notification_transport_request.rb +13 -2
  88. data/lib/authentik/api/models/patched_o_auth2_provider_request.rb +12 -1
  89. data/lib/authentik/api/models/patched_saml_provider_request.rb +17 -27
  90. data/lib/authentik/api/models/patched_saml_source_request.rb +11 -1
  91. data/lib/authentik/api/models/patched_settings_request_flags.rb +31 -27
  92. data/lib/authentik/api/models/patched_ssf_provider_request.rb +13 -4
  93. data/lib/authentik/api/models/prompt_type_enum.rb +4 -1
  94. data/lib/authentik/api/models/redirect_uri.rb +13 -4
  95. data/lib/authentik/api/models/redirect_uri_request.rb +13 -4
  96. data/lib/authentik/api/models/redirect_uri_type_enum.rb +34 -0
  97. data/lib/authentik/api/models/related_rule.rb +250 -0
  98. data/lib/authentik/api/models/saml_provider.rb +98 -8
  99. data/lib/authentik/api/models/saml_provider_request.rb +17 -27
  100. data/lib/authentik/api/models/saml_source.rb +11 -1
  101. data/lib/authentik/api/models/saml_source_request.rb +11 -1
  102. data/lib/authentik/api/models/ssf_provider.rb +41 -4
  103. data/lib/authentik/api/models/ssf_provider_request.rb +13 -4
  104. data/lib/authentik/api/models/ssf_stream.rb +10 -1
  105. data/lib/authentik/api/models/ssf_stream_status_enum.rb +36 -0
  106. data/lib/authentik/api/models/task.rb +1 -1
  107. data/lib/authentik/api/models/{task_state_enum.rb → task_status_enum.rb} +3 -3
  108. data/lib/authentik/api/models/{notification_transport_mode_enum.rb → transport_mode_enum.rb} +3 -3
  109. data/lib/authentik/api/models/usage_enum.rb +33 -0
  110. data/lib/authentik/api/models/user_account_lockdown_request.rb +144 -0
  111. data/lib/authentik/api/models/user_ldap_source_connection.rb +30 -4
  112. data/lib/authentik/api/models/user_password_hash_set_request.rb +168 -0
  113. data/lib/authentik/api/models/vendor_enum.rb +2 -1
  114. data/lib/authentik/api/models/web_authn_hint_enum.rb +35 -0
  115. data/lib/authentik/api/version.rb +1 -1
  116. data/spec/api/admin_api_spec.rb +2 -2
  117. data/spec/api/core_api_spec.rb +27 -3
  118. data/spec/api/crypto_api_spec.rb +1 -1
  119. data/spec/api/endpoints_api_spec.rb +167 -0
  120. data/spec/api/events_api_spec.rb +33 -7
  121. data/spec/api/flows_api_spec.rb +4 -16
  122. data/spec/api/lifecycle_api_spec.rb +6 -3
  123. data/spec/api/managed_api_spec.rb +13 -0
  124. data/spec/api/policies_api_spec.rb +2 -1
  125. data/spec/api/providers_api_spec.rb +21 -19
  126. data/spec/api/schema_api_spec.rb +2 -2
  127. data/spec/api/sources_api_spec.rb +17 -16
  128. data/spec/api/ssf_api_spec.rb +12 -1
  129. data/spec/api/stages_api_spec.rb +117 -18
  130. data/spec/api/tasks_api_spec.rb +2 -2
  131. data/spec/models/account_lockdown_stage_request_spec.rb +60 -0
  132. data/spec/models/account_lockdown_stage_spec.rb +96 -0
  133. data/spec/models/apple_independent_secure_enclave_request_spec.rb +54 -0
  134. data/spec/models/apple_independent_secure_enclave_spec.rb +54 -0
  135. data/spec/models/application_request_spec.rb +6 -0
  136. data/spec/models/application_spec.rb +6 -0
  137. data/spec/models/authenticator_validate_stage_request_spec.rb +30 -0
  138. data/spec/models/authenticator_validate_stage_spec.rb +30 -0
  139. data/spec/models/authenticator_web_authn_stage_request_spec.rb +12 -0
  140. data/spec/models/authenticator_web_authn_stage_spec.rb +12 -0
  141. data/spec/models/{flow_import_result_spec.rb → blueprint_import_result_spec.rb} +6 -6
  142. data/spec/models/brand_request_spec.rb +6 -0
  143. data/spec/models/brand_spec.rb +6 -0
  144. data/spec/models/{notification_transport_mode_enum_spec.rb → certificate_key_pair_key_type_enum_spec.rb} +6 -6
  145. data/spec/models/{consent_stage_mode_enum_spec.rb → consent_mode_enum_spec.rb} +6 -6
  146. data/spec/models/current_brand_flags_spec.rb +2 -2
  147. data/spec/models/current_brand_spec.rb +6 -0
  148. data/spec/models/event_matcher_policy_request_spec.rb +6 -0
  149. data/spec/models/event_matcher_policy_spec.rb +6 -0
  150. data/spec/models/event_stats_spec.rb +36 -0
  151. data/spec/models/force_binding_enum_spec.rb +24 -0
  152. data/spec/models/format_enum_spec.rb +24 -0
  153. data/spec/models/{detailed_country_field_spec.rb → geo_ip_policy_countries_obj_inner_spec.rb} +6 -6
  154. data/spec/models/google_chrome_connector_request_spec.rb +48 -0
  155. data/spec/models/google_chrome_connector_spec.rb +78 -0
  156. data/spec/models/grant_types_enum_spec.rb +24 -0
  157. data/spec/models/group_ldap_source_connection_spec.rb +6 -0
  158. data/spec/models/invitation_send_email_request_spec.rb +48 -0
  159. data/spec/models/lang_enum_spec.rb +24 -0
  160. data/spec/models/lifecycle_iteration_spec.rb +2 -14
  161. data/spec/models/logout_url_spec.rb +60 -0
  162. data/spec/models/native_logout_challenge_spec.rb +13 -7
  163. data/spec/models/notification_transport_request_spec.rb +6 -0
  164. data/spec/models/notification_transport_spec.rb +6 -0
  165. data/spec/models/o_auth2_provider_request_spec.rb +6 -0
  166. data/spec/models/o_auth2_provider_spec.rb +6 -0
  167. data/spec/models/paginated_account_lockdown_stage_list_spec.rb +42 -0
  168. data/spec/models/paginated_apple_independent_secure_enclave_list_spec.rb +42 -0
  169. data/spec/models/paginated_extra_role_object_permission_list_spec.rb +6 -0
  170. data/spec/models/paginated_google_chrome_connector_list_spec.rb +42 -0
  171. data/spec/models/patched_account_lockdown_stage_request_spec.rb +60 -0
  172. data/spec/models/patched_apple_independent_secure_enclave_request_spec.rb +54 -0
  173. data/spec/models/patched_application_request_spec.rb +6 -0
  174. data/spec/models/patched_authenticator_validate_stage_request_spec.rb +30 -0
  175. data/spec/models/patched_authenticator_web_authn_stage_request_spec.rb +12 -0
  176. data/spec/models/patched_brand_request_spec.rb +6 -0
  177. data/spec/models/patched_event_matcher_policy_request_spec.rb +6 -0
  178. data/spec/models/patched_google_chrome_connector_request_spec.rb +48 -0
  179. data/spec/models/patched_notification_transport_request_spec.rb +6 -0
  180. data/spec/models/patched_o_auth2_provider_request_spec.rb +6 -0
  181. data/spec/models/patched_saml_provider_request_spec.rb +7 -1
  182. data/spec/models/patched_saml_source_request_spec.rb +6 -0
  183. data/spec/models/patched_settings_request_flags_spec.rb +2 -2
  184. data/spec/models/patched_ssf_provider_request_spec.rb +6 -0
  185. data/spec/models/redirect_uri_request_spec.rb +6 -0
  186. data/spec/models/redirect_uri_spec.rb +6 -0
  187. data/spec/models/redirect_uri_type_enum_spec.rb +24 -0
  188. data/spec/models/related_rule_spec.rb +54 -0
  189. data/spec/models/saml_provider_request_spec.rb +7 -1
  190. data/spec/models/saml_provider_spec.rb +25 -1
  191. data/spec/models/saml_source_request_spec.rb +6 -0
  192. data/spec/models/saml_source_spec.rb +6 -0
  193. data/spec/models/ssf_provider_request_spec.rb +6 -0
  194. data/spec/models/ssf_provider_spec.rb +12 -0
  195. data/spec/models/ssf_stream_spec.rb +6 -0
  196. data/spec/models/ssf_stream_status_enum_spec.rb +24 -0
  197. data/spec/models/{task_state_enum_spec.rb → task_status_enum_spec.rb} +6 -6
  198. data/spec/models/transport_mode_enum_spec.rb +24 -0
  199. data/spec/models/usage_enum_spec.rb +24 -0
  200. data/spec/models/user_account_lockdown_request_spec.rb +30 -0
  201. data/spec/models/user_ldap_source_connection_spec.rb +6 -0
  202. data/spec/models/user_password_hash_set_request_spec.rb +30 -0
  203. data/spec/models/web_authn_hint_enum_spec.rb +24 -0
  204. data/spec/zeitwerk_spec.rb +34 -0
  205. metadata +113 -32
  206. data/spec/models/resident_key_requirement_enum_spec.rb +0 -24
@@ -55,6 +55,10 @@ module Authentik::Api
55
55
  # List of attributes with nullable: true
56
56
  def self.openapi_nullable
57
57
  Set.new([
58
+ :'major',
59
+ :'minor',
60
+ :'patch',
61
+ :'patch_minor'
58
62
  ])
59
63
  end
60
64
 
@@ -114,22 +118,6 @@ module Authentik::Api
114
118
  invalid_properties.push('invalid value for "family", family cannot be nil.')
115
119
  end
116
120
 
117
- if @major.nil?
118
- invalid_properties.push('invalid value for "major", major cannot be nil.')
119
- end
120
-
121
- if @minor.nil?
122
- invalid_properties.push('invalid value for "minor", minor cannot be nil.')
123
- end
124
-
125
- if @patch.nil?
126
- invalid_properties.push('invalid value for "patch", patch cannot be nil.')
127
- end
128
-
129
- if @patch_minor.nil?
130
- invalid_properties.push('invalid value for "patch_minor", patch_minor cannot be nil.')
131
- end
132
-
133
121
  invalid_properties
134
122
  end
135
123
 
@@ -138,10 +126,6 @@ module Authentik::Api
138
126
  def valid?
139
127
  warn '[DEPRECATED] the `valid?` method is obsolete'
140
128
  return false if @family.nil?
141
- return false if @major.nil?
142
- return false if @minor.nil?
143
- return false if @patch.nil?
144
- return false if @patch_minor.nil?
145
129
  true
146
130
  end
147
131
 
@@ -155,46 +139,6 @@ module Authentik::Api
155
139
  @family = family
156
140
  end
157
141
 
158
- # Custom attribute writer method with validation
159
- # @param [Object] major Value to be assigned
160
- def major=(major)
161
- if major.nil?
162
- fail ArgumentError, 'major cannot be nil'
163
- end
164
-
165
- @major = major
166
- end
167
-
168
- # Custom attribute writer method with validation
169
- # @param [Object] minor Value to be assigned
170
- def minor=(minor)
171
- if minor.nil?
172
- fail ArgumentError, 'minor cannot be nil'
173
- end
174
-
175
- @minor = minor
176
- end
177
-
178
- # Custom attribute writer method with validation
179
- # @param [Object] patch Value to be assigned
180
- def patch=(patch)
181
- if patch.nil?
182
- fail ArgumentError, 'patch cannot be nil'
183
- end
184
-
185
- @patch = patch
186
- end
187
-
188
- # Custom attribute writer method with validation
189
- # @param [Object] patch_minor Value to be assigned
190
- def patch_minor=(patch_minor)
191
- if patch_minor.nil?
192
- fail ArgumentError, 'patch_minor cannot be nil'
193
- end
194
-
195
- @patch_minor = patch_minor
196
- end
197
-
198
142
  # Checks equality by comparing each attribute.
199
143
  # @param [Object] Object to be compared
200
144
  def ==(o)
@@ -15,9 +15,10 @@ module Authentik::Api
15
15
  REQUIRE_SUPERUSER = "require_superuser".freeze
16
16
  REQUIRE_REDIRECT = "require_redirect".freeze
17
17
  REQUIRE_OUTPOST = "require_outpost".freeze
18
+ REQUIRE_TOKEN = "require_token".freeze
18
19
 
19
20
  def self.all_vars
20
- @all_vars ||= [NONE, REQUIRE_AUTHENTICATED, REQUIRE_UNAUTHENTICATED, REQUIRE_SUPERUSER, REQUIRE_REDIRECT, REQUIRE_OUTPOST].freeze
21
+ @all_vars ||= [NONE, REQUIRE_AUTHENTICATED, REQUIRE_UNAUTHENTICATED, REQUIRE_SUPERUSER, REQUIRE_REDIRECT, REQUIRE_OUTPOST, REQUIRE_TOKEN].freeze
21
22
  end
22
23
 
23
24
  # Builds the enum from string
@@ -42,10 +42,20 @@ module Authentik::Api
42
42
  # Enforce user verification for WebAuthn devices.
43
43
  attr_accessor :webauthn_user_verification
44
44
 
45
+ attr_accessor :webauthn_hints
46
+
45
47
  attr_accessor :webauthn_allowed_device_types
46
48
 
47
49
  attr_accessor :webauthn_allowed_device_types_obj
48
50
 
51
+ attr_accessor :email_otp_throttling_factor
52
+
53
+ attr_accessor :sms_otp_throttling_factor
54
+
55
+ attr_accessor :totp_otp_throttling_factor
56
+
57
+ attr_accessor :static_otp_throttling_factor
58
+
49
59
  class EnumAttributeValidator
50
60
  attr_reader :datatype
51
61
  attr_reader :allowable_values
@@ -83,8 +93,13 @@ module Authentik::Api
83
93
  :'configuration_stages' => :'configuration_stages',
84
94
  :'last_auth_threshold' => :'last_auth_threshold',
85
95
  :'webauthn_user_verification' => :'webauthn_user_verification',
96
+ :'webauthn_hints' => :'webauthn_hints',
86
97
  :'webauthn_allowed_device_types' => :'webauthn_allowed_device_types',
87
- :'webauthn_allowed_device_types_obj' => :'webauthn_allowed_device_types_obj'
98
+ :'webauthn_allowed_device_types_obj' => :'webauthn_allowed_device_types_obj',
99
+ :'email_otp_throttling_factor' => :'email_otp_throttling_factor',
100
+ :'sms_otp_throttling_factor' => :'sms_otp_throttling_factor',
101
+ :'totp_otp_throttling_factor' => :'totp_otp_throttling_factor',
102
+ :'static_otp_throttling_factor' => :'static_otp_throttling_factor'
88
103
  }
89
104
  end
90
105
 
@@ -113,8 +128,13 @@ module Authentik::Api
113
128
  :'configuration_stages' => :'Array<String>',
114
129
  :'last_auth_threshold' => :'String',
115
130
  :'webauthn_user_verification' => :'UserVerificationEnum',
131
+ :'webauthn_hints' => :'Array<WebAuthnHintEnum>',
116
132
  :'webauthn_allowed_device_types' => :'Array<String>',
117
- :'webauthn_allowed_device_types_obj' => :'Array<WebAuthnDeviceType>'
133
+ :'webauthn_allowed_device_types_obj' => :'Array<WebAuthnDeviceType>',
134
+ :'email_otp_throttling_factor' => :'Float',
135
+ :'sms_otp_throttling_factor' => :'Float',
136
+ :'totp_otp_throttling_factor' => :'Float',
137
+ :'static_otp_throttling_factor' => :'Float'
118
138
  }
119
139
  end
120
140
 
@@ -208,6 +228,12 @@ module Authentik::Api
208
228
  self.webauthn_user_verification = attributes[:'webauthn_user_verification']
209
229
  end
210
230
 
231
+ if attributes.key?(:'webauthn_hints')
232
+ if (value = attributes[:'webauthn_hints']).is_a?(Array)
233
+ self.webauthn_hints = value
234
+ end
235
+ end
236
+
211
237
  if attributes.key?(:'webauthn_allowed_device_types')
212
238
  if (value = attributes[:'webauthn_allowed_device_types']).is_a?(Array)
213
239
  self.webauthn_allowed_device_types = value
@@ -221,6 +247,22 @@ module Authentik::Api
221
247
  else
222
248
  self.webauthn_allowed_device_types_obj = nil
223
249
  end
250
+
251
+ if attributes.key?(:'email_otp_throttling_factor')
252
+ self.email_otp_throttling_factor = attributes[:'email_otp_throttling_factor']
253
+ end
254
+
255
+ if attributes.key?(:'sms_otp_throttling_factor')
256
+ self.sms_otp_throttling_factor = attributes[:'sms_otp_throttling_factor']
257
+ end
258
+
259
+ if attributes.key?(:'totp_otp_throttling_factor')
260
+ self.totp_otp_throttling_factor = attributes[:'totp_otp_throttling_factor']
261
+ end
262
+
263
+ if attributes.key?(:'static_otp_throttling_factor')
264
+ self.static_otp_throttling_factor = attributes[:'static_otp_throttling_factor']
265
+ end
224
266
  end
225
267
 
226
268
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -375,8 +417,13 @@ module Authentik::Api
375
417
  configuration_stages == o.configuration_stages &&
376
418
  last_auth_threshold == o.last_auth_threshold &&
377
419
  webauthn_user_verification == o.webauthn_user_verification &&
420
+ webauthn_hints == o.webauthn_hints &&
378
421
  webauthn_allowed_device_types == o.webauthn_allowed_device_types &&
379
- webauthn_allowed_device_types_obj == o.webauthn_allowed_device_types_obj
422
+ webauthn_allowed_device_types_obj == o.webauthn_allowed_device_types_obj &&
423
+ email_otp_throttling_factor == o.email_otp_throttling_factor &&
424
+ sms_otp_throttling_factor == o.sms_otp_throttling_factor &&
425
+ totp_otp_throttling_factor == o.totp_otp_throttling_factor &&
426
+ static_otp_throttling_factor == o.static_otp_throttling_factor
380
427
  end
381
428
 
382
429
  # @see the `==` method
@@ -388,7 +435,7 @@ module Authentik::Api
388
435
  # Calculates hash code according to all attributes.
389
436
  # @return [Integer] Hash code
390
437
  def hash
391
- [pk, name, component, verbose_name, verbose_name_plural, meta_model_name, flow_set, not_configured_action, device_classes, configuration_stages, last_auth_threshold, webauthn_user_verification, webauthn_allowed_device_types, webauthn_allowed_device_types_obj].hash
438
+ [pk, name, component, verbose_name, verbose_name_plural, meta_model_name, flow_set, not_configured_action, device_classes, configuration_stages, last_auth_threshold, webauthn_user_verification, webauthn_hints, webauthn_allowed_device_types, webauthn_allowed_device_types_obj, email_otp_throttling_factor, sms_otp_throttling_factor, totp_otp_throttling_factor, static_otp_throttling_factor].hash
392
439
  end
393
440
 
394
441
  # Builds the object from hash
@@ -26,8 +26,18 @@ module Authentik::Api
26
26
  # Enforce user verification for WebAuthn devices.
27
27
  attr_accessor :webauthn_user_verification
28
28
 
29
+ attr_accessor :webauthn_hints
30
+
29
31
  attr_accessor :webauthn_allowed_device_types
30
32
 
33
+ attr_accessor :email_otp_throttling_factor
34
+
35
+ attr_accessor :sms_otp_throttling_factor
36
+
37
+ attr_accessor :totp_otp_throttling_factor
38
+
39
+ attr_accessor :static_otp_throttling_factor
40
+
31
41
  class EnumAttributeValidator
32
42
  attr_reader :datatype
33
43
  attr_reader :allowable_values
@@ -59,7 +69,12 @@ module Authentik::Api
59
69
  :'configuration_stages' => :'configuration_stages',
60
70
  :'last_auth_threshold' => :'last_auth_threshold',
61
71
  :'webauthn_user_verification' => :'webauthn_user_verification',
62
- :'webauthn_allowed_device_types' => :'webauthn_allowed_device_types'
72
+ :'webauthn_hints' => :'webauthn_hints',
73
+ :'webauthn_allowed_device_types' => :'webauthn_allowed_device_types',
74
+ :'email_otp_throttling_factor' => :'email_otp_throttling_factor',
75
+ :'sms_otp_throttling_factor' => :'sms_otp_throttling_factor',
76
+ :'totp_otp_throttling_factor' => :'totp_otp_throttling_factor',
77
+ :'static_otp_throttling_factor' => :'static_otp_throttling_factor'
63
78
  }
64
79
  end
65
80
 
@@ -82,7 +97,12 @@ module Authentik::Api
82
97
  :'configuration_stages' => :'Array<String>',
83
98
  :'last_auth_threshold' => :'String',
84
99
  :'webauthn_user_verification' => :'UserVerificationEnum',
85
- :'webauthn_allowed_device_types' => :'Array<String>'
100
+ :'webauthn_hints' => :'Array<WebAuthnHintEnum>',
101
+ :'webauthn_allowed_device_types' => :'Array<String>',
102
+ :'email_otp_throttling_factor' => :'Float',
103
+ :'sms_otp_throttling_factor' => :'Float',
104
+ :'totp_otp_throttling_factor' => :'Float',
105
+ :'static_otp_throttling_factor' => :'Float'
86
106
  }
87
107
  end
88
108
 
@@ -138,11 +158,33 @@ module Authentik::Api
138
158
  self.webauthn_user_verification = attributes[:'webauthn_user_verification']
139
159
  end
140
160
 
161
+ if attributes.key?(:'webauthn_hints')
162
+ if (value = attributes[:'webauthn_hints']).is_a?(Array)
163
+ self.webauthn_hints = value
164
+ end
165
+ end
166
+
141
167
  if attributes.key?(:'webauthn_allowed_device_types')
142
168
  if (value = attributes[:'webauthn_allowed_device_types']).is_a?(Array)
143
169
  self.webauthn_allowed_device_types = value
144
170
  end
145
171
  end
172
+
173
+ if attributes.key?(:'email_otp_throttling_factor')
174
+ self.email_otp_throttling_factor = attributes[:'email_otp_throttling_factor']
175
+ end
176
+
177
+ if attributes.key?(:'sms_otp_throttling_factor')
178
+ self.sms_otp_throttling_factor = attributes[:'sms_otp_throttling_factor']
179
+ end
180
+
181
+ if attributes.key?(:'totp_otp_throttling_factor')
182
+ self.totp_otp_throttling_factor = attributes[:'totp_otp_throttling_factor']
183
+ end
184
+
185
+ if attributes.key?(:'static_otp_throttling_factor')
186
+ self.static_otp_throttling_factor = attributes[:'static_otp_throttling_factor']
187
+ end
146
188
  end
147
189
 
148
190
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -214,7 +256,12 @@ module Authentik::Api
214
256
  configuration_stages == o.configuration_stages &&
215
257
  last_auth_threshold == o.last_auth_threshold &&
216
258
  webauthn_user_verification == o.webauthn_user_verification &&
217
- webauthn_allowed_device_types == o.webauthn_allowed_device_types
259
+ webauthn_hints == o.webauthn_hints &&
260
+ webauthn_allowed_device_types == o.webauthn_allowed_device_types &&
261
+ email_otp_throttling_factor == o.email_otp_throttling_factor &&
262
+ sms_otp_throttling_factor == o.sms_otp_throttling_factor &&
263
+ totp_otp_throttling_factor == o.totp_otp_throttling_factor &&
264
+ static_otp_throttling_factor == o.static_otp_throttling_factor
218
265
  end
219
266
 
220
267
  # @see the `==` method
@@ -226,7 +273,7 @@ module Authentik::Api
226
273
  # Calculates hash code according to all attributes.
227
274
  # @return [Integer] Hash code
228
275
  def hash
229
- [name, not_configured_action, device_classes, configuration_stages, last_auth_threshold, webauthn_user_verification, webauthn_allowed_device_types].hash
276
+ [name, not_configured_action, device_classes, configuration_stages, last_auth_threshold, webauthn_user_verification, webauthn_hints, webauthn_allowed_device_types, email_otp_throttling_factor, sms_otp_throttling_factor, totp_otp_throttling_factor, static_otp_throttling_factor].hash
230
277
  end
231
278
 
232
279
  # Builds the object from hash
@@ -39,10 +39,15 @@ module Authentik::Api
39
39
 
40
40
  attr_accessor :resident_key_requirement
41
41
 
42
+ attr_accessor :hints
43
+
42
44
  attr_accessor :device_type_restrictions
43
45
 
44
46
  attr_accessor :device_type_restrictions_obj
45
47
 
48
+ # When enabled, a given device can only be registered once.
49
+ attr_accessor :prevent_duplicate_devices
50
+
46
51
  attr_accessor :max_attempts
47
52
 
48
53
  class EnumAttributeValidator
@@ -82,8 +87,10 @@ module Authentik::Api
82
87
  :'user_verification' => :'user_verification',
83
88
  :'authenticator_attachment' => :'authenticator_attachment',
84
89
  :'resident_key_requirement' => :'resident_key_requirement',
90
+ :'hints' => :'hints',
85
91
  :'device_type_restrictions' => :'device_type_restrictions',
86
92
  :'device_type_restrictions_obj' => :'device_type_restrictions_obj',
93
+ :'prevent_duplicate_devices' => :'prevent_duplicate_devices',
87
94
  :'max_attempts' => :'max_attempts'
88
95
  }
89
96
  end
@@ -112,9 +119,11 @@ module Authentik::Api
112
119
  :'friendly_name' => :'String',
113
120
  :'user_verification' => :'UserVerificationEnum',
114
121
  :'authenticator_attachment' => :'AuthenticatorAttachmentEnum',
115
- :'resident_key_requirement' => :'ResidentKeyRequirementEnum',
122
+ :'resident_key_requirement' => :'UserVerificationEnum',
123
+ :'hints' => :'Array<WebAuthnHintEnum>',
116
124
  :'device_type_restrictions' => :'Array<String>',
117
125
  :'device_type_restrictions_obj' => :'Array<WebAuthnDeviceType>',
126
+ :'prevent_duplicate_devices' => :'Boolean',
118
127
  :'max_attempts' => :'Integer'
119
128
  }
120
129
  end
@@ -207,6 +216,12 @@ module Authentik::Api
207
216
  self.resident_key_requirement = attributes[:'resident_key_requirement']
208
217
  end
209
218
 
219
+ if attributes.key?(:'hints')
220
+ if (value = attributes[:'hints']).is_a?(Array)
221
+ self.hints = value
222
+ end
223
+ end
224
+
210
225
  if attributes.key?(:'device_type_restrictions')
211
226
  if (value = attributes[:'device_type_restrictions']).is_a?(Array)
212
227
  self.device_type_restrictions = value
@@ -221,6 +236,10 @@ module Authentik::Api
221
236
  self.device_type_restrictions_obj = nil
222
237
  end
223
238
 
239
+ if attributes.key?(:'prevent_duplicate_devices')
240
+ self.prevent_duplicate_devices = attributes[:'prevent_duplicate_devices']
241
+ end
242
+
224
243
  if attributes.key?(:'max_attempts')
225
244
  self.max_attempts = attributes[:'max_attempts']
226
245
  end
@@ -406,8 +425,10 @@ module Authentik::Api
406
425
  user_verification == o.user_verification &&
407
426
  authenticator_attachment == o.authenticator_attachment &&
408
427
  resident_key_requirement == o.resident_key_requirement &&
428
+ hints == o.hints &&
409
429
  device_type_restrictions == o.device_type_restrictions &&
410
430
  device_type_restrictions_obj == o.device_type_restrictions_obj &&
431
+ prevent_duplicate_devices == o.prevent_duplicate_devices &&
411
432
  max_attempts == o.max_attempts
412
433
  end
413
434
 
@@ -420,7 +441,7 @@ module Authentik::Api
420
441
  # Calculates hash code according to all attributes.
421
442
  # @return [Integer] Hash code
422
443
  def hash
423
- [pk, name, component, verbose_name, verbose_name_plural, meta_model_name, flow_set, configure_flow, friendly_name, user_verification, authenticator_attachment, resident_key_requirement, device_type_restrictions, device_type_restrictions_obj, max_attempts].hash
444
+ [pk, name, component, verbose_name, verbose_name_plural, meta_model_name, flow_set, configure_flow, friendly_name, user_verification, authenticator_attachment, resident_key_requirement, hints, device_type_restrictions, device_type_restrictions_obj, prevent_duplicate_devices, max_attempts].hash
424
445
  end
425
446
 
426
447
  # Builds the object from hash
@@ -23,8 +23,13 @@ module Authentik::Api
23
23
 
24
24
  attr_accessor :resident_key_requirement
25
25
 
26
+ attr_accessor :hints
27
+
26
28
  attr_accessor :device_type_restrictions
27
29
 
30
+ # When enabled, a given device can only be registered once.
31
+ attr_accessor :prevent_duplicate_devices
32
+
28
33
  attr_accessor :max_attempts
29
34
 
30
35
  class EnumAttributeValidator
@@ -58,7 +63,9 @@ module Authentik::Api
58
63
  :'user_verification' => :'user_verification',
59
64
  :'authenticator_attachment' => :'authenticator_attachment',
60
65
  :'resident_key_requirement' => :'resident_key_requirement',
66
+ :'hints' => :'hints',
61
67
  :'device_type_restrictions' => :'device_type_restrictions',
68
+ :'prevent_duplicate_devices' => :'prevent_duplicate_devices',
62
69
  :'max_attempts' => :'max_attempts'
63
70
  }
64
71
  end
@@ -81,8 +88,10 @@ module Authentik::Api
81
88
  :'friendly_name' => :'String',
82
89
  :'user_verification' => :'UserVerificationEnum',
83
90
  :'authenticator_attachment' => :'AuthenticatorAttachmentEnum',
84
- :'resident_key_requirement' => :'ResidentKeyRequirementEnum',
91
+ :'resident_key_requirement' => :'UserVerificationEnum',
92
+ :'hints' => :'Array<WebAuthnHintEnum>',
85
93
  :'device_type_restrictions' => :'Array<String>',
94
+ :'prevent_duplicate_devices' => :'Boolean',
86
95
  :'max_attempts' => :'Integer'
87
96
  }
88
97
  end
@@ -137,12 +146,22 @@ module Authentik::Api
137
146
  self.resident_key_requirement = attributes[:'resident_key_requirement']
138
147
  end
139
148
 
149
+ if attributes.key?(:'hints')
150
+ if (value = attributes[:'hints']).is_a?(Array)
151
+ self.hints = value
152
+ end
153
+ end
154
+
140
155
  if attributes.key?(:'device_type_restrictions')
141
156
  if (value = attributes[:'device_type_restrictions']).is_a?(Array)
142
157
  self.device_type_restrictions = value
143
158
  end
144
159
  end
145
160
 
161
+ if attributes.key?(:'prevent_duplicate_devices')
162
+ self.prevent_duplicate_devices = attributes[:'prevent_duplicate_devices']
163
+ end
164
+
146
165
  if attributes.key?(:'max_attempts')
147
166
  self.max_attempts = attributes[:'max_attempts']
148
167
  end
@@ -226,7 +245,9 @@ module Authentik::Api
226
245
  user_verification == o.user_verification &&
227
246
  authenticator_attachment == o.authenticator_attachment &&
228
247
  resident_key_requirement == o.resident_key_requirement &&
248
+ hints == o.hints &&
229
249
  device_type_restrictions == o.device_type_restrictions &&
250
+ prevent_duplicate_devices == o.prevent_duplicate_devices &&
230
251
  max_attempts == o.max_attempts
231
252
  end
232
253
 
@@ -239,7 +260,7 @@ module Authentik::Api
239
260
  # Calculates hash code according to all attributes.
240
261
  # @return [Integer] Hash code
241
262
  def hash
242
- [name, configure_flow, friendly_name, user_verification, authenticator_attachment, resident_key_requirement, device_type_restrictions, max_attempts].hash
263
+ [name, configure_flow, friendly_name, user_verification, authenticator_attachment, resident_key_requirement, hints, device_type_restrictions, prevent_duplicate_devices, max_attempts].hash
243
264
  end
244
265
 
245
266
  # Builds the object from hash
@@ -8,8 +8,8 @@ require 'date'
8
8
  require 'time'
9
9
 
10
10
  module Authentik::Api
11
- # Logs of an attempted flow import
12
- class FlowImportResult < ApiModelBase
11
+ # Logs of an attempted blueprint import
12
+ class BlueprintImportResult < ApiModelBase
13
13
  attr_accessor :logs
14
14
 
15
15
  attr_accessor :success
@@ -50,14 +50,14 @@ module Authentik::Api
50
50
  # @param [Hash] attributes Model attributes in the form of hash
51
51
  def initialize(attributes = {})
52
52
  if (!attributes.is_a?(Hash))
53
- fail ArgumentError, "The input argument (attributes) must be a hash in `Authentik::Api::FlowImportResult` initialize method"
53
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Authentik::Api::BlueprintImportResult` initialize method"
54
54
  end
55
55
 
56
56
  # check to see if the attribute exists and convert string to symbol for hash key
57
57
  acceptable_attribute_map = self.class.acceptable_attribute_map
58
58
  attributes = attributes.each_with_object({}) { |(k, v), h|
59
59
  if (!acceptable_attribute_map.key?(k.to_sym))
60
- fail ArgumentError, "`#{k}` is not a valid attribute in `Authentik::Api::FlowImportResult`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
60
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Authentik::Api::BlueprintImportResult`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
61
61
  end
62
62
  h[k.to_sym] = v
63
63
  }
@@ -39,6 +39,8 @@ module Authentik::Api
39
39
 
40
40
  attr_accessor :flow_device_code
41
41
 
42
+ attr_accessor :flow_lockdown
43
+
42
44
  # When set, external users will be redirected to this application after authenticating.
43
45
  attr_accessor :default_application
44
46
 
@@ -67,6 +69,7 @@ module Authentik::Api
67
69
  :'flow_unenrollment' => :'flow_unenrollment',
68
70
  :'flow_user_settings' => :'flow_user_settings',
69
71
  :'flow_device_code' => :'flow_device_code',
72
+ :'flow_lockdown' => :'flow_lockdown',
70
73
  :'default_application' => :'default_application',
71
74
  :'web_certificate' => :'web_certificate',
72
75
  :'client_certificates' => :'client_certificates',
@@ -101,6 +104,7 @@ module Authentik::Api
101
104
  :'flow_unenrollment' => :'String',
102
105
  :'flow_user_settings' => :'String',
103
106
  :'flow_device_code' => :'String',
107
+ :'flow_lockdown' => :'String',
104
108
  :'default_application' => :'String',
105
109
  :'web_certificate' => :'String',
106
110
  :'client_certificates' => :'Array<String>',
@@ -117,6 +121,7 @@ module Authentik::Api
117
121
  :'flow_unenrollment',
118
122
  :'flow_user_settings',
119
123
  :'flow_device_code',
124
+ :'flow_lockdown',
120
125
  :'default_application',
121
126
  :'web_certificate',
122
127
  ])
@@ -198,6 +203,10 @@ module Authentik::Api
198
203
  self.flow_device_code = attributes[:'flow_device_code']
199
204
  end
200
205
 
206
+ if attributes.key?(:'flow_lockdown')
207
+ self.flow_lockdown = attributes[:'flow_lockdown']
208
+ end
209
+
201
210
  if attributes.key?(:'default_application')
202
211
  self.default_application = attributes[:'default_application']
203
212
  end
@@ -283,6 +292,7 @@ module Authentik::Api
283
292
  flow_unenrollment == o.flow_unenrollment &&
284
293
  flow_user_settings == o.flow_user_settings &&
285
294
  flow_device_code == o.flow_device_code &&
295
+ flow_lockdown == o.flow_lockdown &&
286
296
  default_application == o.default_application &&
287
297
  web_certificate == o.web_certificate &&
288
298
  client_certificates == o.client_certificates &&
@@ -298,7 +308,7 @@ module Authentik::Api
298
308
  # Calculates hash code according to all attributes.
299
309
  # @return [Integer] Hash code
300
310
  def hash
301
- [brand_uuid, domain, default, branding_title, branding_logo, branding_favicon, branding_custom_css, branding_default_flow_background, flow_authentication, flow_invalidation, flow_recovery, flow_unenrollment, flow_user_settings, flow_device_code, default_application, web_certificate, client_certificates, attributes].hash
311
+ [brand_uuid, domain, default, branding_title, branding_logo, branding_favicon, branding_custom_css, branding_default_flow_background, flow_authentication, flow_invalidation, flow_recovery, flow_unenrollment, flow_user_settings, flow_device_code, flow_lockdown, default_application, web_certificate, client_certificates, attributes].hash
302
312
  end
303
313
 
304
314
  # Builds the object from hash
@@ -37,6 +37,8 @@ module Authentik::Api
37
37
 
38
38
  attr_accessor :flow_device_code
39
39
 
40
+ attr_accessor :flow_lockdown
41
+
40
42
  # When set, external users will be redirected to this application after authenticating.
41
43
  attr_accessor :default_application
42
44
 
@@ -64,6 +66,7 @@ module Authentik::Api
64
66
  :'flow_unenrollment' => :'flow_unenrollment',
65
67
  :'flow_user_settings' => :'flow_user_settings',
66
68
  :'flow_device_code' => :'flow_device_code',
69
+ :'flow_lockdown' => :'flow_lockdown',
67
70
  :'default_application' => :'default_application',
68
71
  :'web_certificate' => :'web_certificate',
69
72
  :'client_certificates' => :'client_certificates',
@@ -97,6 +100,7 @@ module Authentik::Api
97
100
  :'flow_unenrollment' => :'String',
98
101
  :'flow_user_settings' => :'String',
99
102
  :'flow_device_code' => :'String',
103
+ :'flow_lockdown' => :'String',
100
104
  :'default_application' => :'String',
101
105
  :'web_certificate' => :'String',
102
106
  :'client_certificates' => :'Array<String>',
@@ -113,6 +117,7 @@ module Authentik::Api
113
117
  :'flow_unenrollment',
114
118
  :'flow_user_settings',
115
119
  :'flow_device_code',
120
+ :'flow_lockdown',
116
121
  :'default_application',
117
122
  :'web_certificate',
118
123
  ])
@@ -188,6 +193,10 @@ module Authentik::Api
188
193
  self.flow_device_code = attributes[:'flow_device_code']
189
194
  end
190
195
 
196
+ if attributes.key?(:'flow_lockdown')
197
+ self.flow_lockdown = attributes[:'flow_lockdown']
198
+ end
199
+
191
200
  if attributes.key?(:'default_application')
192
201
  self.default_application = attributes[:'default_application']
193
202
  end
@@ -342,6 +351,7 @@ module Authentik::Api
342
351
  flow_unenrollment == o.flow_unenrollment &&
343
352
  flow_user_settings == o.flow_user_settings &&
344
353
  flow_device_code == o.flow_device_code &&
354
+ flow_lockdown == o.flow_lockdown &&
345
355
  default_application == o.default_application &&
346
356
  web_certificate == o.web_certificate &&
347
357
  client_certificates == o.client_certificates &&
@@ -357,7 +367,7 @@ module Authentik::Api
357
367
  # Calculates hash code according to all attributes.
358
368
  # @return [Integer] Hash code
359
369
  def hash
360
- [domain, default, branding_title, branding_logo, branding_favicon, branding_custom_css, branding_default_flow_background, flow_authentication, flow_invalidation, flow_recovery, flow_unenrollment, flow_user_settings, flow_device_code, default_application, web_certificate, client_certificates, attributes].hash
370
+ [domain, default, branding_title, branding_logo, branding_favicon, branding_custom_css, branding_default_flow_background, flow_authentication, flow_invalidation, flow_recovery, flow_unenrollment, flow_user_settings, flow_device_code, flow_lockdown, default_application, web_certificate, client_certificates, attributes].hash
361
371
  end
362
372
 
363
373
  # Builds the object from hash
@@ -100,7 +100,7 @@ module Authentik::Api
100
100
  :'cert_expiry' => :'Time',
101
101
  :'cert_subject' => :'String',
102
102
  :'private_key_available' => :'Boolean',
103
- :'key_type' => :'KeyTypeEnum',
103
+ :'key_type' => :'CertificateKeyPairKeyTypeEnum',
104
104
  :'certificate_download_url' => :'String',
105
105
  :'private_key_download_url' => :'String',
106
106
  :'managed' => :'String'
@@ -0,0 +1,37 @@
1
+ =begin
2
+ This file is automatically generated by: https://openapi-generator.tech.
3
+ Any manual changes will be lost when the OpenAPI scheme changes.
4
+
5
+ =end
6
+
7
+ require 'date'
8
+ require 'time'
9
+
10
+ module Authentik::Api
11
+ class CertificateKeyPairKeyTypeEnum
12
+ RSA = "rsa".freeze
13
+ EC = "ec".freeze
14
+ DSA = "dsa".freeze
15
+ ED25519 = "ed25519".freeze
16
+ ED448 = "ed448".freeze
17
+
18
+ def self.all_vars
19
+ @all_vars ||= [RSA, EC, DSA, ED25519, ED448].freeze
20
+ end
21
+
22
+ # Builds the enum from string
23
+ # @param [String] The enum value in the form of the string
24
+ # @return [String] The enum value
25
+ def self.build_from_hash(value)
26
+ new.build_from_hash(value)
27
+ end
28
+
29
+ # Builds the enum from string
30
+ # @param [String] The enum value in the form of the string
31
+ # @return [String] The enum value
32
+ def build_from_hash(value)
33
+ return value if CertificateKeyPairKeyTypeEnum.all_vars.include?(value)
34
+ raise "Invalid ENUM value #{value} for class #CertificateKeyPairKeyTypeEnum"
35
+ end
36
+ end
37
+ end