authlete_ruby_test 0.0.1.beta

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 (780) hide show
  1. checksums.yaml +7 -0
  2. data/lib/authlete/authorization.rb +1062 -0
  3. data/lib/authlete/authorization_management.rb +349 -0
  4. data/lib/authlete/ciba.rb +1064 -0
  5. data/lib/authlete/client.rb +118 -0
  6. data/lib/authlete/client_management.rb +1703 -0
  7. data/lib/authlete/clients.rb +784 -0
  8. data/lib/authlete/device_flow.rb +647 -0
  9. data/lib/authlete/dynamic_client_registration.rb +939 -0
  10. data/lib/authlete/federation.rb +433 -0
  11. data/lib/authlete/grant_management.rb +198 -0
  12. data/lib/authlete/hardware_security_keys.rb +620 -0
  13. data/lib/authlete/introspection.rb +540 -0
  14. data/lib/authlete/jose_object.rb +196 -0
  15. data/lib/authlete/jwk_set_endpoint.rb +195 -0
  16. data/lib/authlete/models/callbacks.rb +12 -0
  17. data/lib/authlete/models/components/access_token.rb +85 -0
  18. data/lib/authlete/models/components/access_token.rbi +35 -0
  19. data/lib/authlete/models/components/application_type.rb +24 -0
  20. data/lib/authlete/models/components/application_type.rbi +11 -0
  21. data/lib/authlete/models/components/attachment_type.rb +25 -0
  22. data/lib/authlete/models/components/attachment_type.rbi +11 -0
  23. data/lib/authlete/models/components/authorization_details_element.rb +90 -0
  24. data/lib/authlete/models/components/authorization_details_element.rbi +25 -0
  25. data/lib/authlete/models/components/authorization_fail_request.rb +45 -0
  26. data/lib/authlete/models/components/authorization_fail_request.rbi +17 -0
  27. data/lib/authlete/models/components/authorization_fail_request_reason.rb +35 -0
  28. data/lib/authlete/models/components/authorization_fail_request_reason.rbi +11 -0
  29. data/lib/authlete/models/components/authorization_fail_response.rb +47 -0
  30. data/lib/authlete/models/components/authorization_fail_response.rbi +19 -0
  31. data/lib/authlete/models/components/authorization_fail_response_action.rb +24 -0
  32. data/lib/authlete/models/components/authorization_fail_response_action.rbi +11 -0
  33. data/lib/authlete/models/components/authorization_issue_request.rb +204 -0
  34. data/lib/authlete/models/components/authorization_issue_request.rbi +47 -0
  35. data/lib/authlete/models/components/authorization_issue_response.rb +86 -0
  36. data/lib/authlete/models/components/authorization_issue_response.rbi +33 -0
  37. data/lib/authlete/models/components/authorization_issue_response_action.rb +24 -0
  38. data/lib/authlete/models/components/authorization_issue_response_action.rbi +11 -0
  39. data/lib/authlete/models/components/authorization_request.rb +57 -0
  40. data/lib/authlete/models/components/authorization_request.rbi +17 -0
  41. data/lib/authlete/models/components/authorization_response.rb +485 -0
  42. data/lib/authlete/models/components/authorization_response.rbi +93 -0
  43. data/lib/authlete/models/components/authorization_response_action.rb +26 -0
  44. data/lib/authlete/models/components/authorization_response_action.rbi +11 -0
  45. data/lib/authlete/models/components/authorization_ticket_info.rb +34 -0
  46. data/lib/authlete/models/components/authorization_ticket_info.rbi +13 -0
  47. data/lib/authlete/models/components/authorization_ticket_info_request.rb +33 -0
  48. data/lib/authlete/models/components/authorization_ticket_info_request.rbi +13 -0
  49. data/lib/authlete/models/components/authorization_ticket_info_response.rb +45 -0
  50. data/lib/authlete/models/components/authorization_ticket_info_response.rbi +19 -0
  51. data/lib/authlete/models/components/authorization_ticket_info_response_action.rb +24 -0
  52. data/lib/authlete/models/components/authorization_ticket_info_response_action.rbi +11 -0
  53. data/lib/authlete/models/components/authorization_ticket_update_request.rb +37 -0
  54. data/lib/authlete/models/components/authorization_ticket_update_request.rbi +15 -0
  55. data/lib/authlete/models/components/authorization_ticket_update_response.rb +45 -0
  56. data/lib/authlete/models/components/authorization_ticket_update_response.rbi +19 -0
  57. data/lib/authlete/models/components/authorization_ticket_update_response_action.rb +24 -0
  58. data/lib/authlete/models/components/authorization_ticket_update_response_action.rbi +11 -0
  59. data/lib/authlete/models/components/authz_details.rb +37 -0
  60. data/lib/authlete/models/components/authz_details.rbi +13 -0
  61. data/lib/authlete/models/components/backchannel_authentication_complete_request.rb +142 -0
  62. data/lib/authlete/models/components/backchannel_authentication_complete_request.rbi +47 -0
  63. data/lib/authlete/models/components/backchannel_authentication_complete_request_result.rb +25 -0
  64. data/lib/authlete/models/components/backchannel_authentication_complete_request_result.rbi +11 -0
  65. data/lib/authlete/models/components/backchannel_authentication_complete_response.rb +186 -0
  66. data/lib/authlete/models/components/backchannel_authentication_complete_response.rbi +67 -0
  67. data/lib/authlete/models/components/backchannel_authentication_complete_response_action.rb +24 -0
  68. data/lib/authlete/models/components/backchannel_authentication_complete_response_action.rbi +11 -0
  69. data/lib/authlete/models/components/backchannel_authentication_fail_request.rb +56 -0
  70. data/lib/authlete/models/components/backchannel_authentication_fail_request.rbi +19 -0
  71. data/lib/authlete/models/components/backchannel_authentication_fail_request_reason.rb +32 -0
  72. data/lib/authlete/models/components/backchannel_authentication_fail_request_reason.rbi +11 -0
  73. data/lib/authlete/models/components/backchannel_authentication_fail_response.rb +47 -0
  74. data/lib/authlete/models/components/backchannel_authentication_fail_response.rbi +19 -0
  75. data/lib/authlete/models/components/backchannel_authentication_fail_response_action.rb +23 -0
  76. data/lib/authlete/models/components/backchannel_authentication_fail_response_action.rbi +11 -0
  77. data/lib/authlete/models/components/backchannel_authentication_issue_request.rb +34 -0
  78. data/lib/authlete/models/components/backchannel_authentication_issue_request.rbi +13 -0
  79. data/lib/authlete/models/components/backchannel_authentication_issue_response.rb +63 -0
  80. data/lib/authlete/models/components/backchannel_authentication_issue_response.rbi +25 -0
  81. data/lib/authlete/models/components/backchannel_authentication_issue_response_action.rb +23 -0
  82. data/lib/authlete/models/components/backchannel_authentication_issue_response_action.rbi +11 -0
  83. data/lib/authlete/models/components/backchannel_authentication_request.rb +91 -0
  84. data/lib/authlete/models/components/backchannel_authentication_request.rbi +27 -0
  85. data/lib/authlete/models/components/backchannel_authentication_response.rb +272 -0
  86. data/lib/authlete/models/components/backchannel_authentication_response.rbi +85 -0
  87. data/lib/authlete/models/components/backchannel_authentication_response_action.rb +24 -0
  88. data/lib/authlete/models/components/backchannel_authentication_response_action.rbi +11 -0
  89. data/lib/authlete/models/components/cimd_options.rb +67 -0
  90. data/lib/authlete/models/components/cimd_options.rbi +17 -0
  91. data/lib/authlete/models/components/claim_type.rb +23 -0
  92. data/lib/authlete/models/components/claim_type.rbi +11 -0
  93. data/lib/authlete/models/components/client.rb +920 -0
  94. data/lib/authlete/models/components/client.rbi +219 -0
  95. data/lib/authlete/models/components/client_auth_method.rb +31 -0
  96. data/lib/authlete/models/components/client_auth_method.rbi +11 -0
  97. data/lib/authlete/models/components/client_authorization_delete_response.rb +71 -0
  98. data/lib/authlete/models/components/client_authorization_delete_response.rbi +27 -0
  99. data/lib/authlete/models/components/client_authorization_get_list_response.rb +59 -0
  100. data/lib/authlete/models/components/client_authorization_get_list_response.rbi +23 -0
  101. data/lib/authlete/models/components/client_authorization_update_request.rb +43 -0
  102. data/lib/authlete/models/components/client_authorization_update_request.rbi +15 -0
  103. data/lib/authlete/models/components/client_authorization_update_response.rb +37 -0
  104. data/lib/authlete/models/components/client_authorization_update_response.rbi +15 -0
  105. data/lib/authlete/models/components/client_extension.rb +94 -0
  106. data/lib/authlete/models/components/client_extension.rbi +23 -0
  107. data/lib/authlete/models/components/client_extension_requestable_scopes_get_response.rb +33 -0
  108. data/lib/authlete/models/components/client_extension_requestable_scopes_get_response.rbi +13 -0
  109. data/lib/authlete/models/components/client_extension_requestable_scopes_update_request.rb +43 -0
  110. data/lib/authlete/models/components/client_extension_requestable_scopes_update_request.rbi +13 -0
  111. data/lib/authlete/models/components/client_extension_requestable_scopes_update_response.rb +33 -0
  112. data/lib/authlete/models/components/client_extension_requestable_scopes_update_response.rbi +13 -0
  113. data/lib/authlete/models/components/client_flag_update_request.rb +34 -0
  114. data/lib/authlete/models/components/client_flag_update_request.rbi +13 -0
  115. data/lib/authlete/models/components/client_flag_update_response.rb +37 -0
  116. data/lib/authlete/models/components/client_flag_update_response.rbi +15 -0
  117. data/lib/authlete/models/components/client_get_list_response.rb +50 -0
  118. data/lib/authlete/models/components/client_get_list_response.rbi +19 -0
  119. data/lib/authlete/models/components/client_granted_scopes_delete_response.rb +37 -0
  120. data/lib/authlete/models/components/client_granted_scopes_delete_response.rbi +15 -0
  121. data/lib/authlete/models/components/client_input.rb +868 -0
  122. data/lib/authlete/models/components/client_input.rbi +203 -0
  123. data/lib/authlete/models/components/client_limited.rb +76 -0
  124. data/lib/authlete/models/components/client_limited.rbi +29 -0
  125. data/lib/authlete/models/components/client_limited_authorization.rb +120 -0
  126. data/lib/authlete/models/components/client_limited_authorization.rbi +41 -0
  127. data/lib/authlete/models/components/client_registration_response.rb +52 -0
  128. data/lib/authlete/models/components/client_registration_response.rbi +21 -0
  129. data/lib/authlete/models/components/client_registration_response_action.rb +28 -0
  130. data/lib/authlete/models/components/client_registration_response_action.rbi +11 -0
  131. data/lib/authlete/models/components/client_registration_type.rb +25 -0
  132. data/lib/authlete/models/components/client_registration_type.rbi +11 -0
  133. data/lib/authlete/models/components/client_secret_refresh_response.rb +47 -0
  134. data/lib/authlete/models/components/client_secret_refresh_response.rbi +19 -0
  135. data/lib/authlete/models/components/client_secret_update_request.rb +35 -0
  136. data/lib/authlete/models/components/client_secret_update_request.rbi +13 -0
  137. data/lib/authlete/models/components/client_secret_update_response.rb +47 -0
  138. data/lib/authlete/models/components/client_secret_update_response.rbi +19 -0
  139. data/lib/authlete/models/components/client_type.rb +24 -0
  140. data/lib/authlete/models/components/client_type.rbi +11 -0
  141. data/lib/authlete/models/components/clientsource.rb +26 -0
  142. data/lib/authlete/models/components/clientsource.rbi +11 -0
  143. data/lib/authlete/models/components/credential_issuance_order.rb +51 -0
  144. data/lib/authlete/models/components/credential_issuance_order.rbi +21 -0
  145. data/lib/authlete/models/components/credential_issuer_metadata.rb +79 -0
  146. data/lib/authlete/models/components/credential_issuer_metadata.rbi +29 -0
  147. data/lib/authlete/models/components/credential_offer_info.rb +136 -0
  148. data/lib/authlete/models/components/credential_offer_info.rbi +49 -0
  149. data/lib/authlete/models/components/credential_request_info.rb +49 -0
  150. data/lib/authlete/models/components/credential_request_info.rbi +21 -0
  151. data/lib/authlete/models/components/delivery_mode.rb +23 -0
  152. data/lib/authlete/models/components/delivery_mode.rbi +11 -0
  153. data/lib/authlete/models/components/device_authorization_request.rb +91 -0
  154. data/lib/authlete/models/components/device_authorization_request.rbi +27 -0
  155. data/lib/authlete/models/components/device_authorization_response.rb +243 -0
  156. data/lib/authlete/models/components/device_authorization_response.rbi +75 -0
  157. data/lib/authlete/models/components/device_authorization_response_action.rb +24 -0
  158. data/lib/authlete/models/components/device_authorization_response_action.rbi +11 -0
  159. data/lib/authlete/models/components/device_complete_request.rb +137 -0
  160. data/lib/authlete/models/components/device_complete_request.rbi +45 -0
  161. data/lib/authlete/models/components/device_complete_request_result.rb +25 -0
  162. data/lib/authlete/models/components/device_complete_request_result.rbi +11 -0
  163. data/lib/authlete/models/components/device_complete_response.rb +42 -0
  164. data/lib/authlete/models/components/device_complete_response.rbi +17 -0
  165. data/lib/authlete/models/components/device_complete_response_action.rb +26 -0
  166. data/lib/authlete/models/components/device_complete_response_action.rbi +11 -0
  167. data/lib/authlete/models/components/device_verification_request.rb +34 -0
  168. data/lib/authlete/models/components/device_verification_request.rbi +13 -0
  169. data/lib/authlete/models/components/device_verification_response.rb +188 -0
  170. data/lib/authlete/models/components/device_verification_response.rbi +59 -0
  171. data/lib/authlete/models/components/device_verification_response_action.rb +24 -0
  172. data/lib/authlete/models/components/device_verification_response_action.rbi +11 -0
  173. data/lib/authlete/models/components/display.rb +33 -0
  174. data/lib/authlete/models/components/display.rbi +11 -0
  175. data/lib/authlete/models/components/dynamic_scope.rb +37 -0
  176. data/lib/authlete/models/components/dynamic_scope.rbi +15 -0
  177. data/lib/authlete/models/components/fapi_mode.rb +26 -0
  178. data/lib/authlete/models/components/fapi_mode.rbi +11 -0
  179. data/lib/authlete/models/components/federation_configuration_response.rb +47 -0
  180. data/lib/authlete/models/components/federation_configuration_response.rbi +19 -0
  181. data/lib/authlete/models/components/federation_configuration_response_action.rb +23 -0
  182. data/lib/authlete/models/components/federation_configuration_response_action.rbi +11 -0
  183. data/lib/authlete/models/components/federation_registration_request.rb +39 -0
  184. data/lib/authlete/models/components/federation_registration_request.rbi +15 -0
  185. data/lib/authlete/models/components/federation_registration_response.rb +51 -0
  186. data/lib/authlete/models/components/federation_registration_response.rbi +21 -0
  187. data/lib/authlete/models/components/federation_registration_response_action.rb +24 -0
  188. data/lib/authlete/models/components/federation_registration_response_action.rbi +11 -0
  189. data/lib/authlete/models/components/g_m_request.rb +90 -0
  190. data/lib/authlete/models/components/g_m_request.rbi +27 -0
  191. data/lib/authlete/models/components/g_m_response.rb +53 -0
  192. data/lib/authlete/models/components/g_m_response.rbi +21 -0
  193. data/lib/authlete/models/components/g_m_response_action.rb +27 -0
  194. data/lib/authlete/models/components/g_m_response_action.rbi +11 -0
  195. data/lib/authlete/models/components/grant.rb +45 -0
  196. data/lib/authlete/models/components/grant.rbi +17 -0
  197. data/lib/authlete/models/components/grant_management_action.rb +29 -0
  198. data/lib/authlete/models/components/grant_management_action.rbi +11 -0
  199. data/lib/authlete/models/components/grant_scope.rb +39 -0
  200. data/lib/authlete/models/components/grant_scope.rbi +15 -0
  201. data/lib/authlete/models/components/grant_type.rb +31 -0
  202. data/lib/authlete/models/components/grant_type.rbi +11 -0
  203. data/lib/authlete/models/components/hsk.rb +71 -0
  204. data/lib/authlete/models/components/hsk.rbi +25 -0
  205. data/lib/authlete/models/components/hsk_create_request.rb +63 -0
  206. data/lib/authlete/models/components/hsk_create_request.rbi +21 -0
  207. data/lib/authlete/models/components/hsk_create_response.rb +46 -0
  208. data/lib/authlete/models/components/hsk_create_response.rbi +19 -0
  209. data/lib/authlete/models/components/hsk_create_response_action.rb +24 -0
  210. data/lib/authlete/models/components/hsk_create_response_action.rbi +11 -0
  211. data/lib/authlete/models/components/hsk_delete_response.rb +46 -0
  212. data/lib/authlete/models/components/hsk_delete_response.rbi +19 -0
  213. data/lib/authlete/models/components/hsk_delete_response_action.rb +24 -0
  214. data/lib/authlete/models/components/hsk_delete_response_action.rbi +11 -0
  215. data/lib/authlete/models/components/hsk_get_list_response.rb +45 -0
  216. data/lib/authlete/models/components/hsk_get_list_response.rbi +19 -0
  217. data/lib/authlete/models/components/hsk_get_list_response_action.rb +23 -0
  218. data/lib/authlete/models/components/hsk_get_list_response_action.rbi +11 -0
  219. data/lib/authlete/models/components/hsk_get_response.rb +46 -0
  220. data/lib/authlete/models/components/hsk_get_response.rbi +19 -0
  221. data/lib/authlete/models/components/hsk_get_response_action.rb +24 -0
  222. data/lib/authlete/models/components/hsk_get_response_action.rbi +11 -0
  223. data/lib/authlete/models/components/idtoken_reissue_request.rb +82 -0
  224. data/lib/authlete/models/components/idtoken_reissue_request.rbi +23 -0
  225. data/lib/authlete/models/components/idtoken_reissue_response.rb +52 -0
  226. data/lib/authlete/models/components/idtoken_reissue_response.rbi +21 -0
  227. data/lib/authlete/models/components/idtoken_reissue_response_action.rb +23 -0
  228. data/lib/authlete/models/components/idtoken_reissue_response_action.rbi +11 -0
  229. data/lib/authlete/models/components/introspection_request.rb +166 -0
  230. data/lib/authlete/models/components/introspection_request.rbi +45 -0
  231. data/lib/authlete/models/components/introspection_response.rb +253 -0
  232. data/lib/authlete/models/components/introspection_response.rbi +89 -0
  233. data/lib/authlete/models/components/introspection_response_action.rb +25 -0
  234. data/lib/authlete/models/components/introspection_response_action.rbi +11 -0
  235. data/lib/authlete/models/components/jose_verify_request.rb +56 -0
  236. data/lib/authlete/models/components/jose_verify_request.rbi +21 -0
  237. data/lib/authlete/models/components/jose_verify_response.rb +62 -0
  238. data/lib/authlete/models/components/jose_verify_response.rbi +25 -0
  239. data/lib/authlete/models/components/jwe_alg.rb +44 -0
  240. data/lib/authlete/models/components/jwe_alg.rbi +11 -0
  241. data/lib/authlete/models/components/jwe_enc.rb +31 -0
  242. data/lib/authlete/models/components/jwe_enc.rbi +11 -0
  243. data/lib/authlete/models/components/jws_alg.rb +42 -0
  244. data/lib/authlete/models/components/jws_alg.rbi +11 -0
  245. data/lib/authlete/models/components/named_uri.rb +37 -0
  246. data/lib/authlete/models/components/named_uri.rbi +15 -0
  247. data/lib/authlete/models/components/native_sso_logout_request.rb +34 -0
  248. data/lib/authlete/models/components/native_sso_logout_request.rbi +13 -0
  249. data/lib/authlete/models/components/native_sso_logout_response.rb +47 -0
  250. data/lib/authlete/models/components/native_sso_logout_response.rbi +19 -0
  251. data/lib/authlete/models/components/native_sso_logout_response_action.rb +24 -0
  252. data/lib/authlete/models/components/native_sso_logout_response_action.rbi +11 -0
  253. data/lib/authlete/models/components/native_sso_request.rb +97 -0
  254. data/lib/authlete/models/components/native_sso_request.rbi +27 -0
  255. data/lib/authlete/models/components/native_sso_response.rb +53 -0
  256. data/lib/authlete/models/components/native_sso_response.rbi +21 -0
  257. data/lib/authlete/models/components/native_sso_response_action.rb +24 -0
  258. data/lib/authlete/models/components/native_sso_response_action.rbi +11 -0
  259. data/lib/authlete/models/components/pair.rb +37 -0
  260. data/lib/authlete/models/components/pair.rbi +15 -0
  261. data/lib/authlete/models/components/prompt.rb +30 -0
  262. data/lib/authlete/models/components/prompt.rbi +11 -0
  263. data/lib/authlete/models/components/property.rb +43 -0
  264. data/lib/authlete/models/components/property.rbi +17 -0
  265. data/lib/authlete/models/components/pushed_authorization_request.rb +91 -0
  266. data/lib/authlete/models/components/pushed_authorization_request.rbi +33 -0
  267. data/lib/authlete/models/components/pushed_authorization_response.rb +65 -0
  268. data/lib/authlete/models/components/pushed_authorization_response.rbi +25 -0
  269. data/lib/authlete/models/components/pushed_authorization_response_action.rb +26 -0
  270. data/lib/authlete/models/components/pushed_authorization_response_action.rbi +11 -0
  271. data/lib/authlete/models/components/pushed_authorization_response_clientauthmethod.rb +30 -0
  272. data/lib/authlete/models/components/pushed_authorization_response_clientauthmethod.rbi +11 -0
  273. data/lib/authlete/models/components/response_type.rb +28 -0
  274. data/lib/authlete/models/components/response_type.rbi +11 -0
  275. data/lib/authlete/models/components/responsemode.rb +27 -0
  276. data/lib/authlete/models/components/responsemode.rbi +11 -0
  277. data/lib/authlete/models/components/revocation_request.rb +79 -0
  278. data/lib/authlete/models/components/revocation_request.rbi +25 -0
  279. data/lib/authlete/models/components/revocation_response.rb +47 -0
  280. data/lib/authlete/models/components/revocation_response.rbi +19 -0
  281. data/lib/authlete/models/components/revocation_response_action.rb +24 -0
  282. data/lib/authlete/models/components/revocation_response_action.rbi +11 -0
  283. data/lib/authlete/models/components/scope.rb +49 -0
  284. data/lib/authlete/models/components/scope.rbi +21 -0
  285. data/lib/authlete/models/components/security.rb +33 -0
  286. data/lib/authlete/models/components/security.rbi +13 -0
  287. data/lib/authlete/models/components/service.rb +1634 -0
  288. data/lib/authlete/models/components/service.rbi +377 -0
  289. data/lib/authlete/models/components/service_get_list_response.rb +52 -0
  290. data/lib/authlete/models/components/service_get_list_response.rbi +19 -0
  291. data/lib/authlete/models/components/service_input.rb +1594 -0
  292. data/lib/authlete/models/components/service_input.rbi +363 -0
  293. data/lib/authlete/models/components/service_jwks_get_response.rb +33 -0
  294. data/lib/authlete/models/components/service_jwks_get_response.rbi +13 -0
  295. data/lib/authlete/models/components/service_profile.rb +22 -0
  296. data/lib/authlete/models/components/service_profile.rbi +11 -0
  297. data/lib/authlete/models/components/sns_credentials.rb +41 -0
  298. data/lib/authlete/models/components/sns_credentials.rbi +17 -0
  299. data/lib/authlete/models/components/standard_introspection_request.rb +129 -0
  300. data/lib/authlete/models/components/standard_introspection_request.rbi +31 -0
  301. data/lib/authlete/models/components/standard_introspection_response.rb +47 -0
  302. data/lib/authlete/models/components/standard_introspection_response.rbi +19 -0
  303. data/lib/authlete/models/components/standard_introspection_response_action.rb +23 -0
  304. data/lib/authlete/models/components/standard_introspection_response_action.rbi +11 -0
  305. data/lib/authlete/models/components/subject_type.rb +27 -0
  306. data/lib/authlete/models/components/subject_type.rbi +11 -0
  307. data/lib/authlete/models/components/supportedsnse.rb +21 -0
  308. data/lib/authlete/models/components/supportedsnse.rbi +11 -0
  309. data/lib/authlete/models/components/tagged_value.rb +37 -0
  310. data/lib/authlete/models/components/tagged_value.rbi +15 -0
  311. data/lib/authlete/models/components/token_create_request.rb +206 -0
  312. data/lib/authlete/models/components/token_create_request.rbi +57 -0
  313. data/lib/authlete/models/components/token_create_response.rb +135 -0
  314. data/lib/authlete/models/components/token_create_response.rbi +51 -0
  315. data/lib/authlete/models/components/token_create_response_action.rb +24 -0
  316. data/lib/authlete/models/components/token_create_response_action.rbi +11 -0
  317. data/lib/authlete/models/components/token_fail_request.rb +39 -0
  318. data/lib/authlete/models/components/token_fail_request.rbi +15 -0
  319. data/lib/authlete/models/components/token_fail_request_reason.rb +24 -0
  320. data/lib/authlete/models/components/token_fail_request_reason.rbi +11 -0
  321. data/lib/authlete/models/components/token_fail_response.rb +47 -0
  322. data/lib/authlete/models/components/token_fail_response.rbi +19 -0
  323. data/lib/authlete/models/components/token_fail_response_action.rb +22 -0
  324. data/lib/authlete/models/components/token_fail_response_action.rbi +11 -0
  325. data/lib/authlete/models/components/token_get_list_response.rb +58 -0
  326. data/lib/authlete/models/components/token_get_list_response.rbi +23 -0
  327. data/lib/authlete/models/components/token_info.rb +89 -0
  328. data/lib/authlete/models/components/token_info.rbi +37 -0
  329. data/lib/authlete/models/components/token_issue_request.rb +74 -0
  330. data/lib/authlete/models/components/token_issue_request.rbi +25 -0
  331. data/lib/authlete/models/components/token_issue_response.rb +169 -0
  332. data/lib/authlete/models/components/token_issue_response.rbi +63 -0
  333. data/lib/authlete/models/components/token_issue_response_action.rb +22 -0
  334. data/lib/authlete/models/components/token_issue_response_action.rbi +11 -0
  335. data/lib/authlete/models/components/token_request.rb +153 -0
  336. data/lib/authlete/models/components/token_request.rbi +45 -0
  337. data/lib/authlete/models/components/token_response.rb +333 -0
  338. data/lib/authlete/models/components/token_response.rbi +115 -0
  339. data/lib/authlete/models/components/token_response_action.rb +27 -0
  340. data/lib/authlete/models/components/token_response_action.rbi +11 -0
  341. data/lib/authlete/models/components/token_revoke_request.rb +56 -0
  342. data/lib/authlete/models/components/token_revoke_request.rbi +19 -0
  343. data/lib/authlete/models/components/token_revoke_response.rb +41 -0
  344. data/lib/authlete/models/components/token_revoke_response.rbi +17 -0
  345. data/lib/authlete/models/components/token_type.rb +32 -0
  346. data/lib/authlete/models/components/token_type.rbi +11 -0
  347. data/lib/authlete/models/components/token_update_request.rb +133 -0
  348. data/lib/authlete/models/components/token_update_request.rbi +41 -0
  349. data/lib/authlete/models/components/token_update_response.rb +89 -0
  350. data/lib/authlete/models/components/token_update_response.rbi +35 -0
  351. data/lib/authlete/models/components/token_update_response_action.rb +25 -0
  352. data/lib/authlete/models/components/token_update_response_action.rbi +11 -0
  353. data/lib/authlete/models/components/trust_anchor.rb +39 -0
  354. data/lib/authlete/models/components/trust_anchor.rbi +15 -0
  355. data/lib/authlete/models/components/user_code_charset.rb +23 -0
  356. data/lib/authlete/models/components/user_code_charset.rbi +11 -0
  357. data/lib/authlete/models/components/userinfo_issue_request.rb +127 -0
  358. data/lib/authlete/models/components/userinfo_issue_request.rbi +25 -0
  359. data/lib/authlete/models/components/userinfo_issue_response.rb +62 -0
  360. data/lib/authlete/models/components/userinfo_issue_response.rbi +25 -0
  361. data/lib/authlete/models/components/userinfo_issue_response_action.rb +26 -0
  362. data/lib/authlete/models/components/userinfo_issue_response_action.rbi +11 -0
  363. data/lib/authlete/models/components/userinfo_request.rb +128 -0
  364. data/lib/authlete/models/components/userinfo_request.rbi +33 -0
  365. data/lib/authlete/models/components/userinfo_response.rb +256 -0
  366. data/lib/authlete/models/components/userinfo_response.rbi +59 -0
  367. data/lib/authlete/models/components/userinfo_response_action.rb +25 -0
  368. data/lib/authlete/models/components/userinfo_response_action.rbi +11 -0
  369. data/lib/authlete/models/components/vci_batch_issue_request.rb +37 -0
  370. data/lib/authlete/models/components/vci_batch_issue_request.rbi +15 -0
  371. data/lib/authlete/models/components/vci_batch_issue_response.rb +49 -0
  372. data/lib/authlete/models/components/vci_batch_issue_response.rbi +19 -0
  373. data/lib/authlete/models/components/vci_batch_issue_response_action.rb +27 -0
  374. data/lib/authlete/models/components/vci_batch_issue_response_action.rbi +11 -0
  375. data/lib/authlete/models/components/vci_batch_parse_request.rb +37 -0
  376. data/lib/authlete/models/components/vci_batch_parse_request.rbi +15 -0
  377. data/lib/authlete/models/components/vci_batch_parse_response.rb +51 -0
  378. data/lib/authlete/models/components/vci_batch_parse_response.rbi +21 -0
  379. data/lib/authlete/models/components/vci_batch_parse_response_action.rb +25 -0
  380. data/lib/authlete/models/components/vci_batch_parse_response_action.rbi +11 -0
  381. data/lib/authlete/models/components/vci_deferred_issue_request.rb +33 -0
  382. data/lib/authlete/models/components/vci_deferred_issue_request.rbi +13 -0
  383. data/lib/authlete/models/components/vci_deferred_issue_response.rb +49 -0
  384. data/lib/authlete/models/components/vci_deferred_issue_response.rbi +19 -0
  385. data/lib/authlete/models/components/vci_deferred_issue_response_action.rb +26 -0
  386. data/lib/authlete/models/components/vci_deferred_issue_response_action.rbi +11 -0
  387. data/lib/authlete/models/components/vci_deferred_parse_request.rb +37 -0
  388. data/lib/authlete/models/components/vci_deferred_parse_request.rbi +15 -0
  389. data/lib/authlete/models/components/vci_deferred_parse_response.rb +49 -0
  390. data/lib/authlete/models/components/vci_deferred_parse_response.rbi +21 -0
  391. data/lib/authlete/models/components/vci_deferred_parse_response_action.rb +25 -0
  392. data/lib/authlete/models/components/vci_deferred_parse_response_action.rbi +11 -0
  393. data/lib/authlete/models/components/vci_jwks_request.rb +35 -0
  394. data/lib/authlete/models/components/vci_jwks_request.rbi +13 -0
  395. data/lib/authlete/models/components/vci_jwks_response.rb +50 -0
  396. data/lib/authlete/models/components/vci_jwks_response.rbi +19 -0
  397. data/lib/authlete/models/components/vci_jwks_response_action.rb +26 -0
  398. data/lib/authlete/models/components/vci_jwks_response_action.rbi +11 -0
  399. data/lib/authlete/models/components/vci_jwtissuer_request.rb +35 -0
  400. data/lib/authlete/models/components/vci_jwtissuer_request.rbi +13 -0
  401. data/lib/authlete/models/components/vci_jwtissuer_response.rb +50 -0
  402. data/lib/authlete/models/components/vci_jwtissuer_response.rbi +19 -0
  403. data/lib/authlete/models/components/vci_jwtissuer_response_action.rb +26 -0
  404. data/lib/authlete/models/components/vci_jwtissuer_response_action.rbi +11 -0
  405. data/lib/authlete/models/components/vci_metadata_request.rb +35 -0
  406. data/lib/authlete/models/components/vci_metadata_request.rbi +13 -0
  407. data/lib/authlete/models/components/vci_metadata_response.rb +51 -0
  408. data/lib/authlete/models/components/vci_metadata_response.rbi +19 -0
  409. data/lib/authlete/models/components/vci_metadata_response_action.rb +27 -0
  410. data/lib/authlete/models/components/vci_metadata_response_action.rbi +11 -0
  411. data/lib/authlete/models/components/vci_offer_create_request.rb +172 -0
  412. data/lib/authlete/models/components/vci_offer_create_request.rbi +39 -0
  413. data/lib/authlete/models/components/vci_offer_create_response.rb +45 -0
  414. data/lib/authlete/models/components/vci_offer_create_response.rbi +19 -0
  415. data/lib/authlete/models/components/vci_offer_create_response_action.rb +24 -0
  416. data/lib/authlete/models/components/vci_offer_create_response_action.rbi +11 -0
  417. data/lib/authlete/models/components/vci_offer_info_request.rb +33 -0
  418. data/lib/authlete/models/components/vci_offer_info_request.rbi +13 -0
  419. data/lib/authlete/models/components/vci_offer_info_response.rb +45 -0
  420. data/lib/authlete/models/components/vci_offer_info_response.rbi +19 -0
  421. data/lib/authlete/models/components/vci_offer_info_response_action.rb +25 -0
  422. data/lib/authlete/models/components/vci_offer_info_response_action.rbi +11 -0
  423. data/lib/authlete/models/components/vci_single_issue_request.rb +37 -0
  424. data/lib/authlete/models/components/vci_single_issue_request.rbi +15 -0
  425. data/lib/authlete/models/components/vci_single_issue_response.rb +54 -0
  426. data/lib/authlete/models/components/vci_single_issue_response.rbi +21 -0
  427. data/lib/authlete/models/components/vci_single_issue_response_action.rb +28 -0
  428. data/lib/authlete/models/components/vci_single_issue_response_action.rbi +11 -0
  429. data/lib/authlete/models/components/vci_single_parse_request.rb +37 -0
  430. data/lib/authlete/models/components/vci_single_parse_request.rbi +15 -0
  431. data/lib/authlete/models/components/vci_single_parse_response.rb +49 -0
  432. data/lib/authlete/models/components/vci_single_parse_response.rbi +21 -0
  433. data/lib/authlete/models/components/vci_single_parse_response_action.rb +25 -0
  434. data/lib/authlete/models/components/vci_single_parse_response_action.rbi +11 -0
  435. data/lib/authlete/models/components/verified_claims_validation_schema.rb +23 -0
  436. data/lib/authlete/models/components/verified_claims_validation_schema.rbi +11 -0
  437. data/lib/authlete/models/components.rb +221 -0
  438. data/lib/authlete/models/errors/apierror.rb +37 -0
  439. data/lib/authlete/models/errors/apierror.rbi +16 -0
  440. data/lib/authlete/models/errors/result_error.rb +41 -0
  441. data/lib/authlete/models/errors/result_error.rbi +17 -0
  442. data/lib/authlete/models/errors.rb +13 -0
  443. data/lib/authlete/models/operations/auth_authorization_api_request.rb +37 -0
  444. data/lib/authlete/models/operations/auth_authorization_api_request.rbi +15 -0
  445. data/lib/authlete/models/operations/auth_authorization_api_response.rb +45 -0
  446. data/lib/authlete/models/operations/auth_authorization_api_response.rbi +19 -0
  447. data/lib/authlete/models/operations/auth_authorization_fail_api_request.rb +37 -0
  448. data/lib/authlete/models/operations/auth_authorization_fail_api_request.rbi +15 -0
  449. data/lib/authlete/models/operations/auth_authorization_fail_api_response.rb +45 -0
  450. data/lib/authlete/models/operations/auth_authorization_fail_api_response.rbi +19 -0
  451. data/lib/authlete/models/operations/auth_authorization_issue_api_request.rb +37 -0
  452. data/lib/authlete/models/operations/auth_authorization_issue_api_request.rbi +15 -0
  453. data/lib/authlete/models/operations/auth_authorization_issue_api_response.rb +45 -0
  454. data/lib/authlete/models/operations/auth_authorization_issue_api_response.rbi +19 -0
  455. data/lib/authlete/models/operations/auth_introspection_api_request.rb +37 -0
  456. data/lib/authlete/models/operations/auth_introspection_api_request.rbi +15 -0
  457. data/lib/authlete/models/operations/auth_introspection_api_response.rb +45 -0
  458. data/lib/authlete/models/operations/auth_introspection_api_response.rbi +19 -0
  459. data/lib/authlete/models/operations/auth_introspection_standard_api_request.rb +37 -0
  460. data/lib/authlete/models/operations/auth_introspection_standard_api_request.rbi +15 -0
  461. data/lib/authlete/models/operations/auth_introspection_standard_api_response.rb +45 -0
  462. data/lib/authlete/models/operations/auth_introspection_standard_api_response.rbi +19 -0
  463. data/lib/authlete/models/operations/auth_revocation_api_request.rb +37 -0
  464. data/lib/authlete/models/operations/auth_revocation_api_request.rbi +15 -0
  465. data/lib/authlete/models/operations/auth_revocation_api_response.rb +45 -0
  466. data/lib/authlete/models/operations/auth_revocation_api_response.rbi +19 -0
  467. data/lib/authlete/models/operations/auth_token_api_request.rb +37 -0
  468. data/lib/authlete/models/operations/auth_token_api_request.rbi +15 -0
  469. data/lib/authlete/models/operations/auth_token_api_response.rb +45 -0
  470. data/lib/authlete/models/operations/auth_token_api_response.rbi +19 -0
  471. data/lib/authlete/models/operations/auth_token_create_api_request.rb +37 -0
  472. data/lib/authlete/models/operations/auth_token_create_api_request.rbi +15 -0
  473. data/lib/authlete/models/operations/auth_token_create_api_response.rb +45 -0
  474. data/lib/authlete/models/operations/auth_token_create_api_response.rbi +19 -0
  475. data/lib/authlete/models/operations/auth_token_delete_api_request.rb +39 -0
  476. data/lib/authlete/models/operations/auth_token_delete_api_request.rbi +15 -0
  477. data/lib/authlete/models/operations/auth_token_delete_api_response.rb +41 -0
  478. data/lib/authlete/models/operations/auth_token_delete_api_response.rbi +17 -0
  479. data/lib/authlete/models/operations/auth_token_fail_api_request.rb +37 -0
  480. data/lib/authlete/models/operations/auth_token_fail_api_request.rbi +15 -0
  481. data/lib/authlete/models/operations/auth_token_fail_api_response.rb +45 -0
  482. data/lib/authlete/models/operations/auth_token_fail_api_response.rbi +19 -0
  483. data/lib/authlete/models/operations/auth_token_get_list_api_request.rb +52 -0
  484. data/lib/authlete/models/operations/auth_token_get_list_api_request.rbi +21 -0
  485. data/lib/authlete/models/operations/auth_token_get_list_api_response.rb +45 -0
  486. data/lib/authlete/models/operations/auth_token_get_list_api_response.rbi +19 -0
  487. data/lib/authlete/models/operations/auth_token_issue_api_request.rb +37 -0
  488. data/lib/authlete/models/operations/auth_token_issue_api_request.rbi +15 -0
  489. data/lib/authlete/models/operations/auth_token_issue_api_response.rb +45 -0
  490. data/lib/authlete/models/operations/auth_token_issue_api_response.rbi +19 -0
  491. data/lib/authlete/models/operations/auth_token_revoke_api_request.rb +37 -0
  492. data/lib/authlete/models/operations/auth_token_revoke_api_request.rbi +15 -0
  493. data/lib/authlete/models/operations/auth_token_revoke_api_response.rb +45 -0
  494. data/lib/authlete/models/operations/auth_token_revoke_api_response.rbi +19 -0
  495. data/lib/authlete/models/operations/auth_token_update_api_request.rb +37 -0
  496. data/lib/authlete/models/operations/auth_token_update_api_request.rbi +15 -0
  497. data/lib/authlete/models/operations/auth_token_update_api_response.rb +45 -0
  498. data/lib/authlete/models/operations/auth_token_update_api_response.rbi +19 -0
  499. data/lib/authlete/models/operations/auth_userinfo_api_request.rb +37 -0
  500. data/lib/authlete/models/operations/auth_userinfo_api_request.rbi +15 -0
  501. data/lib/authlete/models/operations/auth_userinfo_api_response.rb +45 -0
  502. data/lib/authlete/models/operations/auth_userinfo_api_response.rbi +19 -0
  503. data/lib/authlete/models/operations/auth_userinfo_issue_api_request.rb +37 -0
  504. data/lib/authlete/models/operations/auth_userinfo_issue_api_request.rbi +15 -0
  505. data/lib/authlete/models/operations/auth_userinfo_issue_api_response.rb +45 -0
  506. data/lib/authlete/models/operations/auth_userinfo_issue_api_response.rbi +19 -0
  507. data/lib/authlete/models/operations/authorization_ticket_info_post_api_request.rb +37 -0
  508. data/lib/authlete/models/operations/authorization_ticket_info_post_api_request.rbi +15 -0
  509. data/lib/authlete/models/operations/authorization_ticket_info_post_api_response.rb +45 -0
  510. data/lib/authlete/models/operations/authorization_ticket_info_post_api_response.rbi +19 -0
  511. data/lib/authlete/models/operations/backchannel_authentication_api_request.rb +37 -0
  512. data/lib/authlete/models/operations/backchannel_authentication_api_request.rbi +15 -0
  513. data/lib/authlete/models/operations/backchannel_authentication_api_response.rb +45 -0
  514. data/lib/authlete/models/operations/backchannel_authentication_api_response.rbi +19 -0
  515. data/lib/authlete/models/operations/backchannel_authentication_complete_api_request.rb +37 -0
  516. data/lib/authlete/models/operations/backchannel_authentication_complete_api_request.rbi +15 -0
  517. data/lib/authlete/models/operations/backchannel_authentication_complete_api_response.rb +45 -0
  518. data/lib/authlete/models/operations/backchannel_authentication_complete_api_response.rbi +19 -0
  519. data/lib/authlete/models/operations/backchannel_authentication_fail_api_request.rb +37 -0
  520. data/lib/authlete/models/operations/backchannel_authentication_fail_api_request.rbi +15 -0
  521. data/lib/authlete/models/operations/backchannel_authentication_fail_api_response.rb +45 -0
  522. data/lib/authlete/models/operations/backchannel_authentication_fail_api_response.rbi +19 -0
  523. data/lib/authlete/models/operations/backchannel_authentication_issue_api_request.rb +37 -0
  524. data/lib/authlete/models/operations/backchannel_authentication_issue_api_request.rbi +15 -0
  525. data/lib/authlete/models/operations/backchannel_authentication_issue_api_response.rb +45 -0
  526. data/lib/authlete/models/operations/backchannel_authentication_issue_api_response.rbi +19 -0
  527. data/lib/authlete/models/operations/client_authorization_delete_api_request.rb +48 -0
  528. data/lib/authlete/models/operations/client_authorization_delete_api_request.rbi +19 -0
  529. data/lib/authlete/models/operations/client_authorization_delete_api_response.rb +45 -0
  530. data/lib/authlete/models/operations/client_authorization_delete_api_response.rbi +19 -0
  531. data/lib/authlete/models/operations/client_authorization_get_list_api_request.rb +57 -0
  532. data/lib/authlete/models/operations/client_authorization_get_list_api_request.rbi +23 -0
  533. data/lib/authlete/models/operations/client_authorization_get_list_api_response.rb +45 -0
  534. data/lib/authlete/models/operations/client_authorization_get_list_api_response.rbi +19 -0
  535. data/lib/authlete/models/operations/client_authorization_update_api_request.rb +42 -0
  536. data/lib/authlete/models/operations/client_authorization_update_api_request.rbi +17 -0
  537. data/lib/authlete/models/operations/client_authorization_update_api_response.rb +45 -0
  538. data/lib/authlete/models/operations/client_authorization_update_api_response.rbi +19 -0
  539. data/lib/authlete/models/operations/client_create_api_request.rb +37 -0
  540. data/lib/authlete/models/operations/client_create_api_request.rbi +15 -0
  541. data/lib/authlete/models/operations/client_create_api_response.rb +45 -0
  542. data/lib/authlete/models/operations/client_create_api_response.rbi +19 -0
  543. data/lib/authlete/models/operations/client_delete_api_request.rb +37 -0
  544. data/lib/authlete/models/operations/client_delete_api_request.rbi +15 -0
  545. data/lib/authlete/models/operations/client_delete_api_response.rb +41 -0
  546. data/lib/authlete/models/operations/client_delete_api_response.rbi +17 -0
  547. data/lib/authlete/models/operations/client_extension_requestables_scopes_delete_api_request.rb +38 -0
  548. data/lib/authlete/models/operations/client_extension_requestables_scopes_delete_api_request.rbi +15 -0
  549. data/lib/authlete/models/operations/client_extension_requestables_scopes_delete_api_response.rb +41 -0
  550. data/lib/authlete/models/operations/client_extension_requestables_scopes_delete_api_response.rbi +17 -0
  551. data/lib/authlete/models/operations/client_extension_requestables_scopes_get_api_request.rb +38 -0
  552. data/lib/authlete/models/operations/client_extension_requestables_scopes_get_api_request.rbi +15 -0
  553. data/lib/authlete/models/operations/client_extension_requestables_scopes_get_api_response.rb +45 -0
  554. data/lib/authlete/models/operations/client_extension_requestables_scopes_get_api_response.rbi +19 -0
  555. data/lib/authlete/models/operations/client_extension_requestables_scopes_update_api_request.rb +42 -0
  556. data/lib/authlete/models/operations/client_extension_requestables_scopes_update_api_request.rbi +17 -0
  557. data/lib/authlete/models/operations/client_extension_requestables_scopes_update_api_response.rb +45 -0
  558. data/lib/authlete/models/operations/client_extension_requestables_scopes_update_api_response.rbi +19 -0
  559. data/lib/authlete/models/operations/client_flag_update_api_request.rb +41 -0
  560. data/lib/authlete/models/operations/client_flag_update_api_request.rbi +17 -0
  561. data/lib/authlete/models/operations/client_flag_update_api_response.rb +45 -0
  562. data/lib/authlete/models/operations/client_flag_update_api_response.rbi +19 -0
  563. data/lib/authlete/models/operations/client_get_api_request.rb +37 -0
  564. data/lib/authlete/models/operations/client_get_api_request.rbi +15 -0
  565. data/lib/authlete/models/operations/client_get_api_response.rb +45 -0
  566. data/lib/authlete/models/operations/client_get_api_response.rbi +19 -0
  567. data/lib/authlete/models/operations/client_get_list_api_request.rb +48 -0
  568. data/lib/authlete/models/operations/client_get_list_api_request.rbi +19 -0
  569. data/lib/authlete/models/operations/client_get_list_api_response.rb +45 -0
  570. data/lib/authlete/models/operations/client_get_list_api_response.rbi +19 -0
  571. data/lib/authlete/models/operations/client_granted_scopes_delete_api_request.rb +48 -0
  572. data/lib/authlete/models/operations/client_granted_scopes_delete_api_request.rbi +19 -0
  573. data/lib/authlete/models/operations/client_granted_scopes_delete_api_response.rb +45 -0
  574. data/lib/authlete/models/operations/client_granted_scopes_delete_api_response.rbi +19 -0
  575. data/lib/authlete/models/operations/client_granted_scopes_get_api_request.rb +48 -0
  576. data/lib/authlete/models/operations/client_granted_scopes_get_api_request.rbi +19 -0
  577. data/lib/authlete/models/operations/client_granted_scopes_get_api_response.rb +45 -0
  578. data/lib/authlete/models/operations/client_granted_scopes_get_api_response.rbi +19 -0
  579. data/lib/authlete/models/operations/client_registration_api_request.rb +37 -0
  580. data/lib/authlete/models/operations/client_registration_api_request.rbi +15 -0
  581. data/lib/authlete/models/operations/client_registration_api_requestbody.rb +45 -0
  582. data/lib/authlete/models/operations/client_registration_api_requestbody.rbi +17 -0
  583. data/lib/authlete/models/operations/client_registration_api_response.rb +45 -0
  584. data/lib/authlete/models/operations/client_registration_api_response.rbi +19 -0
  585. data/lib/authlete/models/operations/client_registration_delete_api_request.rb +37 -0
  586. data/lib/authlete/models/operations/client_registration_delete_api_request.rbi +15 -0
  587. data/lib/authlete/models/operations/client_registration_delete_api_requestbody.rb +45 -0
  588. data/lib/authlete/models/operations/client_registration_delete_api_requestbody.rbi +17 -0
  589. data/lib/authlete/models/operations/client_registration_delete_api_response.rb +45 -0
  590. data/lib/authlete/models/operations/client_registration_delete_api_response.rbi +19 -0
  591. data/lib/authlete/models/operations/client_registration_get_api_request.rb +37 -0
  592. data/lib/authlete/models/operations/client_registration_get_api_request.rbi +15 -0
  593. data/lib/authlete/models/operations/client_registration_get_api_requestbody.rb +45 -0
  594. data/lib/authlete/models/operations/client_registration_get_api_requestbody.rbi +17 -0
  595. data/lib/authlete/models/operations/client_registration_get_api_response.rb +45 -0
  596. data/lib/authlete/models/operations/client_registration_get_api_response.rbi +19 -0
  597. data/lib/authlete/models/operations/client_registration_update_api_request.rb +37 -0
  598. data/lib/authlete/models/operations/client_registration_update_api_request.rbi +15 -0
  599. data/lib/authlete/models/operations/client_registration_update_api_requestbody.rb +45 -0
  600. data/lib/authlete/models/operations/client_registration_update_api_requestbody.rbi +17 -0
  601. data/lib/authlete/models/operations/client_registration_update_api_response.rb +45 -0
  602. data/lib/authlete/models/operations/client_registration_update_api_response.rbi +19 -0
  603. data/lib/authlete/models/operations/client_secret_refresh_api_request.rb +38 -0
  604. data/lib/authlete/models/operations/client_secret_refresh_api_request.rbi +15 -0
  605. data/lib/authlete/models/operations/client_secret_refresh_api_response.rb +45 -0
  606. data/lib/authlete/models/operations/client_secret_refresh_api_response.rbi +19 -0
  607. data/lib/authlete/models/operations/client_secret_update_api_request.rb +42 -0
  608. data/lib/authlete/models/operations/client_secret_update_api_request.rbi +17 -0
  609. data/lib/authlete/models/operations/client_secret_update_api_response.rb +45 -0
  610. data/lib/authlete/models/operations/client_secret_update_api_response.rbi +19 -0
  611. data/lib/authlete/models/operations/client_update_api_request.rb +41 -0
  612. data/lib/authlete/models/operations/client_update_api_request.rbi +17 -0
  613. data/lib/authlete/models/operations/client_update_api_response.rb +45 -0
  614. data/lib/authlete/models/operations/client_update_api_response.rbi +19 -0
  615. data/lib/authlete/models/operations/device_authorization_api_request.rb +37 -0
  616. data/lib/authlete/models/operations/device_authorization_api_request.rbi +15 -0
  617. data/lib/authlete/models/operations/device_authorization_api_response.rb +45 -0
  618. data/lib/authlete/models/operations/device_authorization_api_response.rbi +19 -0
  619. data/lib/authlete/models/operations/device_complete_api_request.rb +37 -0
  620. data/lib/authlete/models/operations/device_complete_api_request.rbi +15 -0
  621. data/lib/authlete/models/operations/device_complete_api_response.rb +45 -0
  622. data/lib/authlete/models/operations/device_complete_api_response.rbi +19 -0
  623. data/lib/authlete/models/operations/device_verification_api_request.rb +37 -0
  624. data/lib/authlete/models/operations/device_verification_api_request.rbi +15 -0
  625. data/lib/authlete/models/operations/device_verification_api_response.rb +45 -0
  626. data/lib/authlete/models/operations/device_verification_api_response.rbi +19 -0
  627. data/lib/authlete/models/operations/federation_configuration_api_request.rb +37 -0
  628. data/lib/authlete/models/operations/federation_configuration_api_request.rbi +15 -0
  629. data/lib/authlete/models/operations/federation_configuration_api_requestbody.rb +28 -0
  630. data/lib/authlete/models/operations/federation_configuration_api_requestbody.rbi +11 -0
  631. data/lib/authlete/models/operations/federation_configuration_api_response.rb +45 -0
  632. data/lib/authlete/models/operations/federation_configuration_api_response.rbi +19 -0
  633. data/lib/authlete/models/operations/federation_registration_api_request.rb +37 -0
  634. data/lib/authlete/models/operations/federation_registration_api_request.rbi +15 -0
  635. data/lib/authlete/models/operations/federation_registration_api_response.rb +45 -0
  636. data/lib/authlete/models/operations/federation_registration_api_response.rbi +19 -0
  637. data/lib/authlete/models/operations/grant_m_api_request.rb +37 -0
  638. data/lib/authlete/models/operations/grant_m_api_request.rbi +15 -0
  639. data/lib/authlete/models/operations/grant_m_api_response.rb +45 -0
  640. data/lib/authlete/models/operations/grant_m_api_response.rbi +19 -0
  641. data/lib/authlete/models/operations/hsk_create_api_request.rb +37 -0
  642. data/lib/authlete/models/operations/hsk_create_api_request.rbi +15 -0
  643. data/lib/authlete/models/operations/hsk_create_api_response.rb +45 -0
  644. data/lib/authlete/models/operations/hsk_create_api_response.rbi +19 -0
  645. data/lib/authlete/models/operations/hsk_delete_api_request.rb +37 -0
  646. data/lib/authlete/models/operations/hsk_delete_api_request.rbi +15 -0
  647. data/lib/authlete/models/operations/hsk_delete_api_response.rb +45 -0
  648. data/lib/authlete/models/operations/hsk_delete_api_response.rbi +19 -0
  649. data/lib/authlete/models/operations/hsk_get_api_request.rb +37 -0
  650. data/lib/authlete/models/operations/hsk_get_api_request.rbi +15 -0
  651. data/lib/authlete/models/operations/hsk_get_api_response.rb +45 -0
  652. data/lib/authlete/models/operations/hsk_get_api_response.rbi +19 -0
  653. data/lib/authlete/models/operations/hsk_get_list_api_request.rb +33 -0
  654. data/lib/authlete/models/operations/hsk_get_list_api_request.rbi +13 -0
  655. data/lib/authlete/models/operations/hsk_get_list_api_response.rb +45 -0
  656. data/lib/authlete/models/operations/hsk_get_list_api_response.rbi +19 -0
  657. data/lib/authlete/models/operations/idtoken_reissue_api_request.rb +37 -0
  658. data/lib/authlete/models/operations/idtoken_reissue_api_request.rbi +15 -0
  659. data/lib/authlete/models/operations/idtoken_reissue_api_response.rb +45 -0
  660. data/lib/authlete/models/operations/idtoken_reissue_api_response.rbi +19 -0
  661. data/lib/authlete/models/operations/jose_verify_api_request.rb +37 -0
  662. data/lib/authlete/models/operations/jose_verify_api_request.rbi +15 -0
  663. data/lib/authlete/models/operations/jose_verify_api_response.rb +45 -0
  664. data/lib/authlete/models/operations/jose_verify_api_response.rbi +19 -0
  665. data/lib/authlete/models/operations/native_sso_api_request.rb +37 -0
  666. data/lib/authlete/models/operations/native_sso_api_request.rbi +15 -0
  667. data/lib/authlete/models/operations/native_sso_api_response.rb +45 -0
  668. data/lib/authlete/models/operations/native_sso_api_response.rbi +19 -0
  669. data/lib/authlete/models/operations/native_sso_logout_api_request.rb +37 -0
  670. data/lib/authlete/models/operations/native_sso_logout_api_request.rbi +15 -0
  671. data/lib/authlete/models/operations/native_sso_logout_api_response.rb +45 -0
  672. data/lib/authlete/models/operations/native_sso_logout_api_response.rbi +19 -0
  673. data/lib/authlete/models/operations/pushed_auth_req_api_request.rb +37 -0
  674. data/lib/authlete/models/operations/pushed_auth_req_api_request.rbi +15 -0
  675. data/lib/authlete/models/operations/pushed_auth_req_api_response.rb +45 -0
  676. data/lib/authlete/models/operations/pushed_auth_req_api_response.rbi +19 -0
  677. data/lib/authlete/models/operations/service_configuration_api_request.rb +41 -0
  678. data/lib/authlete/models/operations/service_configuration_api_request.rbi +17 -0
  679. data/lib/authlete/models/operations/service_configuration_api_response.rb +45 -0
  680. data/lib/authlete/models/operations/service_configuration_api_response.rbi +19 -0
  681. data/lib/authlete/models/operations/service_configuration_api_responsebody.rb +29 -0
  682. data/lib/authlete/models/operations/service_configuration_api_responsebody.rbi +11 -0
  683. data/lib/authlete/models/operations/service_create_api_response.rb +45 -0
  684. data/lib/authlete/models/operations/service_create_api_response.rbi +19 -0
  685. data/lib/authlete/models/operations/service_delete_api_request.rb +33 -0
  686. data/lib/authlete/models/operations/service_delete_api_request.rbi +13 -0
  687. data/lib/authlete/models/operations/service_delete_api_response.rb +41 -0
  688. data/lib/authlete/models/operations/service_delete_api_response.rbi +17 -0
  689. data/lib/authlete/models/operations/service_get_api_request.rb +33 -0
  690. data/lib/authlete/models/operations/service_get_api_request.rbi +13 -0
  691. data/lib/authlete/models/operations/service_get_api_response.rb +45 -0
  692. data/lib/authlete/models/operations/service_get_api_response.rbi +19 -0
  693. data/lib/authlete/models/operations/service_get_list_api_request.rb +37 -0
  694. data/lib/authlete/models/operations/service_get_list_api_request.rbi +15 -0
  695. data/lib/authlete/models/operations/service_get_list_api_response.rb +45 -0
  696. data/lib/authlete/models/operations/service_get_list_api_response.rbi +19 -0
  697. data/lib/authlete/models/operations/service_jwks_get_api_request.rb +41 -0
  698. data/lib/authlete/models/operations/service_jwks_get_api_request.rbi +17 -0
  699. data/lib/authlete/models/operations/service_jwks_get_api_response.rb +45 -0
  700. data/lib/authlete/models/operations/service_jwks_get_api_response.rbi +19 -0
  701. data/lib/authlete/models/operations/service_update_api_request.rb +37 -0
  702. data/lib/authlete/models/operations/service_update_api_request.rbi +15 -0
  703. data/lib/authlete/models/operations/service_update_api_response.rb +45 -0
  704. data/lib/authlete/models/operations/service_update_api_response.rbi +19 -0
  705. data/lib/authlete/models/operations/updateauthorizationticket_request.rb +37 -0
  706. data/lib/authlete/models/operations/updateauthorizationticket_request.rbi +15 -0
  707. data/lib/authlete/models/operations/updateauthorizationticket_response.rb +45 -0
  708. data/lib/authlete/models/operations/updateauthorizationticket_response.rbi +19 -0
  709. data/lib/authlete/models/operations/vci_batch_issue_api_request.rb +37 -0
  710. data/lib/authlete/models/operations/vci_batch_issue_api_request.rbi +15 -0
  711. data/lib/authlete/models/operations/vci_batch_issue_api_response.rb +45 -0
  712. data/lib/authlete/models/operations/vci_batch_issue_api_response.rbi +19 -0
  713. data/lib/authlete/models/operations/vci_batch_parse_api_request.rb +37 -0
  714. data/lib/authlete/models/operations/vci_batch_parse_api_request.rbi +15 -0
  715. data/lib/authlete/models/operations/vci_batch_parse_api_response.rb +45 -0
  716. data/lib/authlete/models/operations/vci_batch_parse_api_response.rbi +19 -0
  717. data/lib/authlete/models/operations/vci_deferred_issue_api_request.rb +37 -0
  718. data/lib/authlete/models/operations/vci_deferred_issue_api_request.rbi +15 -0
  719. data/lib/authlete/models/operations/vci_deferred_issue_api_response.rb +45 -0
  720. data/lib/authlete/models/operations/vci_deferred_issue_api_response.rbi +19 -0
  721. data/lib/authlete/models/operations/vci_deferred_parse_api_request.rb +37 -0
  722. data/lib/authlete/models/operations/vci_deferred_parse_api_request.rbi +15 -0
  723. data/lib/authlete/models/operations/vci_deferred_parse_api_response.rb +45 -0
  724. data/lib/authlete/models/operations/vci_deferred_parse_api_response.rbi +19 -0
  725. data/lib/authlete/models/operations/vci_jwks_api_request.rb +37 -0
  726. data/lib/authlete/models/operations/vci_jwks_api_request.rbi +15 -0
  727. data/lib/authlete/models/operations/vci_jwks_api_response.rb +45 -0
  728. data/lib/authlete/models/operations/vci_jwks_api_response.rbi +19 -0
  729. data/lib/authlete/models/operations/vci_jwtissuer_api_request.rb +37 -0
  730. data/lib/authlete/models/operations/vci_jwtissuer_api_request.rbi +15 -0
  731. data/lib/authlete/models/operations/vci_jwtissuer_api_response.rb +45 -0
  732. data/lib/authlete/models/operations/vci_jwtissuer_api_response.rbi +19 -0
  733. data/lib/authlete/models/operations/vci_metadata_api_request.rb +37 -0
  734. data/lib/authlete/models/operations/vci_metadata_api_request.rbi +15 -0
  735. data/lib/authlete/models/operations/vci_metadata_api_response.rb +45 -0
  736. data/lib/authlete/models/operations/vci_metadata_api_response.rbi +19 -0
  737. data/lib/authlete/models/operations/vci_offer_create_api_request.rb +37 -0
  738. data/lib/authlete/models/operations/vci_offer_create_api_request.rbi +15 -0
  739. data/lib/authlete/models/operations/vci_offer_create_api_response.rb +45 -0
  740. data/lib/authlete/models/operations/vci_offer_create_api_response.rbi +19 -0
  741. data/lib/authlete/models/operations/vci_offer_info_api_request.rb +37 -0
  742. data/lib/authlete/models/operations/vci_offer_info_api_request.rbi +15 -0
  743. data/lib/authlete/models/operations/vci_offer_info_api_response.rb +45 -0
  744. data/lib/authlete/models/operations/vci_offer_info_api_response.rbi +19 -0
  745. data/lib/authlete/models/operations/vci_single_issue_api_request.rb +37 -0
  746. data/lib/authlete/models/operations/vci_single_issue_api_request.rbi +15 -0
  747. data/lib/authlete/models/operations/vci_single_issue_api_response.rb +45 -0
  748. data/lib/authlete/models/operations/vci_single_issue_api_response.rbi +19 -0
  749. data/lib/authlete/models/operations/vci_single_parse_api_request.rb +37 -0
  750. data/lib/authlete/models/operations/vci_single_parse_api_request.rbi +15 -0
  751. data/lib/authlete/models/operations/vci_single_parse_api_response.rb +45 -0
  752. data/lib/authlete/models/operations/vci_single_parse_api_response.rbi +19 -0
  753. data/lib/authlete/models/operations.rb +166 -0
  754. data/lib/authlete/native_sso.rb +422 -0
  755. data/lib/authlete/pushed_authorization.rb +197 -0
  756. data/lib/authlete/revocation.rb +290 -0
  757. data/lib/authlete/sdk_hooks/hooks.rb +95 -0
  758. data/lib/authlete/sdk_hooks/types.rb +170 -0
  759. data/lib/authlete/sdkconfiguration.rb +107 -0
  760. data/lib/authlete/sdkconfiguration.rbi +57 -0
  761. data/lib/authlete/services.rb +923 -0
  762. data/lib/authlete/token_management.rb +945 -0
  763. data/lib/authlete/tokens.rb +953 -0
  764. data/lib/authlete/userinfo.rb +568 -0
  765. data/lib/authlete/utils/forms.rb +206 -0
  766. data/lib/authlete/utils/headers.rb +77 -0
  767. data/lib/authlete/utils/query_params.rb +131 -0
  768. data/lib/authlete/utils/request_bodies.rb +61 -0
  769. data/lib/authlete/utils/retries.rb +95 -0
  770. data/lib/authlete/utils/security.rb +130 -0
  771. data/lib/authlete/utils/url.rb +100 -0
  772. data/lib/authlete/utils/utils.rb +187 -0
  773. data/lib/authlete/verifiable_credentials.rb +1746 -0
  774. data/lib/authlete_ruby_test.rb +45 -0
  775. data/lib/crystalline/metadata_fields.rb +209 -0
  776. data/lib/crystalline/module.rb +92 -0
  777. data/lib/crystalline/types.rb +78 -0
  778. data/lib/crystalline/utils.rb +56 -0
  779. data/lib/crystalline.rb +13 -0
  780. metadata +997 -0
