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