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