@@ -0,0 +1,1634 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Authlete
8
+ module Models
9
+ module Components
10
+
11
+
12
+ class Service
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # The sequential number of the service. The value of this property is assigned by Authlete.
17
+ field :number, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('number') } }
18
+ # The name of this service.
19
+ field :service_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('serviceName') } }
20
+ # The issuer identifier of the service.
21
+ #
22
+ # A URL that starts with https:// and has no query or fragment component.
23
+ #
24
+ # The value of this property is used as `iss` claim in an [ID token](https://openid.net/specs/openid-connect-core-1_0.html#IDToken)
25
+ # and `issuer` property in the [OpenID Provider Metadata](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).
26
+ #
27
+ field :issuer, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('issuer') } }
28
+ # The description about the service.
29
+ field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('description') } }
30
+ # The service ID used in Authlete API calls. The value of this property is assigned by Authlete.
31
+ field :api_key, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('apiKey') } }
32
+ # The API secret of this service. This value is assigned by Authlete and
33
+ # is used for service authentication in API calls.
34
+ #
35
+ field :api_secret, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('apiSecret') } }
36
+ # The endpoint for batch token notifications. This endpoint is called when
37
+ # multiple tokens are issued or revoked in a batch operation.
38
+ #
39
+ field :token_batch_notification_endpoint, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('tokenBatchNotificationEndpoint') } }
40
+ # The flag indicating whether the audience of client assertion JWTs must
41
+ # match the issuer identifier of this service.
42
+ #
43
+ field :client_assertion_aud_restricted_to_issuer, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('clientAssertionAudRestrictedToIssuer') } }
44
+ # The number of the organization that owns this service. This value is
45
+ # assigned by Authlete.
46
+ #
47
+ field :service_owner_number, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('serviceOwnerNumber') } }
48
+ # The maximum number of client applications that a developer can have.
49
+ #
50
+ field :clients_per_developer, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('clientsPerDeveloper') } }
51
+ # The endpoint for developer authentication callbacks. This is used when
52
+ # developers log into the developer portal.
53
+ #
54
+ field :developer_authentication_callback_endpoint, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('developerAuthenticationCallbackEndpoint') } }
55
+ # The API key for basic authentication at the developer authentication
56
+ # callback endpoint.
57
+ #
58
+ field :developer_authentication_callback_api_key, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('developerAuthenticationCallbackApiKey') } }
59
+ # The API secret for basic authentication at the developer authentication
60
+ # callback endpoint.
61
+ #
62
+ field :developer_authentication_callback_api_secret, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('developerAuthenticationCallbackApiSecret') } }
63
+ # Social login services (SNS) that this service supports for end-user
64
+ # authentication.
65
+ #
66
+ field :supported_snses, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::SupportedSnse)), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('supportedSnses') } }
67
+ # The credentials for social login services (SNS) that are used for
68
+ # end-user authentication.
69
+ #
70
+ field :sns_credentials, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::SnsCredentials)), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('snsCredentials') } }
71
+ # Deprecated. Always `true`.
72
+ field :client_id_alias_enabled, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('clientIdAliasEnabled') } }
73
+ # The `metadata` of the service. The content of the returned array depends on contexts.
74
+ # The predefined service metadata is listed in the following table.
75
+ #
76
+ # | Key | Description |
77
+ # | --- | --- |
78
+ # | `clientCount` | The number of client applications which belong to this service. |
79
+ #
80
+ field :metadata, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::Pair)), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('metadata') } }
81
+ # The time at which this service was created. The value is represented as milliseconds since the
82
+ # UNIX epoch (`1970-01-01`).
83
+ #
84
+ field :created_at, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('createdAt') } }
85
+ # The time at which this service was last modified. The value is represented as milliseconds since
86
+ # the UNIX epoch (1970-01-01).
87
+ #
88
+ field :modified_at, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('modifiedAt') } }
89
+ # A Web API endpoint for user authentication which is to be prepared on the service side.
90
+ #
91
+ # The endpoint must be implemented if you do not implement the UI at the authorization endpoint
92
+ # but use the one provided by Authlete.
93
+ #
94
+ # The user authentication at the authorization endpoint provided by Authlete is performed by making
95
+ # a `POST` request to this endpoint.
96
+ #
97
+ field :authentication_callback_endpoint, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('authenticationCallbackEndpoint') } }
98
+ # API key for basic authentication at the authentication callback endpoint.
99
+ #
100
+ # If the value is not empty, Authlete generates Authorization header for Basic authentication when
101
+ # making a request to the authentication callback endpoint.
102
+ #
103
+ field :authentication_callback_api_key, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('authenticationCallbackApiKey') } }
104
+ # API secret for `basic` authentication at the authentication callback endpoint.
105
+ field :authentication_callback_api_secret, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('authenticationCallbackApiSecret') } }
106
+ # Values of acrs (authentication context class references) that the service supports.
107
+ #
108
+ # The value of this property is used as `acr_values_supported`
109
+ # property in the [OpenID Provider Metadata](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).
110
+ #
111
+ field :supported_acrs, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('supportedAcrs') } }
112
+ # Values of `grant_type` request parameter that the service supports.
113
+ #
114
+ # The value of this property is used as `grant_types_supported property` in the
115
+ # [OpenID Provider Metadata](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).
116
+ #
117
+ field :supported_grant_types, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::GrantType)), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('supportedGrantTypes') } }
118
+ # Values of `response_type` request parameter that
119
+ # the service supports. Valid values are listed in Response Type.
120
+ #
121
+ # The value of this property is used as `response_types_supported` property in the
122
+ # [OpenID Provider Metadata](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).
123
+ #
124
+ field :supported_response_types, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::ResponseType)), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('supportedResponseTypes') } }
125
+ # The supported data types that can be used as values of the type field in `authorization_details`.
126
+ #
127
+ # This property corresponds to the `authorization_details_types_supported` metadata. See "OAuth 2.0
128
+ # Rich Authorization Requests" (RAR) for details.
129
+ #
130
+ field :supported_authorization_details_types, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('supportedAuthorizationDetailsTypes') } }
131
+ # The profiles that this service supports.
132
+ #
133
+ field :supported_service_profiles, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::ServiceProfile)), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('supportedServiceProfiles') } }
134
+ # The flag to indicate whether the `error_description` response parameter is omitted.
135
+ #
136
+ # According to [RFC 6749](https://tools.ietf.org/html/rfc6749), an authorization server may include
137
+ # the `error_description` response parameter in error responses.
138
+ #
139
+ # If `true`, Authlete does not embed the `error_description` response parameter in error responses.
140
+ #
141
+ field :error_description_omitted, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('errorDescriptionOmitted') } }
142
+ # The flag to indicate whether the `error_uri` response parameter is omitted.
143
+ #
144
+ # According to [RFC 6749](https://tools.ietf.org/html/rfc6749), an authorization server may include the `error_uri` response parameter in error responses.
145
+ #
146
+ # If `true`, Authlete does not embed the
147
+ # `error_uri` response parameter in error responses.
148
+ #
149
+ field :error_uri_omitted, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('errorUriOmitted') } }
150
+ # The authorization endpoint of the service.
151
+ #
152
+ # A URL that starts with `https://` and has no fragment component. For example, `https://example.com/auth/authorization`.
153
+ #
154
+ # The value of this property is used as `authorization_endpoint` property in the [OpenID Provider
155
+ # Metadata](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).
156
+ #
157
+ field :authorization_endpoint, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('authorizationEndpoint') } }
158
+ # The flag to indicate whether the direct authorization endpoint is enabled or not.
159
+ #
160
+ # The path of the endpoint is `/api/auth/authorization/direct/service-api-key`.
161
+ #
162
+ field :direct_authorization_endpoint_enabled, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('directAuthorizationEndpointEnabled') } }
163
+ # UI locales that the service supports.
164
+ #
165
+ # Each element is a language tag defined in [RFC 5646](https://tools.ietf.org/html/rfc5646). For example, `en-US` and `ja-JP`.
166
+ #
167
+ # The value of this property is used as `ui_locales_supported` property in the [OpenID Provider Metadata](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).
168
+ #
169
+ field :supported_ui_locales, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('supportedUiLocales') } }
170
+ # Values of `display` request parameter that service supports.
171
+ #
172
+ # The value of this property is used as `display_values_supported` property in the Provider Metadata](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).
173
+ #
174
+ field :supported_displays, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::Display)), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('supportedDisplays') } }
175
+ # The flag to indicate whether the use of Proof Key for Code Exchange (PKCE) is always required for authorization requests by Authorization Code Flow.
176
+ #
177
+ # If `true`, `code_challenge` request parameter is always required for authorization requests using Authorization Code Flow.
178
+ #
179
+ # See [RFC 7636](https://tools.ietf.org/html/rfc7636) (Proof Key for Code Exchange by OAuth Public Clients) for details about `code_challenge` request parameter.
180
+ #
181
+ field :pkce_required, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('pkceRequired') } }
182
+ # The flag to indicate whether `S256` is always required as the code challenge method whenever [PKCE (RFC 7636)](https://tools.ietf.org/html/rfc7636) is used.
183
+ #
184
+ # If this flag is set to `true`, `code_challenge_method=S256` must be included in the authorization request
185
+ # whenever it includes the `code_challenge` request parameter.
186
+ # Neither omission of the `code_challenge_method` request parameter nor use of plain (`code_challenge_method=plain`) is allowed.
187
+ #
188
+ field :pkce_s256_required, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('pkceS256Required') } }
189
+ # The duration of authorization response JWTs in seconds.
190
+ #
191
+ # [Financial-grade API: JWT Secured Authorization Response Mode for OAuth 2.0 (JARM)](https://openid.net/specs/openid-financial-api-jarm.html)
192
+ # defines new values for the `response_mode` request parameter. They are `query.jwt`, `fragment.jwt`,
193
+ # `form_post.jwt` and `jwt`. If one of them is specified as the response mode, response parameters
194
+ # from the authorization endpoint will be packed into a JWT. This property is used to compute the
195
+ # value of the `exp` claim of the JWT.
196
+ #
197
+ field :authorization_response_duration, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('authorizationResponseDuration') } }
198
+ # The [token endpoint](https://tools.ietf.org/html/rfc6749#section-3.2) of the service.
199
+ #
200
+ # A URL that starts with `https://` and has not fragment component. For example, `https://example.com/auth/token`.
201
+ #
202
+ # The value of this property is used as `token_endpoint` property in the
203
+ # [OpenID Provider Metadata](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).
204
+ #
205
+ field :token_endpoint, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('tokenEndpoint') } }
206
+ # The flag to indicate whether the direct token endpoint is enabled or not. The path of the endpoint
207
+ # is `/api/auth/token/direct/service-api-key`.
208
+ #
209
+ field :direct_token_endpoint_enabled, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('directTokenEndpointEnabled') } }
210
+ # Client authentication methods supported by the token endpoint of the service.
211
+ #
212
+ # The value of this property is used as `token_endpoint_auth_methods_supports` property in the
213
+ # [OpenID Provider Metadata](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).
214
+ #
215
+ field :supported_token_auth_methods, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::ClientAuthMethod)), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('supportedTokenAuthMethods') } }
216
+ # The flag to indicate token requests from public clients without the `client_id` request parameter are allowed when the client can be guessed from `authorization_code` or `refresh_token`.
217
+ #
218
+ # This flag should not be set unless you have special reasons.
219
+ #
220
+ field :missing_client_id_allowed, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('missingClientIdAllowed') } }
221
+ # The [revocation endpoint](https://tools.ietf.org/html/rfc7009) of the service.
222
+ #
223
+ # A URL that starts with `https://`. For example, `https://example.com/auth/revocation`.
224
+ #
225
+ field :revocation_endpoint, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('revocationEndpoint') } }
226
+ # The flag to indicate whether the direct revocation endpoint is enabled or not. The URL of the endpoint is `/api/auth/revocation/direct/service-api-key`.
227
+ field :direct_revocation_endpoint_enabled, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('directRevocationEndpointEnabled') } }
228
+ # Client authentication methods supported at the revocation endpoint.
229
+ #
230
+ field :supported_revocation_auth_methods, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::ClientAuthMethod)), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('supportedRevocationAuthMethods') } }
231
+ # The URI of the introspection endpoint.
232
+ field :introspection_endpoint, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('introspectionEndpoint') } }
233
+ # The flag to indicate whether the direct userinfo endpoint is enabled or not. The path of the endpoint is `/api/auth/userinfo/direct/{serviceApiKey}`.
234
+ field :direct_introspection_endpoint_enabled, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('directIntrospectionEndpointEnabled') } }
235
+ # Client authentication methods supported at the introspection endpoint.
236
+ #
237
+ field :supported_introspection_auth_methods, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::ClientAuthMethod)), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('supportedIntrospectionAuthMethods') } }
238
+ # The URI of the pushed authorization request endpoint.
239
+ #
240
+ # This property corresponds to the `pushed_authorization_request_endpoint` metadata defined in "[5. Authorization Server Metadata](https://tools.ietf.org/html/draft-lodderstedt-oauth-par#section-5)" of OAuth 2.0 Pushed Authorization Requests.
241
+ #
242
+ field :pushed_auth_req_endpoint, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('pushedAuthReqEndpoint') } }
243
+ # The duration of pushed authorization requests in seconds.
244
+ #
245
+ # [OAuth 2.0 Pushed Authorization Requests](https://tools.ietf.org/html/draft-lodderstedt-oauth-par)
246
+ # defines an endpoint (called "pushed authorization request endpoint") which client applications
247
+ # can register authorization requests into and get corresponding URIs (called "request URIs") from.
248
+ # The issued URIs represent the registered authorization requests. The client applications can use
249
+ # the URIs as the value of the `request_uri` request parameter in an authorization request.
250
+ #
251
+ # The property represents the duration of registered authorization requests and is used as the value
252
+ # of the `expires_in` parameter in responses from the pushed authorization request endpoint.
253
+ #
254
+ field :pushed_auth_req_duration, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('pushedAuthReqDuration') } }
255
+ # The flag to indicate whether this service requires that clients use the pushed authorization
256
+ # request endpoint.
257
+ #
258
+ # This property corresponds to the `require_pushed_authorization_requests` server metadata defined
259
+ # in [OAuth 2.0 Pushed Authorization Requests](https://tools.ietf.org/html/draft-lodderstedt-oauth-par).
260
+ #
261
+ field :par_required, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('parRequired') } }
262
+ # The flag to indicate whether this service requires that authorization requests always utilize
263
+ # a request object by using either request or `request_uri` request parameter.
264
+ #
265
+ # If this flag is set to `true` and the value of `traditionalRequestObjectProcessingApplied` is
266
+ # `false`, the value of `require_signed_request_object` server metadata of this service is reported
267
+ # as `true` in the discovery document. The metadata is defined in JAR (JWT Secured Authorization Request).
268
+ # That `require_signed_request_object` is `true` means that authorization requests which don't
269
+ # conform to the JAR specification are rejected.
270
+ #
271
+ field :request_object_required, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('requestObjectRequired') } }
272
+ # The flag to indicate whether a request object is processed based on rules defined in
273
+ # [OpenID Connect Core 1.0](https://openid.net/specs/openid-connect-core-1_0.html) or JAR (JWT
274
+ # Secured Authorization Request).
275
+ #
276
+ # Differences between rules in OpenID Connect Core 1.0 and ones in JAR are as follows.
277
+ # - JAR requires that a request object be always -signed.
278
+ # - JAR does not allow request parameters outside a request object to be referred to.
279
+ # - OIDC Core 1.0 requires that response_type request parameter exist outside a request object even if the request object includes the request parameter.
280
+ # - OIDC Core 1.0 requires that scope request parameter exist outside a request object if the authorization request is an
281
+ # - OIDC request even if the request object includes the request parameter.
282
+ #
283
+ # If this flag is set to `false` and the value of `requestObjectRequired` is `true`, the value of
284
+ # `require_signed_request_object` server metadata of this service
285
+ # is reported as `true` in the discovery document. The metadata is defined in JAR (JWT Secured
286
+ # Authorization Request). That `require_signed_request_object` is `true` means that authorization
287
+ # requests which don't conform to the JAR specification are rejected.
288
+ #
289
+ field :traditional_request_object_processing_applied, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('traditionalRequestObjectProcessingApplied') } }
290
+ # The flag to indicate whether this service validates certificate chains during PKI-based client mutual TLS authentication.
291
+ #
292
+ field :mutual_tls_validate_pki_cert_chain, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('mutualTlsValidatePkiCertChain') } }
293
+ # The list of root certificates trusted by this service for PKI-based client mutual TLS authentication.
294
+ #
295
+ field :trusted_root_certificates, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('trustedRootCertificates') } }
296
+ # The MTLS endpoint aliases.
297
+ #
298
+ # This property corresponds to the mtls_endpoint_aliases metadata defined in "5. Metadata for Mutual TLS Endpoint Aliases" of [OAuth 2.0 Mutual TLS Client Authentication and Certificate-Bound Access Tokens](https://datatracker.ietf.org/doc/rfc8705/).
299
+ #
300
+ # The aliases will be embedded in the response from the discovery endpoint like the following.
301
+ #
302
+ # ```json
303
+ # {
304
+ # ......,
305
+ # "mtls_endpoint_aliases": {
306
+ # "token_endpoint": "https://mtls.example.com/token",
307
+ # "revocation_endpoint": "https://mtls.example.com/revo",
308
+ # "introspection_endpoint": "https://mtls.example.com/introspect"
309
+ # }
310
+ # }
311
+ # ```
312
+ #
313
+ field :mtls_endpoint_aliases, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::NamedUri)), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('mtlsEndpointAliases') } }
314
+ # The access token type.
315
+ #
316
+ # This value is used as the value of `token_type` property in access token responses. If this service
317
+ # complies with [RFC 6750](https://tools.ietf.org/html/rfc6750), the value of this property should
318
+ # be `Bearer`.
319
+ #
320
+ # See [RFC 6749 (OAuth 2.0), 7.1. Access Token Types](https://tools.ietf.org/html/rfc6749#section-7.1) for details.
321
+ #
322
+ field :access_token_type, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('accessTokenType') } }
323
+ # The flag to indicate whether this service supports issuing TLS client certificate bound access tokens.
324
+ #
325
+ field :tls_client_certificate_bound_access_tokens, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('tlsClientCertificateBoundAccessTokens') } }
326
+ # The duration of access tokens in seconds. This value is used as the value of `expires_in` property
327
+ # in access token responses. `expires_in` is defined [RFC 6749, 5.1. Successful Response](https://tools.ietf.org/html/rfc6749#section-5.1).
328
+ #
329
+ field :access_token_duration, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('accessTokenDuration') } }
330
+ # The flag to indicate whether the number of access tokens per subject (and per client) is at most one or can be more.
331
+ #
332
+ # If `true`, an attempt to issue a new access token invalidates existing access tokens that are associated with the same subject and the same client.
333
+ #
334
+ # Note that, however, attempts by [Client Credentials Flow](https://tools.ietf.org/html/rfc6749#section-4.4) do not invalidate existing access tokens because access tokens issued by Client Credentials Flow are not associated with any end-user's subject. Also note that an attempt by [Refresh Token Flow](https://tools.ietf.org/html/rfc6749#section-6) invalidates the coupled access token only and this invalidation is always performed regardless of whether the value of this setting item is `true` or `false`.
335
+ #
336
+ field :single_access_token_per_subject, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('singleAccessTokenPerSubject') } }
337
+ # The key ID to identify a JWK used for signing access tokens.
338
+ #
339
+ # A JWK Set can be registered as a property of a service. A JWK Set can contain 0 or more JWKs.
340
+ # Authlete Server has to pick up one JWK for signing from the JWK Set when it generates a JWT-based
341
+ # access token. Authlete Server searches the registered JWK Set for a JWK which satisfies conditions
342
+ # for access token signature. If the number of JWK candidates which satisfy the conditions is 1,
343
+ # there is no problem. On the other hand, if there exist multiple candidates, a Key ID is needed
344
+ # to be specified so that Authlete Server can pick up one JWK from among the JWK candidates.
345
+ #
346
+ field :access_token_signature_key_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('accessTokenSignatureKeyId') } }
347
+ # The duration of refresh tokens in seconds. The related specifications have no requirements on refresh token duration, but Authlete sets expiration for refresh tokens.
348
+ field :refresh_token_duration, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('refreshTokenDuration') } }
349
+ # The flag to indicate whether the remaining duration of the used refresh token is taken over to
350
+ # the newly issued refresh token.
351
+ #
352
+ field :refresh_token_duration_kept, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('refreshTokenDurationKept') } }
353
+ # The flag which indicates whether duration of refresh tokens are reset when they are used even
354
+ # if the `refreshTokenKept` property of this service set to is `true` (= even if "Refresh Token
355
+ # Continuous Use" is "Kept").
356
+ #
357
+ # This flag has no effect when the `refreshTokenKept` property is set to `false`. In other words,
358
+ # if this service issues a new refresh token on every refresh token request, the refresh token
359
+ # will have fresh duration (unless `refreshTokenDurationKept` is set to `true`) and this
360
+ # `refreshTokenDurationReset` property is not referenced.
361
+ #
362
+ field :refresh_token_duration_reset, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('refreshTokenDurationReset') } }
363
+ # The flag to indicate whether a refresh token remains unchanged or gets renewed after its use.
364
+ #
365
+ # If `true`, a refresh token used to get a new access token remains valid after its use. Otherwise, if `false`, a refresh token is invalidated after its use and a new refresh token is issued.
366
+ #
367
+ # See [RFC 6749 6. Refreshing an Access Token](https://tools.ietf.org/html/rfc6749#section-6), as to how to get a new access token using a refresh token.
368
+ #
369
+ field :refresh_token_kept, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('refreshTokenKept') } }
370
+ # Scopes supported by the service.
371
+ #
372
+ # Authlete strongly recommends that the service register at least the following scopes.
373
+ #
374
+ # | Name | Description |
375
+ # | --- | --- |
376
+ # | openid | A permission to get an ID token of an end-user. The `openid` scope appears in [OpenID Connect Core 1.0, 3.1.2.1. Authentication Request, scope](https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest). Without this scope, Authlete does not allow `response_type` request parameter to have values other than code and token. |
377
+ # | profile | A permission to get information about `name`, `family_name`, `given_name`, `middle_name`, `nickname`, `preferred_username`, `profile`, `picture`, `website`, `gender`, `birthdate`, `zoneinfo`, `locale` and `updated_at` from the user info endpoint. See [OpenID Connect Core 1.0, 5.4. Requesting Claims using Scope Values](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims) for details. |
378
+ # | email | A permission to get information about `email` and `email_verified` from the user info endpoint. See [OpenID Connect Core 1.0, 5.4. Requesting Claims using Scope Values](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims) for details. |
379
+ # | address | A permission to get information about address from the user info endpoint. See [OpenID Connect Core 1.0, 5.4. Requesting Claims using Scope Values](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims) and [5.1.1. Address Claim](https://openid.net/specs/openid-connect-core-1_0.html#AddressClaim) for details. |
380
+ # | phone | A permission to get information about `phone_number` and `phone_number_verified` from the user info endpoint. See [OpenID Connect Core 1.0, 5.4. Requesting Claims using Scope Values](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims) for details. |
381
+ # | offline_access | A permission to get information from the user info endpoint even when the end-user is not present. See [OpenID Connect Core 1.0, 11. Offline Access](https://openid.net/specs/openid-connect-core-1_0.html#OfflineAccess) for details. |
382
+ #
383
+ # The value of this property is used as `scopes_supported` property in the [OpenID Provider Metadata](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).
384
+ #
385
+ field :supported_scopes, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::Scope)), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('supportedScopes') } }
386
+ # The flag to indicate whether requests that request no scope are rejected or not.
387
+ #
388
+ # When a request has no explicit `scope` parameter and the service's pre-defined default scope set is empty,
389
+ # the authorization server regards the request requests no scope. When this flag is set to `true`,
390
+ # requests that request no scope are rejected.
391
+ #
392
+ # The requirement below excerpted from [RFC 6749 Section 3.3](https://tools.ietf.org/html/rfc6749#section-3.3)
393
+ # does not explicitly mention the case where the default scope set is empty.
394
+ #
395
+ # > If the client omits the scope parameter when requesting authorization, the authorization server
396
+ # MUST either process the request using a pre-defined default value or fail the request indicating an invalid scope.
397
+ #
398
+ # However, if you interpret *"the default scope set exists but is empty"* as *"the default scope set does not exist"*
399
+ # and want to strictly conform to the requirement above, this flag has to be `true`.
400
+ #
401
+ field :scope_required, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('scopeRequired') } }
402
+ # 'The duration of [ID token](https://openid.net/specs/openid-connect-core-1_0.html#IDToken)s
403
+ # in seconds. This value is used to calculate the value of `exp` claim in an ID token.'
404
+ #
405
+ field :id_token_duration, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('idTokenDuration') } }
406
+ # The allowable clock skew between the server and clients in seconds.
407
+ #
408
+ # The clock skew is taken into consideration when time-related claims in a JWT (e.g. `exp`, `iat`, `nbf`) are verified.
409
+ #
410
+ field :allowable_clock_skew, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('allowableClockSkew') } }
411
+ # Claim types supported by the service. Valid values are listed in Claim Type. Note that Authlete
412
+ # currently doesn't provide any API to help implementations for `AGGREGATED` and `DISTRIBUTED`.
413
+ #
414
+ # The value of this property is used as `claim_types_supported` property in the [OpenID Provider
415
+ # Metadata](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).
416
+ #
417
+ field :supported_claim_types, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::ClaimType)), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('supportedClaimTypes') } }
418
+ # Claim locales that the service supports. Each element is a language tag defined in [RFC 5646](https://tools.ietf.org/html/rfc5646).
419
+ # For example, `en-US` and `ja-JP`. See [OpenID Connect Core 1.0, 5.2. Languages and Scripts](https://openid.net/specs/openid-connect-core-1_0.html#ClaimsLanguagesAndScripts)
420
+ # for details.
421
+ #
422
+ # The value of this property is used as `claims_locales_supported` property in the
423
+ # [OpenID Provider Metadata](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).
424
+ #
425
+ field :supported_claim_locales, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('supportedClaimLocales') } }
426
+ # Claim names that the service supports. The standard claim names listed in [OpenID Connect Core 1.0,
427
+ # 5.1. Standard Claim](https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims) should
428
+ # be supported. The following is the list of standard claims.
429
+ #
430
+ # - `sub`
431
+ # - `name`
432
+ # - `given_name`
433
+ # - `family_name`
434
+ # - `middle_name`
435
+ # - `nickname`
436
+ # - `preferred_username`
437
+ # - `profile`
438
+ # - `picture`
439
+ # - `website`
440
+ # - `email`
441
+ # - `email_verified`
442
+ # - `gender`
443
+ # - `birthdate`
444
+ # - `zoneinfo`
445
+ # - `locale`
446
+ # - `phone_number`
447
+ # - `phone_number_verified`
448
+ # - `address`
449
+ # - `updated_at`
450
+ #
451
+ # The value of this property is used as `claims_supported` property in the [OpenID Provider
452
+ # Metadata](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).
453
+ #
454
+ # The service may support its original claim names. See [OpenID Connect Core 1.0, 5.1.2. Additional
455
+ # Claims](https://openid.net/specs/openid-connect-core-1_0.html#AdditionalClaims).
456
+ #
457
+ field :supported_claims, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('supportedClaims') } }
458
+ # The flag indicating whether claims specified by shortcut scopes (e.g. `profile`) are included
459
+ # in the issued ID token only when no access token is issued.
460
+ #
461
+ # To strictly conform to the description below excerpted from [OpenID Connect Core 1.0 Section
462
+ # 5.4](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims), this flag has to be `true`.
463
+ #
464
+ # > The Claims requested by the profile, email, address, and phone scope values are returned from
465
+ # the UserInfo Endpoint, as described in Section 5.3.2, when a response_type value is used that
466
+ # results in an Access Token being issued. However, when no Access Token is issued (which is the
467
+ # case for the response_type value id_token), the resulting Claims are returned in the ID Token.
468
+ #
469
+ field :claim_shortcut_restrictive, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('claimShortcutRestrictive') } }
470
+ # The URL of the service's [JSON Web Key Set](https://tools.ietf.org/html/rfc7517) document. For
471
+ # example, `http://example.com/auth/jwks`.
472
+ #
473
+ # Client applications accesses this URL (1) to get the public key of the service to validate the
474
+ # signature of an ID token issued by the service and (2) to get the public key of the service to
475
+ # encrypt an request object of the client application. See [OpenID Connect Core 1.0, 10. Signatures
476
+ # and Encryption](https://openid.net/specs/openid-connect-core-1_0.html#SigEnc) for details.
477
+ #
478
+ # The value of this property is used as `jwks_uri` property in the [OpenID Provider Metadata](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).
479
+ #
480
+ field :jwks_uri, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('jwksUri') } }
481
+ # 'The flag to indicate whether the direct jwks endpoint is enabled or not. The path of the endpoint
482
+ # is `/api/service/jwks/get/direct/service-api-key`. '
483
+ #
484
+ field :direct_jwks_endpoint_enabled, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('directJwksEndpointEnabled') } }
485
+ # The content of the service's [JSON Web Key Set](https://tools.ietf.org/html/rfc7517) document.
486
+ #
487
+ # If this property is not `null` in a `/service/create` request or a `/service/update` request,
488
+ # Authlete hosts the content in the database. This property must not be `null` and must contain
489
+ # pairs of public/private keys if the service wants to support asymmetric signatures for ID tokens
490
+ # and asymmetric encryption for request objects. See [OpenID Connect Core 1.0, 10. Signatures and
491
+ # Encryption](https://openid.net/specs/openid-connect-core-1_0.html#SigEnc) for details.
492
+ #
493
+ field :jwks, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('jwks') } }
494
+ # The key ID to identify a JWK used for ID token signature using an asymmetric key.
495
+ #
496
+ # A JWK Set can be registered as a property of a Service. A JWK Set can contain 0 or more JWKs
497
+ # (See [RFC 7517](https://tools.ietf.org/html/rfc7517) for details about JWK). Authlete Server has
498
+ # to pick up one JWK for signature from the JWK Set when it generates an ID token and signature
499
+ # using an asymmetric key is required. Authlete Server searches the registered JWK Set for a JWK
500
+ # which satisfies conditions for ID token signature. If the number of JWK candidates which satisfy
501
+ # the conditions is 1, there is no problem. On the other hand, if there exist multiple candidates,
502
+ # a [Key ID](https://tools.ietf.org/html/rfc7517#section-4.5) is needed to be specified so that
503
+ # Authlete Server can pick up one JWK from among the JWK candidates.
504
+ #
505
+ # This `idTokenSignatureKeyId` property exists for the purpose described above. For key rotation
506
+ # (OpenID Connect Core 1.0, [10.1.1. Rotation of Asymmetric Signing Keys](http://openid.net/specs/openid-connect-core-1_0.html#RotateSigKeys)),
507
+ # this mechanism is needed.
508
+ #
509
+ field :id_token_signature_key_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('idTokenSignatureKeyId') } }
510
+ # The key ID to identify a JWK used for user info signature using an asymmetric key.
511
+ #
512
+ # A JWK Set can be registered as a property of a Service. A JWK Set can contain 0 or more JWKs
513
+ # (See [RFC 7517](https://tools.ietf.org/html/rfc7517) for details about JWK). Authlete Server has
514
+ # to pick up one JWK for signature from the JWK Set when it is required to sign user info (which
515
+ # is returned from [userinfo endpoint](http://openid.net/specs/openid-connect-core-1_0.html#UserInfo))
516
+ # using an asymmetric key. Authlete Server searches the registered JWK Set for a JWK which satisfies
517
+ # conditions for user info signature. If the number of JWK candidates which satisfy the conditions
518
+ # is 1, there is no problem. On the other hand, if there exist multiple candidates, a [Key ID](https://tools.ietf.org/html/rfc7517#section-4.5)
519
+ # is needed to be specified so that Authlete Server can pick up one JWK from among the JWK candidates.
520
+ #
521
+ # This `userInfoSignatureKeyId` property exists for the purpose described above. For key rotation
522
+ # (OpenID Connect Core 1.0, [10.1.1. Rotation of Asymmetric Signing Keys](http://openid.net/specs/openid-connect-core-1_0.html#RotateSigKeys)),
523
+ # this mechanism is needed.
524
+ #
525
+ field :user_info_signature_key_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('userInfoSignatureKeyId') } }
526
+ # The key ID to identify a JWK used for signing authorization responses using an asymmetric key.
527
+ #
528
+ # [Financial-grade API: JWT Secured Authorization Response Mode for OAuth 2.0 (JARM)](https://openid.net/specs/openid-financial-api-jarm.html)
529
+ # defines new values for the `response_mode` request parameter. They are `query.jwt`, `fragment.jwt`,
530
+ # `form_post.jwt` and `jwt`. If one of them is specified as the response mode, response parameters
531
+ # from the authorization endpoint will be packed into a JWT. This property is used to compute the
532
+ # value of the `exp` claim of the JWT.
533
+ #
534
+ # Authlete Server searches the JWK Set for a JWK which satisfies conditions for authorization response
535
+ # signature. If the number of JWK candidates which satisfy the conditions is 1, there is no problem.
536
+ # On the other hand, if there exist multiple candidates, a Key ID is needed to be specified so that
537
+ # Authlete Server can pick up one JWK from among the JWK candidates. This property exists to specify
538
+ # the key ID.
539
+ #
540
+ field :authorization_signature_key_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('authorizationSignatureKeyId') } }
541
+ # The [user info endpoint](http://openid.net/specs/openid-connect-core-1_0.html#UserInfo) of the
542
+ # service. A URL that starts with `https://`. For example, `https://example.com/auth/userinfo`.
543
+ #
544
+ # The value of this property is used as `userinfo_endpoint` property in the [OpenID Provider Metadata](http://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).
545
+ #
546
+ field :user_info_endpoint, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('userInfoEndpoint') } }
547
+ # The flag to indicate whether the direct userinfo endpoint is enabled or not. The path
548
+ # of the endpoint is `/api/auth/userinfo/direct/service-api-key`.
549
+ #
550
+ field :direct_user_info_endpoint_enabled, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('directUserInfoEndpointEnabled') } }
551
+ # The boolean flag which indicates whether the [OAuth 2.0 Dynamic Client Registration Protocol](https://tools.ietf.org/html/rfc7591)
552
+ # is supported.
553
+ #
554
+ field :dynamic_registration_supported, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('dynamicRegistrationSupported') } }
555
+ # The [registration endpoint](http://openid.net/specs/openid-connect-registration-1_0.html#ClientRegistration)
556
+ # of the service. A URL that starts with `https://`. For example, `https://example.com/auth/registration`.
557
+ #
558
+ # The value of this property is used as `registration_endpoint` property in the [OpenID Provider Metadata](http://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).
559
+ #
560
+ field :registration_endpoint, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('registrationEndpoint') } }
561
+ # The URI of the registration management endpoint. If dynamic client registration is supported,
562
+ # and this is set, this URI will be used as the basis of the client's management endpoint by appending
563
+ # `/clientid}/` to it as a path element. If this is unset, the value of `registrationEndpoint` will
564
+ # be used as the URI base instead.
565
+ #
566
+ field :registration_management_endpoint, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('registrationManagementEndpoint') } }
567
+ # The URL of the "Policy" of the service.
568
+ #
569
+ # The value of this property is used as `op_policy_uri` property in the [OpenID Provider Metadata](http://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).
570
+ #
571
+ field :policy_uri, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('policyUri') } }
572
+ # The URL of the "Terms Of Service" of the service.
573
+ #
574
+ # The value of this property is used as `op_tos_uri` property in the [OpenID Provider Metadata](http://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).
575
+ #
576
+ field :tos_uri, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('tosUri') } }
577
+ # The URL of a page where documents for developers can be found.
578
+ #
579
+ # The value of this property is used as `service_documentation` property in the [OpenID Provider Metadata](http://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).
580
+ #
581
+ field :service_documentation, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('serviceDocumentation') } }
582
+ # The URI of backchannel authentication endpoint, which is defined in the specification of [CIBA
583
+ # (Client Initiated Backchannel Authentication)](https://openid.net/specs/openid-client-initiated-backchannel-authentication-core-1_0.html).
584
+ #
585
+ field :backchannel_authentication_endpoint, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('backchannelAuthenticationEndpoint') } }
586
+ # The supported backchannel token delivery modes. This property corresponds to the `backchannel_token_delivery_modes_supported`
587
+ # metadata.
588
+ #
589
+ # Backchannel token delivery modes are defined in the specification of [CIBA (Client Initiated
590
+ # Backchannel Authentication)](https://openid.net/specs/openid-client-initiated-backchannel-authentication-core-1_0.html).
591
+ #
592
+ field :supported_backchannel_token_delivery_modes, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::DeliveryMode)), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('supportedBackchannelTokenDeliveryModes') } }
593
+ # The duration of backchannel authentication request IDs issued from the backchannel authentication
594
+ # endpoint in seconds. This is used as the value of the `expires_in` property in responses from
595
+ # the backchannel authentication endpoint.
596
+ #
597
+ field :backchannel_auth_req_id_duration, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('backchannelAuthReqIdDuration') } }
598
+ # The minimum interval between polling requests to the token endpoint from client applications in
599
+ # seconds. This is used as the value of the `interval` property in responses from the backchannel
600
+ # authentication endpoint.
601
+ #
602
+ field :backchannel_polling_interval, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('backchannelPollingInterval') } }
603
+ # The boolean flag which indicates whether the `user_code` request parameter is supported at the
604
+ # backchannel authentication endpoint. This property corresponds to the `backchannel_user_code_parameter_supported`
605
+ # metadata.
606
+ #
607
+ field :backchannel_user_code_parameter_supported, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('backchannelUserCodeParameterSupported') } }
608
+ # The flag to indicate whether the `binding_message` request parameter is always required whenever
609
+ # a backchannel authentication request is judged as a request for Financial-grade API.
610
+ #
611
+ # The FAPI-CIBA profile requires that the authorization server _"shall ensure unique authorization
612
+ # context exists in the authorization request or require a `binding_message` in the authorization
613
+ # request"_ (FAPI-CIBA, 5.2.2, 2). The simplest way to fulfill this requirement is to set this property
614
+ # to `true`.
615
+ #
616
+ # If this property is set to `false`, the `binding_message` request parameter remains optional
617
+ # even in FAPI context, but in exchange, your authorization server must implement a custom mechanism
618
+ # that ensures each backchannel authentication request has unique context.
619
+ #
620
+ field :backchannel_binding_message_required_in_fapi, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('backchannelBindingMessageRequiredInFapi') } }
621
+ # The URI of the device authorization endpoint.
622
+ #
623
+ # Device authorization endpoint is defined in the specification of OAuth 2.0 Device Authorization Grant.
624
+ #
625
+ field :device_authorization_endpoint, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('deviceAuthorizationEndpoint') } }
626
+ # The verification URI for the device flow. This URI is used as the value of the `verification_uri`
627
+ # parameter in responses from the device authorization endpoint.
628
+ #
629
+ field :device_verification_uri, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('deviceVerificationUri') } }
630
+ # The verification URI for the device flow with a placeholder for a user code. This URI is used
631
+ # to build the value of the `verification_uri_complete` parameter in responses from the device
632
+ # authorization endpoint.
633
+ #
634
+ # It is expected that the URI contains a fixed string `USER_CODE` somewhere as a placeholder for
635
+ # a user code. For example, like the following.
636
+ #
637
+ # `https://example.com/device?user\_code=USER\_CODE`
638
+ #
639
+ # The fixed string is replaced with an actual user code when Authlete builds a verification URI
640
+ # with a user code for the `verification_uri_complete` parameter.
641
+ #
642
+ # If this URI is not set, the `verification_uri_complete` parameter won't appear in device authorization
643
+ # responses.
644
+ #
645
+ field :device_verification_uri_complete, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('deviceVerificationUriComplete') } }
646
+ # The duration of device verification codes and end-user verification codes issued from the device
647
+ # authorization endpoint in seconds. This is used as the value of the `expires_in` property in responses
648
+ # from the device authorization endpoint.
649
+ #
650
+ field :device_flow_code_duration, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('deviceFlowCodeDuration') } }
651
+ # The minimum interval between polling requests to the token endpoint from client applications in
652
+ # seconds in device flow. This is used as the value of the `interval` property in responses from
653
+ # the device authorization endpoint.
654
+ #
655
+ field :device_flow_polling_interval, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('deviceFlowPollingInterval') } }
656
+ # The character set for end-user verification codes (`user_code`) for Device Flow.
657
+ #
658
+ field :user_code_charset, Crystalline::Nilable.new(Models::Components::UserCodeCharset), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('userCodeCharset'), 'decoder': Utils.enum_from_string(Models::Components::UserCodeCharset, true) } }
659
+ # The length of end-user verification codes (`user_code`) for Device Flow.
660
+ #
661
+ field :user_code_length, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('userCodeLength') } }
662
+ # Trust frameworks supported by this service. This corresponds to the `trust_frameworks_supported`
663
+ # [metadata](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#rfc.section.7).
664
+ #
665
+ field :supported_trust_frameworks, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('supportedTrustFrameworks') } }
666
+ # Evidence supported by this service. This corresponds to the `evidence_supported` [metadata](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#rfc.section.7).
667
+ #
668
+ field :supported_evidence, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('supportedEvidence') } }
669
+ # Identity documents supported by this service. This corresponds to the `id_documents_supported`
670
+ # [metadata](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#rfc.section.7).
671
+ #
672
+ field :supported_identity_documents, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('supportedIdentityDocuments') } }
673
+ # Verification methods supported by this service. This corresponds to the `id_documents_verification_methods_supported`
674
+ # [metadata](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#rfc.section.7).
675
+ #
676
+ field :supported_verification_methods, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('supportedVerificationMethods') } }
677
+ # Verified claims supported by this service. This corresponds to the `claims_in_verified_claims_supported`
678
+ # [metadata](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#rfc.section.7).
679
+ #
680
+ field :supported_verified_claims, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('supportedVerifiedClaims') } }
681
+ # The verified claims validation schema set.
682
+ #
683
+ field :verified_claims_validation_schema_set, Crystalline::Nilable.new(Models::Components::VerifiedClaimsValidationSchema), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('verifiedClaimsValidationSchemaSet'), 'decoder': Utils.enum_from_string(Models::Components::VerifiedClaimsValidationSchema, true) } }
684
+ # The attributes of this service.
685
+ #
686
+ field :attributes, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::Pair)), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('attributes') } }
687
+ # The flag indicating whether the nbf claim in the request object is optional even when the authorization
688
+ # request is regarded as a FAPI-Part2 request.
689
+ #
690
+ # The final version of Financial-grade API was approved in January, 2021. The Part 2 of the final
691
+ # version has new requirements on lifetime of request objects. They require that request objects
692
+ # contain an `nbf` claim and the lifetime computed by `exp` - `nbf` be no longer than 60 minutes.
693
+ #
694
+ # Therefore, when an authorization request is regarded as a FAPI-Part2 request, the request object
695
+ # used in the authorization request must contain an nbf claim. Otherwise, the authorization server
696
+ # rejects the authorization request.
697
+ #
698
+ # When this flag is `true`, the `nbf` claim is treated as an optional claim even when the authorization
699
+ # request is regarded as a FAPI-Part2 request. That is, the authorization server does not perform
700
+ # the validation on lifetime of the request object.
701
+ #
702
+ # Skipping the validation is a violation of the FAPI specification. The reason why this flag has
703
+ # been prepared nevertheless is that the new requirements (which do not exist in the Implementer's
704
+ # Draft 2 released in October, 2018) have big impacts on deployed implementations of client
705
+ # applications and Authlete thinks there should be a mechanism whereby to make the migration
706
+ # from ID2 to Final smooth without breaking live systems.
707
+ #
708
+ field :nbf_optional, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('nbfOptional') } }
709
+ # The flag indicating whether generation of the iss response parameter is suppressed.
710
+ #
711
+ # "OAuth 2.0 Authorization Server Issuer Identifier in Authorization Response" has defined a new
712
+ # authorization response parameter, `iss`, as a countermeasure for a certain type of mix-up attacks.
713
+ #
714
+ # The specification requires that the `iss` response parameter always be included in authorization
715
+ # responses unless JARM (JWT Secured Authorization Response Mode) is used.
716
+ #
717
+ # When this flag is `true`, the authorization server does not include the `iss` response parameter
718
+ # in authorization responses. By turning this flag on and off, developers of client applications
719
+ # can experiment the mix-up attack and the effect of the `iss` response parameter.
720
+ #
721
+ # Note that this flag should not be `true` in production environment unless there are special
722
+ # reasons for it.
723
+ #
724
+ field :iss_suppressed, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('issSuppressed') } }
725
+ # custom client metadata supported by this service.
726
+ #
727
+ # Standard specifications define client metadata as necessary. The following are such examples.
728
+ #
729
+ # * [OpenID Connect Dynamic Client Registration 1.0](https://openid.net/specs/openid-connect-registration-1_0.html)
730
+ # * [RFC 7591 OAuth 2.0 Dynamic Client Registration Protocol](https://www.rfc-editor.org/rfc/rfc7591.html)
731
+ # * [RFC 8705 OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens](https://www.rfc-editor.org/rfc/rfc8705.html)
732
+ # * [OpenID Connect Client-Initiated Backchannel Authentication Flow - Core 1.0](https://openid.net/specs/openid-client-initiated-backchannel-authentication-core-1_0.html)
733
+ # * [The OAuth 2.0 Authorization Framework: JWT Secured Authorization Request (JAR)](https://datatracker.ietf.org/doc/draft-ietf-oauth-jwsreq/)
734
+ # * [Financial-grade API: JWT Secured Authorization Response Mode for OAuth 2.0 (JARM)](https://openid.net/specs/openid-financial-api-jarm.html)
735
+ # * [OAuth 2.0 Pushed Authorization Requests (PAR)](https://datatracker.ietf.org/doc/rfc9126/)
736
+ # * [OAuth 2.0 Rich Authorization Requests (RAR)](https://datatracker.ietf.org/doc/draft-ietf-oauth-rar/)
737
+ #
738
+ # Standard client metadata included in Client Registration Request and Client Update Request (cf.
739
+ # [OIDC DynReg](https://openid.net/specs/openid-connect-registration-1_0.html), [RFC 7591](https://www.rfc-editor.org/rfc/rfc7591.html)
740
+ # and [RFC 7592](https://www.rfc-editor.org/rfc/rfc7592.html)) are, if supported by Authlete, stored
741
+ # into Authlete database. On the other hand, unrecognized client metadata are discarded.
742
+ #
743
+ # By listing up custom client metadata in advance by using this property (`supportedCustomClientMetadata`),
744
+ # Authlete can recognize them and stores their values into the database. The stored custom client
745
+ # metadata values can be referenced by `customMetadata`.
746
+ #
747
+ field :supported_custom_client_metadata, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('supportedCustomClientMetadata') } }
748
+ # The flag indicating whether the expiration date of an access token never exceeds that of the
749
+ # corresponding refresh token.
750
+ #
751
+ # When a new access token is issued by a refresh token request (= a token request with `grant_type=refresh_token`),
752
+ # the expiration date of the access token may exceed the expiration date of the corresponding
753
+ # refresh token. This behavior itself is not wrong and may happen when `refreshTokenKept` is
754
+ # `true` and/or when `refreshTokenDurationKept` is `true`.
755
+ #
756
+ # When this flag is `true`, the expiration date of an access token never exceeds that of the corresponding
757
+ # refresh token regardless of the calculated duration based on other settings such as `accessTokenDuration`,
758
+ # `accessTokenDuration` in `extension` and `access_token.duration` scope attribute.
759
+ #
760
+ # It is technically possible to set a value which is bigger than the duration of refresh tokens
761
+ # as the duration of access tokens although it is strange. In the case, the duration of an access
762
+ # token becomes longer than the duration of the refresh token which is issued together with the
763
+ # access token. Even if the duration values are configured so, if this flag is `true`, the expiration
764
+ # date of the access token does not exceed that of the refresh token. That is, the duration of
765
+ # the access token will be shortened, and as a result, the access token and the refresh token
766
+ # will have the same expiration date.
767
+ #
768
+ field :token_expiration_linked, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('tokenExpirationLinked') } }
769
+ # The flag indicating whether encryption of request object is required when the request object
770
+ # is passed through the front channel.
771
+ #
772
+ # This flag does not affect the processing of request objects at the Pushed Authorization Request
773
+ # Endpoint, which is defined in [OAuth 2.0 Pushed Authorization Requests](https://datatracker.ietf.org/doc/rfc9126/).
774
+ # Unecrypted request objects are accepted at the endpoint even if this flag is `true`.
775
+ #
776
+ # This flag does not indicate whether a request object is always required. There is a different
777
+ # flag, `requestObjectRequired`, for the purpose. See the description of `requestObjectRequired`
778
+ # for details.
779
+ #
780
+ # Even if this flag is `false`, encryption of request object is required if the `frontChannelRequestObjectEncryptionRequired`
781
+ # flag of the client is `true`.
782
+ #
783
+ field :front_channel_request_object_encryption_required, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('frontChannelRequestObjectEncryptionRequired') } }
784
+ # The flag indicating whether the JWE alg of encrypted request object must match the `request_object_encryption_alg`
785
+ # client metadata of the client that has sent the request object.
786
+ #
787
+ # The request_object_encryption_alg client metadata itself is defined in [OpenID Connect Dynamic
788
+ # Client Registration 1.0](https://openid.net/specs/openid-connect-registration-1_0.html) as follows.
789
+ #
790
+ # > request_object_encryption_alg
791
+ # >
792
+ # > OPTIONAL. JWE [JWE] alg algorithm [JWA] the RP is declaring that it may use for encrypting
793
+ # Request Objects sent to the OP. This parameter SHOULD be included when symmetric encryption
794
+ # will be used, since this signals to the OP that a client_secret value needs to be returned
795
+ # from which the symmetric key will be derived, that might not otherwise be returned. The RP
796
+ # MAY still use other supported encryption algorithms or send unencrypted Request Objects, even
797
+ # when this parameter is present. If both signing and encryption are requested, the Request Object
798
+ # will be signed then encrypted, with the result being a Nested JWT, as defined in [JWT]. The
799
+ # default, if omitted, is that the RP is not declaring whether it might encrypt any Request Objects.
800
+ #
801
+ # The point here is "The RP MAY still use other supported encryption algorithms or send unencrypted
802
+ # Request Objects, even when this parameter is present."
803
+ #
804
+ # The Client's property that represents the client metadata is `requestEncryptionAlg`. See the
805
+ # description of `requestEncryptionAlg` for details.
806
+ #
807
+ # Even if this flag is `false`, the match is required if the `requestObjectEncryptionAlgMatchRequired`
808
+ # flag of the client is `true`.
809
+ #
810
+ field :request_object_encryption_alg_match_required, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('requestObjectEncryptionAlgMatchRequired') } }
811
+ # The flag indicating whether the JWE `enc` of encrypted request object must match the `request_object_encryption_enc`
812
+ # client metadata of the client that has sent the request object.
813
+ #
814
+ # The `request_object_encryption_enc` client metadata itself is defined in [OpenID Connect Dynamic
815
+ # Client Registration 1.0](https://openid.net/specs/openid-connect-registration-1_0.html) as follows.
816
+ #
817
+ # > request_object_encryption_enc
818
+ # >
819
+ # > OPTIONAL. JWE enc algorithm [JWA] the RP is declaring that it may use for encrypting Request
820
+ # Objects sent to the OP. If request_object_encryption_alg is specified, the default for this
821
+ # value is A128CBC-HS256. When request_object_encryption_enc is included, request_object_encryption_alg
822
+ # MUST also be provided.
823
+ #
824
+ # The Client's property that represents the client metadata is `requestEncryptionEnc`. See the
825
+ # description of `requestEncryptionEnc` for details.
826
+ #
827
+ # Even if this flag is false, the match is required if the `requestObjectEncryptionEncMatchRequired`
828
+ # flag is `true`.
829
+ #
830
+ field :request_object_encryption_enc_match_required, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('requestObjectEncryptionEncMatchRequired') } }
831
+ # The flag indicating whether HSM (Hardware Security Module) support is enabled for this service.
832
+ #
833
+ # When this flag is `false`, keys managed in HSMs are not used even if they exist. In addition,
834
+ # `/api/hsk/*` APIs reject all requests.
835
+ #
836
+ # Even if this flag is `true`, HSM-related features do not work if the configuration of the Authlete
837
+ # server you are using does not support HSM.
838
+ #
839
+ field :hsm_enabled, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('hsmEnabled') } }
840
+ # The information about keys managed on HSMs (Hardware Security Modules).
841
+ #
842
+ # This `hsks` property is output only, meaning that `hsks` in requests to `/api/service/create`
843
+ # API and `/api/service/update` API do not have any effect. The contents of this property is controlled
844
+ # only by `/api/hsk/*` APIs.
845
+ #
846
+ field :hsks, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::Hsk)), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('hsks') } }
847
+ # The URL of the grant management endpoint.
848
+ #
849
+ field :grant_management_endpoint, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('grantManagementEndpoint') } }
850
+ # The flag indicating whether every authorization request (and any request serving as an authorization
851
+ # request such as CIBA backchannel authentication request and device authorization request) must
852
+ # include the `grant_management_action` request parameter.
853
+ #
854
+ # This property corresponds to the `grant_management_action_required` server metadata defined
855
+ # in [Grant Management for OAuth 2.0](https://openid.net/specs/fapi-grant-management.html).
856
+ #
857
+ # Note that setting true to this property will result in blocking all public clients because
858
+ # the specification requires that grant management be usable only by confidential clients for
859
+ # security reasons.
860
+ #
861
+ field :grant_management_action_required, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('grantManagementActionRequired') } }
862
+ # The flag indicating whether Authlete's `/api/client/registration` API uses `UNAUTHORIZED` as
863
+ # a value of the `action` response parameter when appropriate.
864
+ #
865
+ # The `UNAUTHORIZED` enum value was initially not defined as a possible value of the `action`
866
+ # parameter in an `/api/client/registration` API response. This means that implementations of
867
+ # client `configuration` endpoint were not able to conform to [RFC 7592](https://www.rfc-editor.org/rfc/rfc7592.html)
868
+ # strictly.
869
+ #
870
+ # For backward compatibility (to avoid breaking running systems), Authlete's `/api/client/registration`
871
+ # API does not return the `UNAUTHORIZED` enum value if this flag is not turned on.
872
+ #
873
+ # The steps an existing implementation of client configuration endpoint has to do in order to
874
+ # conform to the requirement related to "401 Unauthorized" are as follows.
875
+ #
876
+ # 1. Update the Authlete library (e.g. authlete-java-common) your system is using.
877
+ # 2. Update your implementation of client configuration endpoint so that it can handle the
878
+ # `UNAUTHORIZED` action.
879
+ # 3. Turn on this `unauthorizedOnClientConfigSupported` flag.
880
+ #
881
+ field :unauthorized_on_client_config_supported, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('unauthorizedOnClientConfigSupported') } }
882
+ # The flag indicating whether the `scope` request parameter in dynamic client registration and
883
+ # update requests (RFC 7591 and RFC 7592) is used as scopes that the client can request.
884
+ #
885
+ # Limiting the range of scopes that a client can request is achieved by listing scopes in the
886
+ # `client.extension.requestableScopes` property and setting the `client.extension.requestableScopesEnabled`
887
+ # property to `true`. This feature is called "requestable scopes".
888
+ #
889
+ # This property affects behaviors of `/api/client/registration` and other family APIs.
890
+ #
891
+ field :dcr_scope_used_as_requestable, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('dcrScopeUsedAsRequestable') } }
892
+ # The endpoint for clients ending the sessions.
893
+ #
894
+ # A URL that starts with `https://` and has no fragment component. For example, `https://example.com/auth/endSession`.
895
+ #
896
+ # The value of this property is used as `end_session_endpoint` property in the [OpenID Provider
897
+ # Metadata](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).
898
+ #
899
+ field :end_session_endpoint, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('endSessionEndpoint') } }
900
+ # The flag indicating whether the port number component of redirection URIs can be variable when
901
+ # the host component indicates loopback.
902
+ #
903
+ # When this flag is `true`, if the host component of a redirection URI specified in an authorization
904
+ # request indicates loopback (to be precise, when the host component is localhost, `127.0.0.1`
905
+ # or `::1`), the port number component is ignored when the specified redirection URI is compared
906
+ # to pre-registered ones. This behavior is described in [7.3. Loopback Interface Redirection](
907
+ # https://www.rfc-editor.org/rfc/rfc8252.html#section-7.3) of [RFC 8252 OAuth 2.0](https://www.rfc-editor.org/rfc/rfc8252.html)
908
+ # for Native Apps.
909
+ #
910
+ # [3.1.2.3. Dynamic Configuration](https://www.rfc-editor.org/rfc/rfc6749.html#section-3.1.2.3)
911
+ # of [RFC 6749](https://www.rfc-editor.org/rfc/rfc6749.html) states _"If the client registration
912
+ # included the full redirection URI, the authorization server MUST compare the two URIs using
913
+ # simple string comparison as defined in [RFC3986] Section 6.2.1."_ Also, the description of
914
+ # `redirect_uri` in [3.1.2.1. Authentication Request](https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest)
915
+ # of [OpenID Connect Core 1.0](https://openid.net/specs/openid-connect-core-1_0.html) states
916
+ # _"This URI MUST exactly match one of the Redirection URI values for the Client pre-registered
917
+ # at the OpenID Provider, with the matching performed as described in Section 6.2.1 of [RFC3986]
918
+ # (**Simple String Comparison**)."_ These "Simple String Comparison" requirements are preceded
919
+ # by this flag. That is, even when the conditions described in RFC 6749 and OpenID Connect Core 1.0
920
+ # are satisfied, the port number component of loopback redirection URIs can be variable when this
921
+ # flag is `true`.
922
+ #
923
+ # [8.3. Loopback Redirect Considerations](https://www.rfc-editor.org/rfc/rfc8252.html#section-8.3)
924
+ # of [RFC 8252](https://www.rfc-editor.org/rfc/rfc8252.html) states as follows.
925
+ #
926
+ # > While redirect URIs using localhost (i.e., `"http://localhost:{port}/{path}"`) function
927
+ # similarly to loopback IP redirects described in Section 7.3, the use of localhost is NOT RECOMMENDED.
928
+ # Specifying a redirect URI with the loopback IP literal rather than localhost avoids inadvertently
929
+ # listening on network interfaces other than the loopback interface. It is also less susceptible
930
+ # to client-side firewalls and misconfigured host name resolution on the user's device.
931
+ #
932
+ # However, Authlete allows the port number component to be variable in the case of `localhost`,
933
+ # too. It is left to client applications whether they use `localhost` or a literal loopback IP
934
+ # address (`127.0.0.1` for IPv4 or `::1` for IPv6).
935
+ #
936
+ # Section 7.3 and Section 8.3 of [RFC 8252](https://www.rfc-editor.org/rfc/rfc8252.html) state
937
+ # that loopback redirection URIs use the `"http"` scheme, but Authlete allows the port number
938
+ # component to be variable in other cases (e.g. in the case of the `"https"` scheme), too.
939
+ #
940
+ field :loopback_redirection_uri_variable, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('loopbackRedirectionUriVariable') } }
941
+ # The flag indicating whether Authlete checks whether the `aud` claim of request objects matches
942
+ # the issuer identifier of this service.
943
+ #
944
+ # [Section 6.1. Passing a Request Object by Value](https://openid.net/specs/openid-connect-core-1_0.html#JWTRequests)
945
+ # of [OpenID Connect Core 1.0](https://openid.net/specs/openid-connect-core-1_0.html) has the following
946
+ # statement.
947
+ #
948
+ # > The `aud` value SHOULD be or include the OP's Issuer Identifier URL.
949
+ #
950
+ # Likewise, [Section 4. Request Object](https://www.rfc-editor.org/rfc/rfc9101.html#section-4) of
951
+ # [RFC 9101](https://www.rfc-editor.org/rfc/rfc9101.html) (The OAuth 2.0 Authorization Framework:
952
+ # JWT-Secured Authorization Request (JAR)) has the following statement.
953
+ #
954
+ # > The value of aud should be the value of the authorization server (AS) issuer, as defined in
955
+ # [RFC 8414](https://www.rfc-editor.org/rfc/rfc8414.html).
956
+ #
957
+ # As excerpted above, validation on the `aud` claim of request objects is optional. However, if
958
+ # this flag is turned on, Authlete checks whether the `aud` claim of request objects matches the issuer
959
+ # identifier of this service and raises an error if they are different.
960
+ #
961
+ field :request_object_audience_checked, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('requestObjectAudienceChecked') } }
962
+ # The flag indicating whether Authlete generates access tokens for
963
+ # external attachments and embeds them in ID tokens and userinfo
964
+ # responses.
965
+ #
966
+ field :access_token_for_external_attachment_embedded, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('accessTokenForExternalAttachmentEmbedded') } }
967
+ # Identifiers of entities that can issue entity statements for this
968
+ # service. This property corresponds to the `authority_hints`
969
+ # property that appears in a self-signed entity statement that is
970
+ # defined in OpenID Connect Federation 1.0.
971
+ #
972
+ field :authority_hints, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('authorityHints') } }
973
+ # flag indicating whether this service supports OpenID Connect Federation 1
974
+ #
975
+ field :federation_enabled, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('federationEnabled') } }
976
+ # JWK Set document containing keys that are used to sign (1) self-signed
977
+ # entity statement of this service and (2) the response from
978
+ # `signed_jwks_uri`.
979
+ #
980
+ field :federation_jwks, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('federationJwks') } }
981
+ # A key ID to identify a JWK used to sign the entity configuration and
982
+ # the signed JWK Set.
983
+ #
984
+ field :federation_signature_key_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('federationSignatureKeyId') } }
985
+ # The duration of the entity configuration in seconds.
986
+ #
987
+ field :federation_configuration_duration, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('federationConfigurationDuration') } }
988
+ # The URI of the federation registration endpoint. This property corresponds
989
+ # to the `federation_registration_endpoint` server metadata that is
990
+ # defined in OpenID Connect Federation 1.0.
991
+ #
992
+ field :federation_registration_endpoint, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('federationRegistrationEndpoint') } }
993
+ # The human-readable name representing the organization that operates
994
+ # this service. This property corresponds to the `organization_name`
995
+ # server metadata that is defined in OpenID Connect Federation 1.0.
996
+ #
997
+ field :organization_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('organizationName') } }
998
+ # The transformed claims predefined by this service in JSON format.
999
+ # This property corresponds to the `transformed_claims_predefined`
1000
+ # server metadata.
1001
+ #
1002
+ field :predefined_transformed_claims, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('predefinedTransformedClaims') } }
1003
+ # flag indicating whether refresh token requests with the same
1004
+ # refresh token can be made multiple times in quick succession and
1005
+ # they can obtain the same renewed refresh token within the short
1006
+ # period.
1007
+ #
1008
+ field :refresh_token_idempotent, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('refreshTokenIdempotent') } }
1009
+ # The URI of the endpoint that returns this service's JWK Set document in
1010
+ # the JWT format. This property corresponds to the `signed_jwks_uri`
1011
+ # server metadata defined in OpenID Connect Federation 1.0.
1012
+ #
1013
+ field :signed_jwks_uri, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('signedJwksUri') } }
1014
+ # Supported attachment types. This property corresponds to the {@code
1015
+ # attachments_supported} server metadata which was added by the third
1016
+ # implementer's draft of OpenID Connect for Identity Assurance 1.0.
1017
+ #
1018
+ field :supported_attachments, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::AttachmentType)), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('supportedAttachments') } }
1019
+ # Supported algorithms used to compute digest values of external
1020
+ # attachments. This property corresponds to the
1021
+ # `digest_algorithms_supported` server metadata which was added
1022
+ # by the third implementer's draft of OpenID Connect for Identity
1023
+ # Assurance 1.0.
1024
+ #
1025
+ field :supported_digest_algorithms, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('supportedDigestAlgorithms') } }
1026
+ # Document types supported by this service. This property corresponds
1027
+ # to the `documents_supported` server metadata.
1028
+ #
1029
+ field :supported_documents, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('supportedDocuments') } }
1030
+ # validation and verification processes supported by this service.
1031
+ # This property corresponds to the `documents_methods_supported`
1032
+ # server metadata.
1033
+ #
1034
+ # The third implementer's draft of [OpenID Connect for Identity Assurance 1.0](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html)
1035
+ # renamed the
1036
+ # `id_documents_verification_methods_supported` server metadata to
1037
+ # `documents_methods_supported`.
1038
+ #
1039
+ field :supported_documents_methods, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('supportedDocumentsMethods') } }
1040
+ # Document validation methods supported by this service. This property
1041
+ # corresponds to the `documents\_validation\_methods\_supported` server
1042
+ # metadata which was added by the third implementer's draft of
1043
+ #
1044
+ field :supported_documents_validation_methods, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('supportedDocumentsValidationMethods') } }
1045
+ # Document verification methods supported by this service. This property
1046
+ # corresponds to the `documents_verification_methods_supported` server
1047
+ # metadata which was added by the third implementer's draft of
1048
+ # [OpenID Connect for Identity Assurance 1.0](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html)
1049
+ #
1050
+ field :supported_documents_verification_methods, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('supportedDocumentsVerificationMethods') } }
1051
+ # Electronic record types supported by this service. This property
1052
+ # corresponds to the `electronic_records_supported` server metadata
1053
+ # which was added by the third implementer's draft of
1054
+ # [OpenID Connect for Identity Assurance 1.0](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html)
1055
+ #
1056
+ field :supported_electronic_records, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('supportedElectronicRecords') } }
1057
+
1058
+ field :supported_client_registration_types, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::ClientRegistrationType)), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('supportedClientRegistrationTypes') } }
1059
+ # The flag indicating whether to prohibit unidentifiable clients from
1060
+ # making token exchange requests.
1061
+ #
1062
+ field :token_exchange_by_identifiable_clients_only, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('tokenExchangeByIdentifiableClientsOnly') } }
1063
+ # The flag indicating whether to prohibit public clients from making
1064
+ # token exchange requests.
1065
+ #
1066
+ field :token_exchange_by_confidential_clients_only, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('tokenExchangeByConfidentialClientsOnly') } }
1067
+ # The flag indicating whether to prohibit clients that have no explicit
1068
+ # permission from making token exchange requests.
1069
+ #
1070
+ field :token_exchange_by_permitted_clients_only, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('tokenExchangeByPermittedClientsOnly') } }
1071
+ # The flag indicating whether to reject token exchange requests which
1072
+ # use encrypted JWTs as input tokens.
1073
+ #
1074
+ field :token_exchange_encrypted_jwt_rejected, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('tokenExchangeEncryptedJwtRejected') } }
1075
+ # The flag indicating whether to reject token exchange requests which
1076
+ # use unsigned JWTs as input tokens.
1077
+ #
1078
+ field :token_exchange_unsigned_jwt_rejected, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('tokenExchangeUnsignedJwtRejected') } }
1079
+ # The flag indicating whether to prohibit unidentifiable clients from
1080
+ # using the grant type "urn:ietf:params:oauth:grant-type:jwt-bearer".
1081
+ #
1082
+ field :jwt_grant_by_identifiable_clients_only, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('jwtGrantByIdentifiableClientsOnly') } }
1083
+ # The flag indicating whether to reject token requests that use an
1084
+ # encrypted JWT as an authorization grant with the grant type
1085
+ # "urn:ietf:params:oauth:grant-type:jwt-bearer".
1086
+ #
1087
+ field :jwt_grant_encrypted_jwt_rejected, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('jwtGrantEncryptedJwtRejected') } }
1088
+ # The flag indicating whether to reject token requests that use an
1089
+ # unsigned JWT as an authorization grant with the grant type
1090
+ # "urn:ietf:params:oauth:grant-type:jwt-bearer".
1091
+ #
1092
+ field :jwt_grant_unsigned_jwt_rejected, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('jwtGrantUnsignedJwtRejected') } }
1093
+ # The flag indicating whether to block DCR (Dynamic Client Registration)
1094
+ # requests whose "software_id" has already been used previously.
1095
+ #
1096
+ field :dcr_duplicate_software_id_blocked, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('dcrDuplicateSoftwareIdBlocked') } }
1097
+ # The trust anchors that are referenced when this service resolves
1098
+ # trust chains of relying parties.
1099
+ #
1100
+ # If this property is empty, client registration fails regardless of
1101
+ # whether its type is `automatic` or `explicit`. It means
1102
+ # that OpenID Connect Federation 1.0 does not work.
1103
+ #
1104
+ field :trust_anchors, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::TrustAnchor)), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('trustAnchors') } }
1105
+ # The flag indicating whether the openid scope should be dropped from
1106
+ # scopes list assigned to access token issued when a refresh token grant
1107
+ # is used.
1108
+ #
1109
+ field :openid_dropped_on_refresh_without_offline_access, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('openidDroppedOnRefreshWithoutOfflineAccess') } }
1110
+ # Supported document check methods. This property corresponds to the `documents_check_methods_supported`
1111
+ # server metadata which was added by the fourth implementer's draft of OpenID Connect for Identity
1112
+ # Assurance 1.0.
1113
+ #
1114
+ field :supported_documents_check_methods, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('supportedDocumentsCheckMethods') } }
1115
+ # The flag indicating whether this service signs responses from the resource server.
1116
+ #
1117
+ field :rs_response_signed, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('rsResponseSigned') } }
1118
+ # The duration of `c_nonce`.
1119
+ #
1120
+ field :cnonce_duration, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('cnonceDuration') } }
1121
+ # Whether to require DPoP proof JWTs to include the `nonce` claim
1122
+ # whenever they are presented.
1123
+ #
1124
+ field :dpop_nonce_required, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('dpopNonceRequired') } }
1125
+ # Get the flag indicating whether the feature of Verifiable Credentials
1126
+ # for this service is enabled or not.
1127
+ #
1128
+ field :verifiable_credentials_enabled, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('verifiableCredentialsEnabled') } }
1129
+ # The URL at which the JWK Set document of the credential issuer is
1130
+ # exposed.
1131
+ #
1132
+ field :credential_jwks_uri, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('credentialJwksUri') } }
1133
+ # The default duration of credential offers in seconds.
1134
+ #
1135
+ field :credential_offer_duration, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('credentialOfferDuration') } }
1136
+ # The duration of nonce values for DPoP proof JWTs in seconds.
1137
+ #
1138
+ field :dpop_nonce_duration, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('dpopNonceDuration') } }
1139
+ # The flag indicating whether token requests using the pre-authorized
1140
+ # code grant flow by unidentifiable clients are allowed.
1141
+ #
1142
+ field :pre_authorized_grant_anonymous_access_supported, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('preAuthorizedGrantAnonymousAccessSupported') } }
1143
+ # The duration of transaction ID in seconds that may be issued as a
1144
+ # result of a credential request or a batch credential request.
1145
+ #
1146
+ field :credential_transaction_duration, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('credentialTransactionDuration') } }
1147
+ # The key ID of the key for signing introspection responses.
1148
+ #
1149
+ field :introspection_signature_key_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('introspectionSignatureKeyId') } }
1150
+ # The key ID of the key for signing introspection responses.
1151
+ #
1152
+ field :resource_signature_key_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('resourceSignatureKeyId') } }
1153
+ # The default length of user PINs.
1154
+ #
1155
+ field :user_pin_length, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('userPinLength') } }
1156
+ # The supported `prompt` values.
1157
+ #
1158
+ field :supported_prompt_values, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::Prompt)), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('supportedPromptValues') } }
1159
+ # The flag indicating whether to enable the feature of ID token
1160
+ # reissuance in the refresh token flow.
1161
+ #
1162
+ field :id_token_reissuable, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('idTokenReissuable') } }
1163
+ # The JWK Set document containing private keys that are used to sign
1164
+ # verifiable credentials.
1165
+ #
1166
+ field :credential_jwks, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('credentialJwks') } }
1167
+ # FAPI modes for this service.
1168
+ #
1169
+ # When the value of this property is not `null`, Authlete always processes requests to this service based
1170
+ # on the specified FAPI modes if the FAPI feature is enabled in Authlete and the FAPI profile is supported
1171
+ # by this service.
1172
+ #
1173
+ # For instance, when this property is set to an array containing `FAPI1_ADVANCED` only, Authlete always
1174
+ # processes requests to this service based on "Financial-grade API Security Profile 1.0 - Part 2:
1175
+ # Advanced" if the FAPI feature is enabled in Authlete and the FAPI profile is supported by this service.
1176
+ #
1177
+ field :fapi_modes, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::FapiMode)), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('fapiModes') } }
1178
+ # The default duration of verifiable credentials in seconds.
1179
+ #
1180
+ field :credential_duration, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('credentialDuration') } }
1181
+
1182
+ field :credential_issuer_metadata, Crystalline::Nilable.new(Models::Components::CredentialIssuerMetadata), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('credentialIssuerMetadata') } }
1183
+ # The type of the `aud` claim in ID tokens.
1184
+ #
1185
+ field :id_token_aud_type, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('idTokenAudType') } }
1186
+ # Flag that enables the [OpenID Connect Native SSO for Mobile Apps 1.0](https://openid.net/specs/openid-connect-native-sso-1_0.html)
1187
+ # specification (“Native SSO”). When this property is **not** `true`, Native SSO specific parameters are ignored or treated as errors.
1188
+ # For example:
1189
+ #
1190
+ # * The `device_sso` scope has no special meaning (Authlete does not embed the `sid` claim in ID tokens).
1191
+ # * The `urn:openid:params:token-type:device-secret` token type is treated as unknown and results in an error.
1192
+ #
1193
+ # When set to `true`, the server metadata advertises `"native_sso_supported": true`. See [OpenID Connect Discovery 1.0](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata)
1194
+ # and [RFC 8414 §2](https://www.rfc-editor.org/rfc/rfc8414.html#section-2) for background. Native SSO is available in Authlete 3.0 and later.
1195
+ #
1196
+ field :native_sso_supported, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('nativeSsoSupported') } }
1197
+ # Version of the [OpenID for Verifiable Credential Issuance](https://www.authlete.com/developers/oid4vci/) (OID4VCI) specification to support.
1198
+ #
1199
+ # Accepted values are:
1200
+ #
1201
+ # * `null` or `"1.0-ID1"` → Implementer’s Draft 1.
1202
+ # * `"1.0"` or `"1.0-Final"` → Final 1.0 specification.
1203
+ #
1204
+ # Choose the value that matches the OID4VCI behaviour your service should expose. See the OID4VCI documentation for details.
1205
+ #
1206
+ field :oid4vci_version, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('oid4vciVersion') } }
1207
+ # Flag that controls whether the CIMD metadata policy is applied to client
1208
+ # metadata obtained through the Client ID Metadata Document (CIMD)
1209
+ # mechanism.
1210
+ #
1211
+ field :cimd_metadata_policy_enabled, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('cimdMetadataPolicyEnabled') } }
1212
+ # Indicates whether the Client ID Metadata Document (CIMD) mechanism is
1213
+ # supported. When `true`, the service will attempt to retrieve client
1214
+ # metadata via CIMD where applicable.
1215
+ #
1216
+ field :client_id_metadata_document_supported, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('clientIdMetadataDocumentSupported') } }
1217
+ # Enables the allowlist for CIMD. When `true`, only CIMD endpoints that are
1218
+ # on the allowlist are used.
1219
+ #
1220
+ field :cimd_allowlist_enabled, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('cimdAllowlistEnabled') } }
1221
+ # The allowlist of CIMD endpoints (hosts/URIs) that may be used when
1222
+ # retrieving client metadata via Client ID Metadata Documents.
1223
+ #
1224
+ field :cimd_allowlist, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('cimdAllowlist') } }
1225
+ # If `true`, CIMD retrieval is always attempted for clients, regardless of
1226
+ # other conditions.
1227
+ #
1228
+ field :cimd_always_retrieved, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('cimdAlwaysRetrieved') } }
1229
+ # Allows CIMD retrieval over plain HTTP. When `false`, only HTTPS CIMD
1230
+ # endpoints are allowed.
1231
+ #
1232
+ field :cimd_http_permitted, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('cimdHttpPermitted') } }
1233
+ # Allows the use of query parameters when retrieving CIMD metadata. When
1234
+ # `false`, query parameters are disallowed for CIMD requests.
1235
+ #
1236
+ field :cimd_query_permitted, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('cimdQueryPermitted') } }
1237
+ # The metadata policy applied to client metadata obtained through the CIMD
1238
+ # mechanism. The value must follow the metadata policy grammar defined in
1239
+ # [OpenID Federation 1.0 §6.1 Metadata Policy](https://openid.net/specs/openid-federation-1_0.html#name-metadata-policy).
1240
+ #
1241
+ field :cimd_metadata_policy, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('cimdMetadataPolicy') } }
1242
+ # When `true`, client ID aliases starting with `https://` or `http://` are
1243
+ # prohibited.
1244
+ #
1245
+ field :http_alias_prohibited, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('httpAliasProhibited') } }
1246
+ # The signature algorithm for JWT. This value is represented on 'alg' attribute
1247
+ # of the header of JWT.
1248
+ #
1249
+ # it's semantics depends upon where is this defined, for instance:
1250
+ # - as service accessTokenSignAlg value, it defines that access token are JWT and the algorithm used to sign it. Check your [KB article](https://kb.authlete.com/en/s/oauth-and-openid-connect/a/jwt-based-access-token).
1251
+ # - as client authorizationSignAlg value, it represents the signature algorithm used when [creating a JARM response](https://kb.authlete.com/en/s/oauth-and-openid-connect/a/enabling-jarm).
1252
+ # - or as client requestSignAlg value, it specifies which is the expected signature used by [client on a Request Object](https://kb.authlete.com/en/s/oauth-and-openid-connect/a/request-objects).
1253
+ #
1254
+ field :access_token_sign_alg, Crystalline::Nilable.new(Models::Components::JwsAlg), { 'format_json': { 'letter_case': ::Authlete::Utils.field_name('accessTokenSignAlg'), 'decoder': Utils.enum_from_string(Models::Components::JwsAlg, true) } }
1255
+
1256
+ sig { params(number: T.nilable(::Integer), service_name: T.nilable(::String), issuer: T.nilable(::String), description: T.nilable(::String), api_key: T.nilable(::Integer), api_secret: T.nilable(::String), token_batch_notification_endpoint: T.nilable(::String), client_assertion_aud_restricted_to_issuer: T.nilable(T::Boolean), service_owner_number: T.nilable(::Integer), clients_per_developer: T.nilable(::Integer), developer_authentication_callback_endpoint: T.nilable(::String), developer_authentication_callback_api_key: T.nilable(::String), developer_authentication_callback_api_secret: T.nilable(::String), supported_snses: T.nilable(T::Array[Models::Components::SupportedSnse]), sns_credentials: T.nilable(T::Array[Models::Components::SnsCredentials]), client_id_alias_enabled: T.nilable(T::Boolean), metadata: T.nilable(T::Array[Models::Components::Pair]), created_at: T.nilable(::Integer), modified_at: T.nilable(::Integer), authentication_callback_endpoint: T.nilable(::String), authentication_callback_api_key: T.nilable(::String), authentication_callback_api_secret: T.nilable(::String), supported_acrs: T.nilable(T::Array[::String]), supported_grant_types: T.nilable(T::Array[Models::Components::GrantType]), supported_response_types: T.nilable(T::Array[Models::Components::ResponseType]), supported_authorization_details_types: T.nilable(T::Array[::String]), supported_service_profiles: T.nilable(T::Array[Models::Components::ServiceProfile]), error_description_omitted: T.nilable(T::Boolean), error_uri_omitted: T.nilable(T::Boolean), authorization_endpoint: T.nilable(::String), direct_authorization_endpoint_enabled: T.nilable(T::Boolean), supported_ui_locales: T.nilable(T::Array[::String]), supported_displays: T.nilable(T::Array[Models::Components::Display]), pkce_required: T.nilable(T::Boolean), pkce_s256_required: T.nilable(T::Boolean), authorization_response_duration: T.nilable(::Integer), token_endpoint: T.nilable(::String), direct_token_endpoint_enabled: T.nilable(T::Boolean), supported_token_auth_methods: T.nilable(T::Array[Models::Components::ClientAuthMethod]), missing_client_id_allowed: T.nilable(T::Boolean), revocation_endpoint: T.nilable(::String), direct_revocation_endpoint_enabled: T.nilable(T::Boolean), supported_revocation_auth_methods: T.nilable(T::Array[Models::Components::ClientAuthMethod]), introspection_endpoint: T.nilable(::String), direct_introspection_endpoint_enabled: T.nilable(T::Boolean), supported_introspection_auth_methods: T.nilable(T::Array[Models::Components::ClientAuthMethod]), pushed_auth_req_endpoint: T.nilable(::String), pushed_auth_req_duration: T.nilable(::Integer), par_required: T.nilable(T::Boolean), request_object_required: T.nilable(T::Boolean), traditional_request_object_processing_applied: T.nilable(T::Boolean), mutual_tls_validate_pki_cert_chain: T.nilable(T::Boolean), trusted_root_certificates: T.nilable(T::Array[::String]), mtls_endpoint_aliases: T.nilable(T::Array[Models::Components::NamedUri]), access_token_type: T.nilable(::String), tls_client_certificate_bound_access_tokens: T.nilable(T::Boolean), access_token_duration: T.nilable(::Integer), single_access_token_per_subject: T.nilable(T::Boolean), access_token_signature_key_id: T.nilable(::String), refresh_token_duration: T.nilable(::Integer), refresh_token_duration_kept: T.nilable(T::Boolean), refresh_token_duration_reset: T.nilable(T::Boolean), refresh_token_kept: T.nilable(T::Boolean), supported_scopes: T.nilable(T::Array[Models::Components::Scope]), scope_required: T.nilable(T::Boolean), id_token_duration: T.nilable(::Integer), allowable_clock_skew: T.nilable(::Integer), supported_claim_types: T.nilable(T::Array[Models::Components::ClaimType]), supported_claim_locales: T.nilable(T::Array[::String]), supported_claims: T.nilable(T::Array[::String]), claim_shortcut_restrictive: T.nilable(T::Boolean), jwks_uri: T.nilable(::String), direct_jwks_endpoint_enabled: T.nilable(T::Boolean), jwks: T.nilable(::String), id_token_signature_key_id: T.nilable(::String), user_info_signature_key_id: T.nilable(::String), authorization_signature_key_id: T.nilable(::String), user_info_endpoint: T.nilable(::String), direct_user_info_endpoint_enabled: T.nilable(T::Boolean), dynamic_registration_supported: T.nilable(T::Boolean), registration_endpoint: T.nilable(::String), registration_management_endpoint: T.nilable(::String), policy_uri: T.nilable(::String), tos_uri: T.nilable(::String), service_documentation: T.nilable(::String), backchannel_authentication_endpoint: T.nilable(::String), supported_backchannel_token_delivery_modes: T.nilable(T::Array[Models::Components::DeliveryMode]), backchannel_auth_req_id_duration: T.nilable(::Integer), backchannel_polling_interval: T.nilable(::Integer), backchannel_user_code_parameter_supported: T.nilable(T::Boolean), backchannel_binding_message_required_in_fapi: T.nilable(T::Boolean), device_authorization_endpoint: T.nilable(::String), device_verification_uri: T.nilable(::String), device_verification_uri_complete: T.nilable(::String), device_flow_code_duration: T.nilable(::Integer), device_flow_polling_interval: T.nilable(::Integer), user_code_charset: T.nilable(Models::Components::UserCodeCharset), user_code_length: T.nilable(::Integer), supported_trust_frameworks: T.nilable(T::Array[::String]), supported_evidence: T.nilable(T::Array[::String]), supported_identity_documents: T.nilable(T::Array[::String]), supported_verification_methods: T.nilable(T::Array[::String]), supported_verified_claims: T.nilable(T::Array[::String]), verified_claims_validation_schema_set: T.nilable(Models::Components::VerifiedClaimsValidationSchema), attributes: T.nilable(T::Array[Models::Components::Pair]), nbf_optional: T.nilable(T::Boolean), iss_suppressed: T.nilable(T::Boolean), supported_custom_client_metadata: T.nilable(T::Array[::String]), token_expiration_linked: T.nilable(T::Boolean), front_channel_request_object_encryption_required: T.nilable(T::Boolean), request_object_encryption_alg_match_required: T.nilable(T::Boolean), request_object_encryption_enc_match_required: T.nilable(T::Boolean), hsm_enabled: T.nilable(T::Boolean), hsks: T.nilable(T::Array[Models::Components::Hsk]), grant_management_endpoint: T.nilable(::String), grant_management_action_required: T.nilable(T::Boolean), unauthorized_on_client_config_supported: T.nilable(T::Boolean), dcr_scope_used_as_requestable: T.nilable(T::Boolean), end_session_endpoint: T.nilable(::String), loopback_redirection_uri_variable: T.nilable(T::Boolean), request_object_audience_checked: T.nilable(T::Boolean), access_token_for_external_attachment_embedded: T.nilable(T::Boolean), authority_hints: T.nilable(T::Array[::String]), federation_enabled: T.nilable(T::Boolean), federation_jwks: T.nilable(::String), federation_signature_key_id: T.nilable(::String), federation_configuration_duration: T.nilable(::Integer), federation_registration_endpoint: T.nilable(::String), organization_name: T.nilable(::String), predefined_transformed_claims: T.nilable(::String), refresh_token_idempotent: T.nilable(T::Boolean), signed_jwks_uri: T.nilable(::String), supported_attachments: T.nilable(T::Array[Models::Components::AttachmentType]), supported_digest_algorithms: T.nilable(T::Array[::String]), supported_documents: T.nilable(T::Array[::String]), supported_documents_methods: T.nilable(T::Array[::String]), supported_documents_validation_methods: T.nilable(T::Array[::String]), supported_documents_verification_methods: T.nilable(T::Array[::String]), supported_electronic_records: T.nilable(T::Array[::String]), supported_client_registration_types: T.nilable(T::Array[Models::Components::ClientRegistrationType]), token_exchange_by_identifiable_clients_only: T.nilable(T::Boolean), token_exchange_by_confidential_clients_only: T.nilable(T::Boolean), token_exchange_by_permitted_clients_only: T.nilable(T::Boolean), token_exchange_encrypted_jwt_rejected: T.nilable(T::Boolean), token_exchange_unsigned_jwt_rejected: T.nilable(T::Boolean), jwt_grant_by_identifiable_clients_only: T.nilable(T::Boolean), jwt_grant_encrypted_jwt_rejected: T.nilable(T::Boolean), jwt_grant_unsigned_jwt_rejected: T.nilable(T::Boolean), dcr_duplicate_software_id_blocked: T.nilable(T::Boolean), trust_anchors: T.nilable(T::Array[Models::Components::TrustAnchor]), openid_dropped_on_refresh_without_offline_access: T.nilable(T::Boolean), supported_documents_check_methods: T.nilable(T::Array[::String]), rs_response_signed: T.nilable(T::Boolean), cnonce_duration: T.nilable(::Integer), dpop_nonce_required: T.nilable(T::Boolean), verifiable_credentials_enabled: T.nilable(T::Boolean), credential_jwks_uri: T.nilable(::String), credential_offer_duration: T.nilable(::Integer), dpop_nonce_duration: T.nilable(::Integer), pre_authorized_grant_anonymous_access_supported: T.nilable(T::Boolean), credential_transaction_duration: T.nilable(::Integer), introspection_signature_key_id: T.nilable(::String), resource_signature_key_id: T.nilable(::String), user_pin_length: T.nilable(::Integer), supported_prompt_values: T.nilable(T::Array[Models::Components::Prompt]), id_token_reissuable: T.nilable(T::Boolean), credential_jwks: T.nilable(::String), fapi_modes: T.nilable(T::Array[Models::Components::FapiMode]), credential_duration: T.nilable(::Integer), credential_issuer_metadata: T.nilable(Models::Components::CredentialIssuerMetadata), id_token_aud_type: T.nilable(::String), native_sso_supported: T.nilable(T::Boolean), oid4vci_version: T.nilable(::String), cimd_metadata_policy_enabled: T.nilable(T::Boolean), client_id_metadata_document_supported: T.nilable(T::Boolean), cimd_allowlist_enabled: T.nilable(T::Boolean), cimd_allowlist: T.nilable(T::Array[::String]), cimd_always_retrieved: T.nilable(T::Boolean), cimd_http_permitted: T.nilable(T::Boolean), cimd_query_permitted: T.nilable(T::Boolean), cimd_metadata_policy: T.nilable(::String), http_alias_prohibited: T.nilable(T::Boolean), access_token_sign_alg: T.nilable(Models::Components::JwsAlg)).void }
1257
+ def initialize(number: nil, service_name: nil, issuer: nil, description: nil, api_key: nil, api_secret: nil, token_batch_notification_endpoint: nil, client_assertion_aud_restricted_to_issuer: nil, service_owner_number: nil, clients_per_developer: nil, developer_authentication_callback_endpoint: nil, developer_authentication_callback_api_key: nil, developer_authentication_callback_api_secret: nil, supported_snses: nil, sns_credentials: nil, client_id_alias_enabled: nil, metadata: nil, created_at: nil, modified_at: nil, authentication_callback_endpoint: nil, authentication_callback_api_key: nil, authentication_callback_api_secret: nil, supported_acrs: nil, supported_grant_types: nil, supported_response_types: nil, supported_authorization_details_types: nil, supported_service_profiles: nil, error_description_omitted: nil, error_uri_omitted: nil, authorization_endpoint: nil, direct_authorization_endpoint_enabled: nil, supported_ui_locales: nil, supported_displays: nil, pkce_required: nil, pkce_s256_required: nil, authorization_response_duration: nil, token_endpoint: nil, direct_token_endpoint_enabled: nil, supported_token_auth_methods: nil, missing_client_id_allowed: nil, revocation_endpoint: nil, direct_revocation_endpoint_enabled: nil, supported_revocation_auth_methods: nil, introspection_endpoint: nil, direct_introspection_endpoint_enabled: nil, supported_introspection_auth_methods: nil, pushed_auth_req_endpoint: nil, pushed_auth_req_duration: nil, par_required: nil, request_object_required: nil, traditional_request_object_processing_applied: nil, mutual_tls_validate_pki_cert_chain: nil, trusted_root_certificates: nil, mtls_endpoint_aliases: nil, access_token_type: nil, tls_client_certificate_bound_access_tokens: nil, access_token_duration: nil, single_access_token_per_subject: nil, access_token_signature_key_id: nil, refresh_token_duration: nil, refresh_token_duration_kept: nil, refresh_token_duration_reset: nil, refresh_token_kept: nil, supported_scopes: nil, scope_required: nil, id_token_duration: nil, allowable_clock_skew: nil, supported_claim_types: nil, supported_claim_locales: nil, supported_claims: nil, claim_shortcut_restrictive: nil, jwks_uri: nil, direct_jwks_endpoint_enabled: nil, jwks: nil, id_token_signature_key_id: nil, user_info_signature_key_id: nil, authorization_signature_key_id: nil, user_info_endpoint: nil, direct_user_info_endpoint_enabled: nil, dynamic_registration_supported: nil, registration_endpoint: nil, registration_management_endpoint: nil, policy_uri: nil, tos_uri: nil, service_documentation: nil, backchannel_authentication_endpoint: nil, supported_backchannel_token_delivery_modes: nil, backchannel_auth_req_id_duration: nil, backchannel_polling_interval: nil, backchannel_user_code_parameter_supported: nil, backchannel_binding_message_required_in_fapi: nil, device_authorization_endpoint: nil, device_verification_uri: nil, device_verification_uri_complete: nil, device_flow_code_duration: nil, device_flow_polling_interval: nil, user_code_charset: nil, user_code_length: nil, supported_trust_frameworks: nil, supported_evidence: nil, supported_identity_documents: nil, supported_verification_methods: nil, supported_verified_claims: nil, verified_claims_validation_schema_set: nil, attributes: nil, nbf_optional: nil, iss_suppressed: nil, supported_custom_client_metadata: nil, token_expiration_linked: nil, front_channel_request_object_encryption_required: nil, request_object_encryption_alg_match_required: nil, request_object_encryption_enc_match_required: nil, hsm_enabled: nil, hsks: nil, grant_management_endpoint: nil, grant_management_action_required: nil, unauthorized_on_client_config_supported: nil, dcr_scope_used_as_requestable: nil, end_session_endpoint: nil, loopback_redirection_uri_variable: nil, request_object_audience_checked: nil, access_token_for_external_attachment_embedded: nil, authority_hints: nil, federation_enabled: nil, federation_jwks: nil, federation_signature_key_id: nil, federation_configuration_duration: nil, federation_registration_endpoint: nil, organization_name: nil, predefined_transformed_claims: nil, refresh_token_idempotent: nil, signed_jwks_uri: nil, supported_attachments: nil, supported_digest_algorithms: nil, supported_documents: nil, supported_documents_methods: nil, supported_documents_validation_methods: nil, supported_documents_verification_methods: nil, supported_electronic_records: nil, supported_client_registration_types: nil, token_exchange_by_identifiable_clients_only: nil, token_exchange_by_confidential_clients_only: nil, token_exchange_by_permitted_clients_only: nil, token_exchange_encrypted_jwt_rejected: nil, token_exchange_unsigned_jwt_rejected: nil, jwt_grant_by_identifiable_clients_only: nil, jwt_grant_encrypted_jwt_rejected: nil, jwt_grant_unsigned_jwt_rejected: nil, dcr_duplicate_software_id_blocked: nil, trust_anchors: nil, openid_dropped_on_refresh_without_offline_access: nil, supported_documents_check_methods: nil, rs_response_signed: nil, cnonce_duration: nil, dpop_nonce_required: nil, verifiable_credentials_enabled: nil, credential_jwks_uri: nil, credential_offer_duration: nil, dpop_nonce_duration: nil, pre_authorized_grant_anonymous_access_supported: nil, credential_transaction_duration: nil, introspection_signature_key_id: nil, resource_signature_key_id: nil, user_pin_length: nil, supported_prompt_values: nil, id_token_reissuable: nil, credential_jwks: nil, fapi_modes: nil, credential_duration: nil, credential_issuer_metadata: nil, id_token_aud_type: nil, native_sso_supported: nil, oid4vci_version: nil, cimd_metadata_policy_enabled: nil, client_id_metadata_document_supported: nil, cimd_allowlist_enabled: nil, cimd_allowlist: nil, cimd_always_retrieved: nil, cimd_http_permitted: nil, cimd_query_permitted: nil, cimd_metadata_policy: nil, http_alias_prohibited: nil, access_token_sign_alg: nil)
1258
+ @number = number
1259
+ @service_name = service_name
1260
+ @issuer = issuer
1261
+ @description = description
1262
+ @api_key = api_key
1263
+ @api_secret = api_secret
1264
+ @token_batch_notification_endpoint = token_batch_notification_endpoint
1265
+ @client_assertion_aud_restricted_to_issuer = client_assertion_aud_restricted_to_issuer
1266
+ @service_owner_number = service_owner_number
1267
+ @clients_per_developer = clients_per_developer
1268
+ @developer_authentication_callback_endpoint = developer_authentication_callback_endpoint
1269
+ @developer_authentication_callback_api_key = developer_authentication_callback_api_key
1270
+ @developer_authentication_callback_api_secret = developer_authentication_callback_api_secret
1271
+ @supported_snses = supported_snses
1272
+ @sns_credentials = sns_credentials
1273
+ @client_id_alias_enabled = client_id_alias_enabled
1274
+ @metadata = metadata
1275
+ @created_at = created_at
1276
+ @modified_at = modified_at
1277
+ @authentication_callback_endpoint = authentication_callback_endpoint
1278
+ @authentication_callback_api_key = authentication_callback_api_key
1279
+ @authentication_callback_api_secret = authentication_callback_api_secret
1280
+ @supported_acrs = supported_acrs
1281
+ @supported_grant_types = supported_grant_types
1282
+ @supported_response_types = supported_response_types
1283
+ @supported_authorization_details_types = supported_authorization_details_types
1284
+ @supported_service_profiles = supported_service_profiles
1285
+ @error_description_omitted = error_description_omitted
1286
+ @error_uri_omitted = error_uri_omitted
1287
+ @authorization_endpoint = authorization_endpoint
1288
+ @direct_authorization_endpoint_enabled = direct_authorization_endpoint_enabled
1289
+ @supported_ui_locales = supported_ui_locales
1290
+ @supported_displays = supported_displays
1291
+ @pkce_required = pkce_required
1292
+ @pkce_s256_required = pkce_s256_required
1293
+ @authorization_response_duration = authorization_response_duration
1294
+ @token_endpoint = token_endpoint
1295
+ @direct_token_endpoint_enabled = direct_token_endpoint_enabled
1296
+ @supported_token_auth_methods = supported_token_auth_methods
1297
+ @missing_client_id_allowed = missing_client_id_allowed
1298
+ @revocation_endpoint = revocation_endpoint
1299
+ @direct_revocation_endpoint_enabled = direct_revocation_endpoint_enabled
1300
+ @supported_revocation_auth_methods = supported_revocation_auth_methods
1301
+ @introspection_endpoint = introspection_endpoint
1302
+ @direct_introspection_endpoint_enabled = direct_introspection_endpoint_enabled
1303
+ @supported_introspection_auth_methods = supported_introspection_auth_methods
1304
+ @pushed_auth_req_endpoint = pushed_auth_req_endpoint
1305
+ @pushed_auth_req_duration = pushed_auth_req_duration
1306
+ @par_required = par_required
1307
+ @request_object_required = request_object_required
1308
+ @traditional_request_object_processing_applied = traditional_request_object_processing_applied
1309
+ @mutual_tls_validate_pki_cert_chain = mutual_tls_validate_pki_cert_chain
1310
+ @trusted_root_certificates = trusted_root_certificates
1311
+ @mtls_endpoint_aliases = mtls_endpoint_aliases
1312
+ @access_token_type = access_token_type
1313
+ @tls_client_certificate_bound_access_tokens = tls_client_certificate_bound_access_tokens
1314
+ @access_token_duration = access_token_duration
1315
+ @single_access_token_per_subject = single_access_token_per_subject
1316
+ @access_token_signature_key_id = access_token_signature_key_id
1317
+ @refresh_token_duration = refresh_token_duration
1318
+ @refresh_token_duration_kept = refresh_token_duration_kept
1319
+ @refresh_token_duration_reset = refresh_token_duration_reset
1320
+ @refresh_token_kept = refresh_token_kept
1321
+ @supported_scopes = supported_scopes
1322
+ @scope_required = scope_required
1323
+ @id_token_duration = id_token_duration
1324
+ @allowable_clock_skew = allowable_clock_skew
1325
+ @supported_claim_types = supported_claim_types
1326
+ @supported_claim_locales = supported_claim_locales
1327
+ @supported_claims = supported_claims
1328
+ @claim_shortcut_restrictive = claim_shortcut_restrictive
1329
+ @jwks_uri = jwks_uri
1330
+ @direct_jwks_endpoint_enabled = direct_jwks_endpoint_enabled
1331
+ @jwks = jwks
1332
+ @id_token_signature_key_id = id_token_signature_key_id
1333
+ @user_info_signature_key_id = user_info_signature_key_id
1334
+ @authorization_signature_key_id = authorization_signature_key_id
1335
+ @user_info_endpoint = user_info_endpoint
1336
+ @direct_user_info_endpoint_enabled = direct_user_info_endpoint_enabled
1337
+ @dynamic_registration_supported = dynamic_registration_supported
1338
+ @registration_endpoint = registration_endpoint
1339
+ @registration_management_endpoint = registration_management_endpoint
1340
+ @policy_uri = policy_uri
1341
+ @tos_uri = tos_uri
1342
+ @service_documentation = service_documentation
1343
+ @backchannel_authentication_endpoint = backchannel_authentication_endpoint
1344
+ @supported_backchannel_token_delivery_modes = supported_backchannel_token_delivery_modes
1345
+ @backchannel_auth_req_id_duration = backchannel_auth_req_id_duration
1346
+ @backchannel_polling_interval = backchannel_polling_interval
1347
+ @backchannel_user_code_parameter_supported = backchannel_user_code_parameter_supported
1348
+ @backchannel_binding_message_required_in_fapi = backchannel_binding_message_required_in_fapi
1349
+ @device_authorization_endpoint = device_authorization_endpoint
1350
+ @device_verification_uri = device_verification_uri
1351
+ @device_verification_uri_complete = device_verification_uri_complete
1352
+ @device_flow_code_duration = device_flow_code_duration
1353
+ @device_flow_polling_interval = device_flow_polling_interval
1354
+ @user_code_charset = user_code_charset
1355
+ @user_code_length = user_code_length
1356
+ @supported_trust_frameworks = supported_trust_frameworks
1357
+ @supported_evidence = supported_evidence
1358
+ @supported_identity_documents = supported_identity_documents
1359
+ @supported_verification_methods = supported_verification_methods
1360
+ @supported_verified_claims = supported_verified_claims
1361
+ @verified_claims_validation_schema_set = verified_claims_validation_schema_set
1362
+ @attributes = attributes
1363
+ @nbf_optional = nbf_optional
1364
+ @iss_suppressed = iss_suppressed
1365
+ @supported_custom_client_metadata = supported_custom_client_metadata
1366
+ @token_expiration_linked = token_expiration_linked
1367
+ @front_channel_request_object_encryption_required = front_channel_request_object_encryption_required
1368
+ @request_object_encryption_alg_match_required = request_object_encryption_alg_match_required
1369
+ @request_object_encryption_enc_match_required = request_object_encryption_enc_match_required
1370
+ @hsm_enabled = hsm_enabled
1371
+ @hsks = hsks
1372
+ @grant_management_endpoint = grant_management_endpoint
1373
+ @grant_management_action_required = grant_management_action_required
1374
+ @unauthorized_on_client_config_supported = unauthorized_on_client_config_supported
1375
+ @dcr_scope_used_as_requestable = dcr_scope_used_as_requestable
1376
+ @end_session_endpoint = end_session_endpoint
1377
+ @loopback_redirection_uri_variable = loopback_redirection_uri_variable
1378
+ @request_object_audience_checked = request_object_audience_checked
1379
+ @access_token_for_external_attachment_embedded = access_token_for_external_attachment_embedded
1380
+ @authority_hints = authority_hints
1381
+ @federation_enabled = federation_enabled
1382
+ @federation_jwks = federation_jwks
1383
+ @federation_signature_key_id = federation_signature_key_id
1384
+ @federation_configuration_duration = federation_configuration_duration
1385
+ @federation_registration_endpoint = federation_registration_endpoint
1386
+ @organization_name = organization_name
1387
+ @predefined_transformed_claims = predefined_transformed_claims
1388
+ @refresh_token_idempotent = refresh_token_idempotent
1389
+ @signed_jwks_uri = signed_jwks_uri
1390
+ @supported_attachments = supported_attachments
1391
+ @supported_digest_algorithms = supported_digest_algorithms
1392
+ @supported_documents = supported_documents
1393
+ @supported_documents_methods = supported_documents_methods
1394
+ @supported_documents_validation_methods = supported_documents_validation_methods
1395
+ @supported_documents_verification_methods = supported_documents_verification_methods
1396
+ @supported_electronic_records = supported_electronic_records
1397
+ @supported_client_registration_types = supported_client_registration_types
1398
+ @token_exchange_by_identifiable_clients_only = token_exchange_by_identifiable_clients_only
1399
+ @token_exchange_by_confidential_clients_only = token_exchange_by_confidential_clients_only
1400
+ @token_exchange_by_permitted_clients_only = token_exchange_by_permitted_clients_only
1401
+ @token_exchange_encrypted_jwt_rejected = token_exchange_encrypted_jwt_rejected
1402
+ @token_exchange_unsigned_jwt_rejected = token_exchange_unsigned_jwt_rejected
1403
+ @jwt_grant_by_identifiable_clients_only = jwt_grant_by_identifiable_clients_only
1404
+ @jwt_grant_encrypted_jwt_rejected = jwt_grant_encrypted_jwt_rejected
1405
+ @jwt_grant_unsigned_jwt_rejected = jwt_grant_unsigned_jwt_rejected
1406
+ @dcr_duplicate_software_id_blocked = dcr_duplicate_software_id_blocked
1407
+ @trust_anchors = trust_anchors
1408
+ @openid_dropped_on_refresh_without_offline_access = openid_dropped_on_refresh_without_offline_access
1409
+ @supported_documents_check_methods = supported_documents_check_methods
1410
+ @rs_response_signed = rs_response_signed
1411
+ @cnonce_duration = cnonce_duration
1412
+ @dpop_nonce_required = dpop_nonce_required
1413
+ @verifiable_credentials_enabled = verifiable_credentials_enabled
1414
+ @credential_jwks_uri = credential_jwks_uri
1415
+ @credential_offer_duration = credential_offer_duration
1416
+ @dpop_nonce_duration = dpop_nonce_duration
1417
+ @pre_authorized_grant_anonymous_access_supported = pre_authorized_grant_anonymous_access_supported
1418
+ @credential_transaction_duration = credential_transaction_duration
1419
+ @introspection_signature_key_id = introspection_signature_key_id
1420
+ @resource_signature_key_id = resource_signature_key_id
1421
+ @user_pin_length = user_pin_length
1422
+ @supported_prompt_values = supported_prompt_values
1423
+ @id_token_reissuable = id_token_reissuable
1424
+ @credential_jwks = credential_jwks
1425
+ @fapi_modes = fapi_modes
1426
+ @credential_duration = credential_duration
1427
+ @credential_issuer_metadata = credential_issuer_metadata
1428
+ @id_token_aud_type = id_token_aud_type
1429
+ @native_sso_supported = native_sso_supported
1430
+ @oid4vci_version = oid4vci_version
1431
+ @cimd_metadata_policy_enabled = cimd_metadata_policy_enabled
1432
+ @client_id_metadata_document_supported = client_id_metadata_document_supported
1433
+ @cimd_allowlist_enabled = cimd_allowlist_enabled
1434
+ @cimd_allowlist = cimd_allowlist
1435
+ @cimd_always_retrieved = cimd_always_retrieved
1436
+ @cimd_http_permitted = cimd_http_permitted
1437
+ @cimd_query_permitted = cimd_query_permitted
1438
+ @cimd_metadata_policy = cimd_metadata_policy
1439
+ @http_alias_prohibited = http_alias_prohibited
1440
+ @access_token_sign_alg = access_token_sign_alg
1441
+ end
1442
+
1443
+ sig { params(other: T.untyped).returns(T::Boolean) }
1444
+ def ==(other)
1445
+ return false unless other.is_a? self.class
1446
+ return false unless @number == other.number
1447
+ return false unless @service_name == other.service_name
1448
+ return false unless @issuer == other.issuer
1449
+ return false unless @description == other.description
1450
+ return false unless @api_key == other.api_key
1451
+ return false unless @api_secret == other.api_secret
1452
+ return false unless @token_batch_notification_endpoint == other.token_batch_notification_endpoint
1453
+ return false unless @client_assertion_aud_restricted_to_issuer == other.client_assertion_aud_restricted_to_issuer
1454
+ return false unless @service_owner_number == other.service_owner_number
1455
+ return false unless @clients_per_developer == other.clients_per_developer
1456
+ return false unless @developer_authentication_callback_endpoint == other.developer_authentication_callback_endpoint
1457
+ return false unless @developer_authentication_callback_api_key == other.developer_authentication_callback_api_key
1458
+ return false unless @developer_authentication_callback_api_secret == other.developer_authentication_callback_api_secret
1459
+ return false unless @supported_snses == other.supported_snses
1460
+ return false unless @sns_credentials == other.sns_credentials
1461
+ return false unless @client_id_alias_enabled == other.client_id_alias_enabled
1462
+ return false unless @metadata == other.metadata
1463
+ return false unless @created_at == other.created_at
1464
+ return false unless @modified_at == other.modified_at
1465
+ return false unless @authentication_callback_endpoint == other.authentication_callback_endpoint
1466
+ return false unless @authentication_callback_api_key == other.authentication_callback_api_key
1467
+ return false unless @authentication_callback_api_secret == other.authentication_callback_api_secret
1468
+ return false unless @supported_acrs == other.supported_acrs
1469
+ return false unless @supported_grant_types == other.supported_grant_types
1470
+ return false unless @supported_response_types == other.supported_response_types
1471
+ return false unless @supported_authorization_details_types == other.supported_authorization_details_types
1472
+ return false unless @supported_service_profiles == other.supported_service_profiles
1473
+ return false unless @error_description_omitted == other.error_description_omitted
1474
+ return false unless @error_uri_omitted == other.error_uri_omitted
1475
+ return false unless @authorization_endpoint == other.authorization_endpoint
1476
+ return false unless @direct_authorization_endpoint_enabled == other.direct_authorization_endpoint_enabled
1477
+ return false unless @supported_ui_locales == other.supported_ui_locales
1478
+ return false unless @supported_displays == other.supported_displays
1479
+ return false unless @pkce_required == other.pkce_required
1480
+ return false unless @pkce_s256_required == other.pkce_s256_required
1481
+ return false unless @authorization_response_duration == other.authorization_response_duration
1482
+ return false unless @token_endpoint == other.token_endpoint
1483
+ return false unless @direct_token_endpoint_enabled == other.direct_token_endpoint_enabled
1484
+ return false unless @supported_token_auth_methods == other.supported_token_auth_methods
1485
+ return false unless @missing_client_id_allowed == other.missing_client_id_allowed
1486
+ return false unless @revocation_endpoint == other.revocation_endpoint
1487
+ return false unless @direct_revocation_endpoint_enabled == other.direct_revocation_endpoint_enabled
1488
+ return false unless @supported_revocation_auth_methods == other.supported_revocation_auth_methods
1489
+ return false unless @introspection_endpoint == other.introspection_endpoint
1490
+ return false unless @direct_introspection_endpoint_enabled == other.direct_introspection_endpoint_enabled
1491
+ return false unless @supported_introspection_auth_methods == other.supported_introspection_auth_methods
1492
+ return false unless @pushed_auth_req_endpoint == other.pushed_auth_req_endpoint
1493
+ return false unless @pushed_auth_req_duration == other.pushed_auth_req_duration
1494
+ return false unless @par_required == other.par_required
1495
+ return false unless @request_object_required == other.request_object_required
1496
+ return false unless @traditional_request_object_processing_applied == other.traditional_request_object_processing_applied
1497
+ return false unless @mutual_tls_validate_pki_cert_chain == other.mutual_tls_validate_pki_cert_chain
1498
+ return false unless @trusted_root_certificates == other.trusted_root_certificates
1499
+ return false unless @mtls_endpoint_aliases == other.mtls_endpoint_aliases
1500
+ return false unless @access_token_type == other.access_token_type
1501
+ return false unless @tls_client_certificate_bound_access_tokens == other.tls_client_certificate_bound_access_tokens
1502
+ return false unless @access_token_duration == other.access_token_duration
1503
+ return false unless @single_access_token_per_subject == other.single_access_token_per_subject
1504
+ return false unless @access_token_signature_key_id == other.access_token_signature_key_id
1505
+ return false unless @refresh_token_duration == other.refresh_token_duration
1506
+ return false unless @refresh_token_duration_kept == other.refresh_token_duration_kept
1507
+ return false unless @refresh_token_duration_reset == other.refresh_token_duration_reset
1508
+ return false unless @refresh_token_kept == other.refresh_token_kept
1509
+ return false unless @supported_scopes == other.supported_scopes
1510
+ return false unless @scope_required == other.scope_required
1511
+ return false unless @id_token_duration == other.id_token_duration
1512
+ return false unless @allowable_clock_skew == other.allowable_clock_skew
1513
+ return false unless @supported_claim_types == other.supported_claim_types
1514
+ return false unless @supported_claim_locales == other.supported_claim_locales
1515
+ return false unless @supported_claims == other.supported_claims
1516
+ return false unless @claim_shortcut_restrictive == other.claim_shortcut_restrictive
1517
+ return false unless @jwks_uri == other.jwks_uri
1518
+ return false unless @direct_jwks_endpoint_enabled == other.direct_jwks_endpoint_enabled
1519
+ return false unless @jwks == other.jwks
1520
+ return false unless @id_token_signature_key_id == other.id_token_signature_key_id
1521
+ return false unless @user_info_signature_key_id == other.user_info_signature_key_id
1522
+ return false unless @authorization_signature_key_id == other.authorization_signature_key_id
1523
+ return false unless @user_info_endpoint == other.user_info_endpoint
1524
+ return false unless @direct_user_info_endpoint_enabled == other.direct_user_info_endpoint_enabled
1525
+ return false unless @dynamic_registration_supported == other.dynamic_registration_supported
1526
+ return false unless @registration_endpoint == other.registration_endpoint
1527
+ return false unless @registration_management_endpoint == other.registration_management_endpoint
1528
+ return false unless @policy_uri == other.policy_uri
1529
+ return false unless @tos_uri == other.tos_uri
1530
+ return false unless @service_documentation == other.service_documentation
1531
+ return false unless @backchannel_authentication_endpoint == other.backchannel_authentication_endpoint
1532
+ return false unless @supported_backchannel_token_delivery_modes == other.supported_backchannel_token_delivery_modes
1533
+ return false unless @backchannel_auth_req_id_duration == other.backchannel_auth_req_id_duration
1534
+ return false unless @backchannel_polling_interval == other.backchannel_polling_interval
1535
+ return false unless @backchannel_user_code_parameter_supported == other.backchannel_user_code_parameter_supported
1536
+ return false unless @backchannel_binding_message_required_in_fapi == other.backchannel_binding_message_required_in_fapi
1537
+ return false unless @device_authorization_endpoint == other.device_authorization_endpoint
1538
+ return false unless @device_verification_uri == other.device_verification_uri
1539
+ return false unless @device_verification_uri_complete == other.device_verification_uri_complete
1540
+ return false unless @device_flow_code_duration == other.device_flow_code_duration
1541
+ return false unless @device_flow_polling_interval == other.device_flow_polling_interval
1542
+ return false unless @user_code_charset == other.user_code_charset
1543
+ return false unless @user_code_length == other.user_code_length
1544
+ return false unless @supported_trust_frameworks == other.supported_trust_frameworks
1545
+ return false unless @supported_evidence == other.supported_evidence
1546
+ return false unless @supported_identity_documents == other.supported_identity_documents
1547
+ return false unless @supported_verification_methods == other.supported_verification_methods
1548
+ return false unless @supported_verified_claims == other.supported_verified_claims
1549
+ return false unless @verified_claims_validation_schema_set == other.verified_claims_validation_schema_set
1550
+ return false unless @attributes == other.attributes
1551
+ return false unless @nbf_optional == other.nbf_optional
1552
+ return false unless @iss_suppressed == other.iss_suppressed
1553
+ return false unless @supported_custom_client_metadata == other.supported_custom_client_metadata
1554
+ return false unless @token_expiration_linked == other.token_expiration_linked
1555
+ return false unless @front_channel_request_object_encryption_required == other.front_channel_request_object_encryption_required
1556
+ return false unless @request_object_encryption_alg_match_required == other.request_object_encryption_alg_match_required
1557
+ return false unless @request_object_encryption_enc_match_required == other.request_object_encryption_enc_match_required
1558
+ return false unless @hsm_enabled == other.hsm_enabled
1559
+ return false unless @hsks == other.hsks
1560
+ return false unless @grant_management_endpoint == other.grant_management_endpoint
1561
+ return false unless @grant_management_action_required == other.grant_management_action_required
1562
+ return false unless @unauthorized_on_client_config_supported == other.unauthorized_on_client_config_supported
1563
+ return false unless @dcr_scope_used_as_requestable == other.dcr_scope_used_as_requestable
1564
+ return false unless @end_session_endpoint == other.end_session_endpoint
1565
+ return false unless @loopback_redirection_uri_variable == other.loopback_redirection_uri_variable
1566
+ return false unless @request_object_audience_checked == other.request_object_audience_checked
1567
+ return false unless @access_token_for_external_attachment_embedded == other.access_token_for_external_attachment_embedded
1568
+ return false unless @authority_hints == other.authority_hints
1569
+ return false unless @federation_enabled == other.federation_enabled
1570
+ return false unless @federation_jwks == other.federation_jwks
1571
+ return false unless @federation_signature_key_id == other.federation_signature_key_id
1572
+ return false unless @federation_configuration_duration == other.federation_configuration_duration
1573
+ return false unless @federation_registration_endpoint == other.federation_registration_endpoint
1574
+ return false unless @organization_name == other.organization_name
1575
+ return false unless @predefined_transformed_claims == other.predefined_transformed_claims
1576
+ return false unless @refresh_token_idempotent == other.refresh_token_idempotent
1577
+ return false unless @signed_jwks_uri == other.signed_jwks_uri
1578
+ return false unless @supported_attachments == other.supported_attachments
1579
+ return false unless @supported_digest_algorithms == other.supported_digest_algorithms
1580
+ return false unless @supported_documents == other.supported_documents
1581
+ return false unless @supported_documents_methods == other.supported_documents_methods
1582
+ return false unless @supported_documents_validation_methods == other.supported_documents_validation_methods
1583
+ return false unless @supported_documents_verification_methods == other.supported_documents_verification_methods
1584
+ return false unless @supported_electronic_records == other.supported_electronic_records
1585
+ return false unless @supported_client_registration_types == other.supported_client_registration_types
1586
+ return false unless @token_exchange_by_identifiable_clients_only == other.token_exchange_by_identifiable_clients_only
1587
+ return false unless @token_exchange_by_confidential_clients_only == other.token_exchange_by_confidential_clients_only
1588
+ return false unless @token_exchange_by_permitted_clients_only == other.token_exchange_by_permitted_clients_only
1589
+ return false unless @token_exchange_encrypted_jwt_rejected == other.token_exchange_encrypted_jwt_rejected
1590
+ return false unless @token_exchange_unsigned_jwt_rejected == other.token_exchange_unsigned_jwt_rejected
1591
+ return false unless @jwt_grant_by_identifiable_clients_only == other.jwt_grant_by_identifiable_clients_only
1592
+ return false unless @jwt_grant_encrypted_jwt_rejected == other.jwt_grant_encrypted_jwt_rejected
1593
+ return false unless @jwt_grant_unsigned_jwt_rejected == other.jwt_grant_unsigned_jwt_rejected
1594
+ return false unless @dcr_duplicate_software_id_blocked == other.dcr_duplicate_software_id_blocked
1595
+ return false unless @trust_anchors == other.trust_anchors
1596
+ return false unless @openid_dropped_on_refresh_without_offline_access == other.openid_dropped_on_refresh_without_offline_access
1597
+ return false unless @supported_documents_check_methods == other.supported_documents_check_methods
1598
+ return false unless @rs_response_signed == other.rs_response_signed
1599
+ return false unless @cnonce_duration == other.cnonce_duration
1600
+ return false unless @dpop_nonce_required == other.dpop_nonce_required
1601
+ return false unless @verifiable_credentials_enabled == other.verifiable_credentials_enabled
1602
+ return false unless @credential_jwks_uri == other.credential_jwks_uri
1603
+ return false unless @credential_offer_duration == other.credential_offer_duration
1604
+ return false unless @dpop_nonce_duration == other.dpop_nonce_duration
1605
+ return false unless @pre_authorized_grant_anonymous_access_supported == other.pre_authorized_grant_anonymous_access_supported
1606
+ return false unless @credential_transaction_duration == other.credential_transaction_duration
1607
+ return false unless @introspection_signature_key_id == other.introspection_signature_key_id
1608
+ return false unless @resource_signature_key_id == other.resource_signature_key_id
1609
+ return false unless @user_pin_length == other.user_pin_length
1610
+ return false unless @supported_prompt_values == other.supported_prompt_values
1611
+ return false unless @id_token_reissuable == other.id_token_reissuable
1612
+ return false unless @credential_jwks == other.credential_jwks
1613
+ return false unless @fapi_modes == other.fapi_modes
1614
+ return false unless @credential_duration == other.credential_duration
1615
+ return false unless @credential_issuer_metadata == other.credential_issuer_metadata
1616
+ return false unless @id_token_aud_type == other.id_token_aud_type
1617
+ return false unless @native_sso_supported == other.native_sso_supported
1618
+ return false unless @oid4vci_version == other.oid4vci_version
1619
+ return false unless @cimd_metadata_policy_enabled == other.cimd_metadata_policy_enabled
1620
+ return false unless @client_id_metadata_document_supported == other.client_id_metadata_document_supported
1621
+ return false unless @cimd_allowlist_enabled == other.cimd_allowlist_enabled
1622
+ return false unless @cimd_allowlist == other.cimd_allowlist
1623
+ return false unless @cimd_always_retrieved == other.cimd_always_retrieved
1624
+ return false unless @cimd_http_permitted == other.cimd_http_permitted
1625
+ return false unless @cimd_query_permitted == other.cimd_query_permitted
1626
+ return false unless @cimd_metadata_policy == other.cimd_metadata_policy
1627
+ return false unless @http_alias_prohibited == other.http_alias_prohibited
1628
+ return false unless @access_token_sign_alg == other.access_token_sign_alg
1629
+ true
1630
+ end
1631
+ end
1632
+ end
1633
+ end
1634
+ end