authlete_ruby_sdk 0.0.2.beta → 0.0.5.pre.beta

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