authlete_ruby_sdk 0.0.3.pre.beta → 1.0.0

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