zitadel-client 1.3.2 → 1.4.1

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 (346) hide show
  1. checksums.yaml +4 -4
  2. data/lib/patch.rb +2 -0
  3. data/lib/zitadel-client/api/feature_service_api.rb +551 -549
  4. data/lib/zitadel-client/api/identity_provider_service_api.rb +58 -56
  5. data/lib/zitadel-client/api/o_i_d_c_service_api.rb +208 -206
  6. data/lib/zitadel-client/api/organization_service_api.rb +102 -100
  7. data/lib/zitadel-client/api/s_a_m_l_service_api.rb +107 -105
  8. data/lib/zitadel-client/api/session_service_api.rb +260 -258
  9. data/lib/zitadel-client/api/settings_api.rb +93 -91
  10. data/lib/zitadel-client/api/settings_service_api.rb +436 -434
  11. data/lib/zitadel-client/api/user_service_api.rb +2296 -2294
  12. data/lib/zitadel-client/api_client.rb +1 -1
  13. data/lib/zitadel-client/auth/authenticator.rb +58 -56
  14. data/lib/zitadel-client/auth/client_credentials_authenticator.rb +49 -49
  15. data/lib/zitadel-client/auth/no_auth_authenticator.rb +22 -20
  16. data/lib/zitadel-client/auth/o_auth_authenticator.rb +78 -71
  17. data/lib/zitadel-client/auth/open_id.rb +35 -33
  18. data/lib/zitadel-client/auth/personal_access_token_authenticator.rb +24 -22
  19. data/lib/zitadel-client/auth/web_token_authenticator.rb +134 -132
  20. data/lib/zitadel-client/configuration.rb +1 -1
  21. data/lib/zitadel-client/models/feature_service_details.rb +116 -106
  22. data/lib/zitadel-client/models/feature_service_feature_flag.rb +116 -106
  23. data/lib/zitadel-client/models/feature_service_get_instance_features_response.rb +113 -103
  24. data/lib/zitadel-client/models/feature_service_get_organization_features_response.rb +117 -107
  25. data/lib/zitadel-client/models/feature_service_get_system_features_response.rb +113 -103
  26. data/lib/zitadel-client/models/feature_service_get_user_features_response.rb +117 -107
  27. data/lib/zitadel-client/models/feature_service_improved_performance.rb +3 -2
  28. data/lib/zitadel-client/models/feature_service_improved_performance_feature_flag.rb +113 -103
  29. data/lib/zitadel-client/models/feature_service_login_v2.rb +117 -107
  30. data/lib/zitadel-client/models/feature_service_login_v2_feature_flag.rb +113 -103
  31. data/lib/zitadel-client/models/feature_service_protobuf_any.rb +117 -107
  32. data/lib/zitadel-client/models/feature_service_reset_instance_features_response.rb +117 -107
  33. data/lib/zitadel-client/models/feature_service_reset_organization_features_response.rb +117 -107
  34. data/lib/zitadel-client/models/feature_service_reset_system_features_response.rb +117 -107
  35. data/lib/zitadel-client/models/feature_service_reset_user_features_response.rb +117 -107
  36. data/lib/zitadel-client/models/feature_service_rpc_status.rb +117 -107
  37. data/lib/zitadel-client/models/feature_service_set_instance_features_request.rb +113 -103
  38. data/lib/zitadel-client/models/feature_service_set_instance_features_response.rb +117 -107
  39. data/lib/zitadel-client/models/feature_service_set_organization_features_response.rb +117 -107
  40. data/lib/zitadel-client/models/feature_service_set_system_features_request.rb +113 -103
  41. data/lib/zitadel-client/models/feature_service_set_system_features_response.rb +117 -107
  42. data/lib/zitadel-client/models/feature_service_set_user_features_response.rb +117 -107
  43. data/lib/zitadel-client/models/feature_service_source.rb +3 -2
  44. data/lib/zitadel-client/models/identity_provider_service_apple_config.rb +116 -106
  45. data/lib/zitadel-client/models/identity_provider_service_auto_linking_option.rb +3 -2
  46. data/lib/zitadel-client/models/identity_provider_service_azure_a_d_config.rb +116 -106
  47. data/lib/zitadel-client/models/identity_provider_service_azure_a_d_tenant.rb +117 -107
  48. data/lib/zitadel-client/models/identity_provider_service_azure_a_d_tenant_type.rb +3 -2
  49. data/lib/zitadel-client/models/identity_provider_service_details.rb +116 -106
  50. data/lib/zitadel-client/models/identity_provider_service_generic_o_i_d_c_config.rb +116 -106
  51. data/lib/zitadel-client/models/identity_provider_service_get_i_d_p_by_i_d_response.rb +117 -107
  52. data/lib/zitadel-client/models/identity_provider_service_git_hub_config.rb +117 -107
  53. data/lib/zitadel-client/models/identity_provider_service_git_hub_enterprise_server_config.rb +113 -103
  54. data/lib/zitadel-client/models/identity_provider_service_git_lab_config.rb +117 -107
  55. data/lib/zitadel-client/models/identity_provider_service_git_lab_self_hosted_config.rb +117 -107
  56. data/lib/zitadel-client/models/identity_provider_service_google_config.rb +117 -107
  57. data/lib/zitadel-client/models/identity_provider_service_i_d_p.rb +113 -103
  58. data/lib/zitadel-client/models/identity_provider_service_i_d_p_config.rb +113 -103
  59. data/lib/zitadel-client/models/identity_provider_service_i_d_p_state.rb +3 -2
  60. data/lib/zitadel-client/models/identity_provider_service_i_d_p_type.rb +3 -2
  61. data/lib/zitadel-client/models/identity_provider_service_j_w_t_config.rb +116 -106
  62. data/lib/zitadel-client/models/identity_provider_service_l_d_a_p_attributes.rb +113 -103
  63. data/lib/zitadel-client/models/identity_provider_service_l_d_a_p_config.rb +113 -103
  64. data/lib/zitadel-client/models/identity_provider_service_o_auth_config.rb +113 -103
  65. data/lib/zitadel-client/models/identity_provider_service_options.rb +113 -103
  66. data/lib/zitadel-client/models/identity_provider_service_protobuf_any.rb +117 -107
  67. data/lib/zitadel-client/models/identity_provider_service_rpc_status.rb +117 -107
  68. data/lib/zitadel-client/models/identity_provider_service_s_a_m_l_binding.rb +3 -2
  69. data/lib/zitadel-client/models/identity_provider_service_s_a_m_l_config.rb +113 -103
  70. data/lib/zitadel-client/models/identity_provider_service_s_a_m_l_name_i_d_format.rb +3 -2
  71. data/lib/zitadel-client/models/o_i_d_c_service_auth_request.rb +113 -103
  72. data/lib/zitadel-client/models/o_i_d_c_service_authorization_error.rb +113 -103
  73. data/lib/zitadel-client/models/o_i_d_c_service_authorize_or_deny_device_authorization_request.rb +117 -107
  74. data/lib/zitadel-client/models/o_i_d_c_service_create_callback_request.rb +117 -107
  75. data/lib/zitadel-client/models/o_i_d_c_service_create_callback_response.rb +117 -107
  76. data/lib/zitadel-client/models/o_i_d_c_service_details.rb +116 -106
  77. data/lib/zitadel-client/models/o_i_d_c_service_device_authorization_request.rb +113 -103
  78. data/lib/zitadel-client/models/o_i_d_c_service_error_reason.rb +3 -2
  79. data/lib/zitadel-client/models/o_i_d_c_service_get_auth_request_response.rb +117 -107
  80. data/lib/zitadel-client/models/o_i_d_c_service_get_device_authorization_request_response.rb +117 -107
  81. data/lib/zitadel-client/models/o_i_d_c_service_prompt.rb +3 -2
  82. data/lib/zitadel-client/models/o_i_d_c_service_protobuf_any.rb +117 -107
  83. data/lib/zitadel-client/models/o_i_d_c_service_rpc_status.rb +117 -107
  84. data/lib/zitadel-client/models/o_i_d_c_service_session.rb +113 -103
  85. data/lib/zitadel-client/models/organization_service_add_human_user_request.rb +114 -104
  86. data/lib/zitadel-client/models/organization_service_add_organization_request.rb +113 -103
  87. data/lib/zitadel-client/models/organization_service_add_organization_request_admin.rb +117 -107
  88. data/lib/zitadel-client/models/organization_service_add_organization_response.rb +117 -107
  89. data/lib/zitadel-client/models/organization_service_add_organization_response_created_admin.rb +117 -107
  90. data/lib/zitadel-client/models/organization_service_details.rb +116 -106
  91. data/lib/zitadel-client/models/organization_service_gender.rb +3 -2
  92. data/lib/zitadel-client/models/organization_service_hashed_password.rb +113 -103
  93. data/lib/zitadel-client/models/organization_service_i_d_p_link.rb +113 -103
  94. data/lib/zitadel-client/models/organization_service_list_details.rb +117 -107
  95. data/lib/zitadel-client/models/organization_service_list_organizations_request.rb +113 -103
  96. data/lib/zitadel-client/models/organization_service_list_organizations_response.rb +113 -103
  97. data/lib/zitadel-client/models/organization_service_list_query.rb +117 -107
  98. data/lib/zitadel-client/models/organization_service_organization_domain_query.rb +113 -103
  99. data/lib/zitadel-client/models/organization_service_organization_field_name.rb +3 -2
  100. data/lib/zitadel-client/models/organization_service_organization_i_d_query.rb +113 -103
  101. data/lib/zitadel-client/models/organization_service_organization_name_query.rb +113 -103
  102. data/lib/zitadel-client/models/organization_service_organization_state.rb +3 -2
  103. data/lib/zitadel-client/models/organization_service_organization_state_query.rb +117 -107
  104. data/lib/zitadel-client/models/organization_service_password.rb +113 -103
  105. data/lib/zitadel-client/models/organization_service_protobuf_any.rb +117 -107
  106. data/lib/zitadel-client/models/organization_service_rpc_status.rb +117 -107
  107. data/lib/zitadel-client/models/organization_service_search_query.rb +113 -103
  108. data/lib/zitadel-client/models/organization_service_send_email_verification_code.rb +116 -106
  109. data/lib/zitadel-client/models/organization_service_set_human_email.rb +113 -103
  110. data/lib/zitadel-client/models/organization_service_set_human_phone.rb +113 -103
  111. data/lib/zitadel-client/models/organization_service_set_human_profile.rb +114 -104
  112. data/lib/zitadel-client/models/organization_service_set_metadata_entry.rb +113 -103
  113. data/lib/zitadel-client/models/organization_service_text_query_method.rb +3 -2
  114. data/lib/zitadel-client/models/s_a_m_l_service_authorization_error.rb +116 -106
  115. data/lib/zitadel-client/models/s_a_m_l_service_create_response_request.rb +117 -107
  116. data/lib/zitadel-client/models/s_a_m_l_service_create_response_response.rb +116 -106
  117. data/lib/zitadel-client/models/s_a_m_l_service_details.rb +116 -106
  118. data/lib/zitadel-client/models/s_a_m_l_service_error_reason.rb +3 -2
  119. data/lib/zitadel-client/models/s_a_m_l_service_get_s_a_m_l_request_response.rb +117 -107
  120. data/lib/zitadel-client/models/s_a_m_l_service_post_response.rb +117 -107
  121. data/lib/zitadel-client/models/s_a_m_l_service_protobuf_any.rb +117 -107
  122. data/lib/zitadel-client/models/s_a_m_l_service_rpc_status.rb +117 -107
  123. data/lib/zitadel-client/models/s_a_m_l_service_s_a_m_l_request.rb +113 -103
  124. data/lib/zitadel-client/models/s_a_m_l_service_session.rb +113 -103
  125. data/lib/zitadel-client/models/session_service_challenges.rb +117 -107
  126. data/lib/zitadel-client/models/session_service_challenges_web_auth_n.rb +117 -107
  127. data/lib/zitadel-client/models/session_service_check_i_d_p_intent.rb +113 -103
  128. data/lib/zitadel-client/models/session_service_check_o_t_p.rb +117 -107
  129. data/lib/zitadel-client/models/session_service_check_password.rb +116 -106
  130. data/lib/zitadel-client/models/session_service_check_t_o_t_p.rb +116 -106
  131. data/lib/zitadel-client/models/session_service_check_user.rb +113 -103
  132. data/lib/zitadel-client/models/session_service_check_web_auth_n.rb +117 -107
  133. data/lib/zitadel-client/models/session_service_checks.rb +113 -103
  134. data/lib/zitadel-client/models/session_service_create_session_request.rb +113 -103
  135. data/lib/zitadel-client/models/session_service_create_session_response.rb +116 -106
  136. data/lib/zitadel-client/models/session_service_creation_date_query.rb +116 -106
  137. data/lib/zitadel-client/models/session_service_creator_query.rb +117 -107
  138. data/lib/zitadel-client/models/session_service_delete_session_request.rb +117 -107
  139. data/lib/zitadel-client/models/session_service_delete_session_response.rb +117 -107
  140. data/lib/zitadel-client/models/session_service_details.rb +116 -106
  141. data/lib/zitadel-client/models/session_service_factors.rb +113 -103
  142. data/lib/zitadel-client/models/session_service_get_session_response.rb +117 -107
  143. data/lib/zitadel-client/models/session_service_i_ds_query.rb +117 -107
  144. data/lib/zitadel-client/models/session_service_intent_factor.rb +117 -107
  145. data/lib/zitadel-client/models/session_service_list_details.rb +117 -107
  146. data/lib/zitadel-client/models/session_service_list_query.rb +117 -107
  147. data/lib/zitadel-client/models/session_service_list_sessions_request.rb +113 -103
  148. data/lib/zitadel-client/models/session_service_list_sessions_response.rb +117 -107
  149. data/lib/zitadel-client/models/session_service_o_t_p_email_send_code.rb +116 -106
  150. data/lib/zitadel-client/models/session_service_o_t_p_factor.rb +117 -107
  151. data/lib/zitadel-client/models/session_service_password_factor.rb +117 -107
  152. data/lib/zitadel-client/models/session_service_protobuf_any.rb +117 -107
  153. data/lib/zitadel-client/models/session_service_request_challenges.rb +117 -107
  154. data/lib/zitadel-client/models/session_service_request_challenges_o_t_p_email.rb +117 -107
  155. data/lib/zitadel-client/models/session_service_request_challenges_o_t_p_s_m_s.rb +117 -107
  156. data/lib/zitadel-client/models/session_service_request_challenges_web_auth_n.rb +113 -103
  157. data/lib/zitadel-client/models/session_service_rpc_status.rb +117 -107
  158. data/lib/zitadel-client/models/session_service_search_query.rb +113 -103
  159. data/lib/zitadel-client/models/session_service_session.rb +113 -103
  160. data/lib/zitadel-client/models/session_service_session_field_name.rb +3 -2
  161. data/lib/zitadel-client/models/session_service_set_session_request.rb +113 -103
  162. data/lib/zitadel-client/models/session_service_set_session_response.rb +117 -107
  163. data/lib/zitadel-client/models/session_service_t_o_t_p_factor.rb +117 -107
  164. data/lib/zitadel-client/models/session_service_timestamp_query_method.rb +3 -2
  165. data/lib/zitadel-client/models/session_service_user_agent.rb +116 -106
  166. data/lib/zitadel-client/models/session_service_user_agent_header_values.rb +117 -107
  167. data/lib/zitadel-client/models/session_service_user_agent_query.rb +117 -107
  168. data/lib/zitadel-client/models/session_service_user_factor.rb +113 -103
  169. data/lib/zitadel-client/models/session_service_user_i_d_query.rb +117 -107
  170. data/lib/zitadel-client/models/session_service_user_verification_requirement.rb +3 -2
  171. data/lib/zitadel-client/models/session_service_web_auth_n_factor.rb +117 -107
  172. data/lib/zitadel-client/models/settings_service_auto_linking_option.rb +3 -2
  173. data/lib/zitadel-client/models/settings_service_branding_settings.rb +113 -103
  174. data/lib/zitadel-client/models/settings_service_details.rb +116 -106
  175. data/lib/zitadel-client/models/settings_service_domain_settings.rb +113 -103
  176. data/lib/zitadel-client/models/settings_service_embedded_iframe_settings.rb +117 -107
  177. data/lib/zitadel-client/models/settings_service_get_active_identity_providers_response.rb +117 -107
  178. data/lib/zitadel-client/models/settings_service_get_branding_settings_response.rb +117 -107
  179. data/lib/zitadel-client/models/settings_service_get_domain_settings_response.rb +117 -107
  180. data/lib/zitadel-client/models/settings_service_get_general_settings_response.rb +117 -107
  181. data/lib/zitadel-client/models/settings_service_get_legal_and_support_settings_response.rb +117 -107
  182. data/lib/zitadel-client/models/settings_service_get_lockout_settings_response.rb +117 -107
  183. data/lib/zitadel-client/models/settings_service_get_login_settings_response.rb +117 -107
  184. data/lib/zitadel-client/models/settings_service_get_password_complexity_settings_response.rb +117 -107
  185. data/lib/zitadel-client/models/settings_service_get_password_expiry_settings_response.rb +117 -107
  186. data/lib/zitadel-client/models/settings_service_get_security_settings_response.rb +117 -107
  187. data/lib/zitadel-client/models/settings_service_identity_provider.rb +113 -103
  188. data/lib/zitadel-client/models/settings_service_identity_provider_type.rb +3 -2
  189. data/lib/zitadel-client/models/settings_service_legal_and_support_settings.rb +113 -103
  190. data/lib/zitadel-client/models/settings_service_list_details.rb +117 -107
  191. data/lib/zitadel-client/models/settings_service_lockout_settings.rb +113 -103
  192. data/lib/zitadel-client/models/settings_service_login_settings.rb +113 -103
  193. data/lib/zitadel-client/models/settings_service_multi_factor_type.rb +3 -2
  194. data/lib/zitadel-client/models/settings_service_options.rb +113 -103
  195. data/lib/zitadel-client/models/settings_service_passkeys_type.rb +3 -2
  196. data/lib/zitadel-client/models/settings_service_password_complexity_settings.rb +113 -103
  197. data/lib/zitadel-client/models/settings_service_password_expiry_settings.rb +113 -103
  198. data/lib/zitadel-client/models/settings_service_protobuf_any.rb +117 -107
  199. data/lib/zitadel-client/models/settings_service_resource_owner_type.rb +3 -2
  200. data/lib/zitadel-client/models/settings_service_rpc_status.rb +117 -107
  201. data/lib/zitadel-client/models/settings_service_second_factor_type.rb +3 -2
  202. data/lib/zitadel-client/models/settings_service_security_settings.rb +117 -107
  203. data/lib/zitadel-client/models/settings_service_set_security_settings_request.rb +117 -107
  204. data/lib/zitadel-client/models/settings_service_set_security_settings_response.rb +117 -107
  205. data/lib/zitadel-client/models/settings_service_theme.rb +113 -103
  206. data/lib/zitadel-client/models/settings_service_theme_mode.rb +3 -2
  207. data/lib/zitadel-client/models/user_service_access_token_type.rb +3 -2
  208. data/lib/zitadel-client/models/user_service_add_human_user_request.rb +114 -104
  209. data/lib/zitadel-client/models/user_service_add_human_user_response.rb +116 -106
  210. data/lib/zitadel-client/models/user_service_add_i_d_p_link_request.rb +117 -107
  211. data/lib/zitadel-client/models/user_service_add_i_d_p_link_response.rb +117 -107
  212. data/lib/zitadel-client/models/user_service_add_o_t_p_email_response.rb +117 -107
  213. data/lib/zitadel-client/models/user_service_add_o_t_p_s_m_s_response.rb +117 -107
  214. data/lib/zitadel-client/models/user_service_and_query.rb +117 -107
  215. data/lib/zitadel-client/models/user_service_auth_factor.rb +113 -103
  216. data/lib/zitadel-client/models/user_service_auth_factor_state.rb +3 -2
  217. data/lib/zitadel-client/models/user_service_auth_factor_u2_f.rb +117 -107
  218. data/lib/zitadel-client/models/user_service_authentication_method_type.rb +3 -2
  219. data/lib/zitadel-client/models/user_service_create_invite_code_request.rb +117 -107
  220. data/lib/zitadel-client/models/user_service_create_invite_code_response.rb +117 -107
  221. data/lib/zitadel-client/models/user_service_create_passkey_registration_link_request.rb +117 -107
  222. data/lib/zitadel-client/models/user_service_create_passkey_registration_link_response.rb +117 -107
  223. data/lib/zitadel-client/models/user_service_deactivate_user_response.rb +117 -107
  224. data/lib/zitadel-client/models/user_service_delete_user_response.rb +117 -107
  225. data/lib/zitadel-client/models/user_service_details.rb +116 -106
  226. data/lib/zitadel-client/models/user_service_display_name_query.rb +113 -103
  227. data/lib/zitadel-client/models/user_service_email_query.rb +113 -103
  228. data/lib/zitadel-client/models/user_service_first_name_query.rb +113 -103
  229. data/lib/zitadel-client/models/user_service_gender.rb +3 -2
  230. data/lib/zitadel-client/models/user_service_get_user_by_i_d_response.rb +117 -107
  231. data/lib/zitadel-client/models/user_service_hashed_password.rb +113 -103
  232. data/lib/zitadel-client/models/user_service_human_email.rb +113 -103
  233. data/lib/zitadel-client/models/user_service_human_m_f_a_init_skipped_response.rb +117 -107
  234. data/lib/zitadel-client/models/user_service_human_phone.rb +116 -106
  235. data/lib/zitadel-client/models/user_service_human_profile.rb +114 -104
  236. data/lib/zitadel-client/models/user_service_human_user.rb +113 -103
  237. data/lib/zitadel-client/models/user_service_i_d_p_information.rb +113 -103
  238. data/lib/zitadel-client/models/user_service_i_d_p_intent.rb +113 -103
  239. data/lib/zitadel-client/models/user_service_i_d_p_l_d_a_p_access_information.rb +117 -107
  240. data/lib/zitadel-client/models/user_service_i_d_p_link.rb +113 -103
  241. data/lib/zitadel-client/models/user_service_i_d_p_o_auth_access_information.rb +117 -107
  242. data/lib/zitadel-client/models/user_service_i_d_p_s_a_m_l_access_information.rb +117 -107
  243. data/lib/zitadel-client/models/user_service_in_user_emails_query.rb +117 -107
  244. data/lib/zitadel-client/models/user_service_in_user_i_d_query.rb +117 -107
  245. data/lib/zitadel-client/models/user_service_l_d_a_p_credentials.rb +113 -103
  246. data/lib/zitadel-client/models/user_service_last_name_query.rb +113 -103
  247. data/lib/zitadel-client/models/user_service_list_authentication_factors_response.rb +117 -107
  248. data/lib/zitadel-client/models/user_service_list_authentication_method_types_response.rb +117 -107
  249. data/lib/zitadel-client/models/user_service_list_details.rb +117 -107
  250. data/lib/zitadel-client/models/user_service_list_i_d_p_links_request.rb +117 -107
  251. data/lib/zitadel-client/models/user_service_list_i_d_p_links_response.rb +117 -107
  252. data/lib/zitadel-client/models/user_service_list_passkeys_response.rb +117 -107
  253. data/lib/zitadel-client/models/user_service_list_query.rb +117 -107
  254. data/lib/zitadel-client/models/user_service_list_users_request.rb +113 -103
  255. data/lib/zitadel-client/models/user_service_list_users_response.rb +113 -103
  256. data/lib/zitadel-client/models/user_service_lock_user_response.rb +117 -107
  257. data/lib/zitadel-client/models/user_service_login_name_query.rb +113 -103
  258. data/lib/zitadel-client/models/user_service_machine_user.rb +113 -103
  259. data/lib/zitadel-client/models/user_service_nick_name_query.rb +113 -103
  260. data/lib/zitadel-client/models/user_service_not_query.rb +117 -107
  261. data/lib/zitadel-client/models/user_service_notification_type.rb +3 -2
  262. data/lib/zitadel-client/models/user_service_or_query.rb +117 -107
  263. data/lib/zitadel-client/models/user_service_organization.rb +117 -107
  264. data/lib/zitadel-client/models/user_service_organization_id_query.rb +113 -103
  265. data/lib/zitadel-client/models/user_service_passkey.rb +113 -103
  266. data/lib/zitadel-client/models/user_service_passkey_authenticator.rb +3 -2
  267. data/lib/zitadel-client/models/user_service_passkey_registration_code.rb +113 -103
  268. data/lib/zitadel-client/models/user_service_password.rb +113 -103
  269. data/lib/zitadel-client/models/user_service_password_reset_request.rb +117 -107
  270. data/lib/zitadel-client/models/user_service_password_reset_response.rb +117 -107
  271. data/lib/zitadel-client/models/user_service_phone_query.rb +113 -103
  272. data/lib/zitadel-client/models/user_service_protobuf_any.rb +117 -107
  273. data/lib/zitadel-client/models/user_service_reactivate_user_response.rb +117 -107
  274. data/lib/zitadel-client/models/user_service_redirect_u_r_ls.rb +113 -103
  275. data/lib/zitadel-client/models/user_service_register_passkey_request.rb +113 -103
  276. data/lib/zitadel-client/models/user_service_register_passkey_response.rb +117 -107
  277. data/lib/zitadel-client/models/user_service_register_t_o_t_p_response.rb +117 -107
  278. data/lib/zitadel-client/models/user_service_register_u2_f_request.rb +117 -107
  279. data/lib/zitadel-client/models/user_service_register_u2_f_response.rb +117 -107
  280. data/lib/zitadel-client/models/user_service_remove_i_d_p_link_response.rb +117 -107
  281. data/lib/zitadel-client/models/user_service_remove_o_t_p_email_response.rb +117 -107
  282. data/lib/zitadel-client/models/user_service_remove_o_t_p_s_m_s_response.rb +117 -107
  283. data/lib/zitadel-client/models/user_service_remove_passkey_response.rb +117 -107
  284. data/lib/zitadel-client/models/user_service_remove_phone_response.rb +117 -107
  285. data/lib/zitadel-client/models/user_service_remove_t_o_t_p_response.rb +117 -107
  286. data/lib/zitadel-client/models/user_service_remove_u2_f_response.rb +117 -107
  287. data/lib/zitadel-client/models/user_service_resend_email_code_request.rb +117 -107
  288. data/lib/zitadel-client/models/user_service_resend_email_code_response.rb +117 -107
  289. data/lib/zitadel-client/models/user_service_resend_invite_code_response.rb +117 -107
  290. data/lib/zitadel-client/models/user_service_resend_phone_code_request.rb +117 -107
  291. data/lib/zitadel-client/models/user_service_resend_phone_code_response.rb +117 -107
  292. data/lib/zitadel-client/models/user_service_retrieve_identity_provider_intent_request.rb +116 -106
  293. data/lib/zitadel-client/models/user_service_retrieve_identity_provider_intent_response.rb +116 -106
  294. data/lib/zitadel-client/models/user_service_rpc_status.rb +117 -107
  295. data/lib/zitadel-client/models/user_service_search_query.rb +113 -103
  296. data/lib/zitadel-client/models/user_service_send_email_code_request.rb +117 -107
  297. data/lib/zitadel-client/models/user_service_send_email_code_response.rb +117 -107
  298. data/lib/zitadel-client/models/user_service_send_email_verification_code.rb +116 -106
  299. data/lib/zitadel-client/models/user_service_send_invite_code.rb +113 -103
  300. data/lib/zitadel-client/models/user_service_send_passkey_registration_link.rb +116 -106
  301. data/lib/zitadel-client/models/user_service_send_password_reset_link.rb +113 -103
  302. data/lib/zitadel-client/models/user_service_set_email_request.rb +113 -103
  303. data/lib/zitadel-client/models/user_service_set_email_response.rb +117 -107
  304. data/lib/zitadel-client/models/user_service_set_human_email.rb +113 -103
  305. data/lib/zitadel-client/models/user_service_set_human_phone.rb +113 -103
  306. data/lib/zitadel-client/models/user_service_set_human_profile.rb +114 -104
  307. data/lib/zitadel-client/models/user_service_set_metadata_entry.rb +113 -103
  308. data/lib/zitadel-client/models/user_service_set_password.rb +113 -103
  309. data/lib/zitadel-client/models/user_service_set_password_request.rb +113 -103
  310. data/lib/zitadel-client/models/user_service_set_password_response.rb +117 -107
  311. data/lib/zitadel-client/models/user_service_set_phone_request.rb +113 -103
  312. data/lib/zitadel-client/models/user_service_set_phone_response.rb +117 -107
  313. data/lib/zitadel-client/models/user_service_start_identity_provider_intent_request.rb +113 -103
  314. data/lib/zitadel-client/models/user_service_start_identity_provider_intent_response.rb +116 -106
  315. data/lib/zitadel-client/models/user_service_state_query.rb +113 -103
  316. data/lib/zitadel-client/models/user_service_text_query_method.rb +3 -2
  317. data/lib/zitadel-client/models/user_service_type.rb +3 -2
  318. data/lib/zitadel-client/models/user_service_type_query.rb +113 -103
  319. data/lib/zitadel-client/models/user_service_unlock_user_response.rb +117 -107
  320. data/lib/zitadel-client/models/user_service_update_human_user_request.rb +113 -103
  321. data/lib/zitadel-client/models/user_service_update_human_user_response.rb +117 -107
  322. data/lib/zitadel-client/models/user_service_user.rb +113 -103
  323. data/lib/zitadel-client/models/user_service_user_field_name.rb +3 -2
  324. data/lib/zitadel-client/models/user_service_user_name_query.rb +113 -103
  325. data/lib/zitadel-client/models/user_service_user_state.rb +3 -2
  326. data/lib/zitadel-client/models/user_service_verify_email_request.rb +113 -103
  327. data/lib/zitadel-client/models/user_service_verify_email_response.rb +117 -107
  328. data/lib/zitadel-client/models/user_service_verify_invite_code_request.rb +113 -103
  329. data/lib/zitadel-client/models/user_service_verify_invite_code_response.rb +117 -107
  330. data/lib/zitadel-client/models/user_service_verify_passkey_registration_request.rb +113 -103
  331. data/lib/zitadel-client/models/user_service_verify_passkey_registration_response.rb +117 -107
  332. data/lib/zitadel-client/models/user_service_verify_phone_request.rb +113 -103
  333. data/lib/zitadel-client/models/user_service_verify_phone_response.rb +117 -107
  334. data/lib/zitadel-client/models/user_service_verify_t_o_t_p_registration_request.rb +117 -107
  335. data/lib/zitadel-client/models/user_service_verify_t_o_t_p_registration_response.rb +117 -107
  336. data/lib/zitadel-client/models/user_service_verify_u2_f_registration_request.rb +113 -103
  337. data/lib/zitadel-client/models/user_service_verify_u2_f_registration_response.rb +117 -107
  338. data/lib/zitadel-client/models/zitadelobjectv2_organization.rb +117 -107
  339. data/lib/zitadel-client/models/zitadelorgv2_organization.rb +113 -103
  340. data/lib/zitadel-client/utils/url_util.rb +15 -13
  341. data/lib/zitadel-client/version.rb +1 -1
  342. data/lib/zitadel-client/zitadel.rb +11 -11
  343. data/lib/zitadel_client.rb +0 -5
  344. data/sig/lib/oauth2/oauth2.rbs +3 -0
  345. data/sig/lib.rbs +113 -106
  346. metadata +2 -2
@@ -278,7 +278,7 @@ module ZitadelClient
278
278
  end
279
279
  else
280
280
  # models (e.g. Pet) or oneOf
281
- klass = ZitadelClient.const_get(return_type)
281
+ klass = ZitadelClient::Models.const_get(return_type)
282
282
  klass.respond_to?(:openapi_one_of) ? klass.build(data) : klass.build_from_hash(data)
283
283
  end
284
284
  end
@@ -3,74 +3,76 @@
3
3
  require 'time'
4
4
 
5
5
  module ZitadelClient
6
- ##
7
- # Abstract base class for authenticators.
8
- #
9
- # This class defines the basic structure for any authenticator by requiring the implementation
10
- # of a method to retrieve authentication headers, and provides a way to store and retrieve the host.
11
- #
12
- class Authenticator
13
- protected
14
-
15
- attr_reader :host
16
-
6
+ module Auth
17
7
  ##
18
- # Initializes the Authenticator with the specified host.
8
+ # Abstract base class for authenticators.
19
9
  #
20
- # @param host [String] the base URL or endpoint for the service.
10
+ # This class defines the basic structure for any authenticator by requiring the implementation
11
+ # of a method to retrieve authentication headers, and provides a way to store and retrieve the host.
21
12
  #
22
- def initialize(host)
23
- @host = host
24
- end
13
+ class Authenticator
14
+ protected
25
15
 
26
- ##
27
- # Retrieves the authentication headers to be sent with requests.
28
- #
29
- # Subclasses must override this method to return the appropriate headers.
30
- #
31
- # @raise [NotImplementedError] Always raised to require implementation in a subclass.
32
- #
33
- # @return [Hash{String => String}]
34
- #
35
- def auth_headers
36
- # :nocov:
37
- raise NotImplementedError,
38
- "#{self.class}#get_auth_headers is an abstract method. Please override it in a subclass."
39
- # :nocov:
40
- end
41
- end
16
+ attr_reader :host
42
17
 
43
- ##
44
- # Abstract builder class for constructing OAuth authenticator instances.
45
- #
46
- # This builder provides common configuration options such as the OpenId instance and authentication scopes.
47
- #
48
- class OAuthAuthenticatorBuilder
49
- protected
18
+ ##
19
+ # Initializes the Authenticator with the specified host.
20
+ #
21
+ # @param host [String] the base URL or endpoint for the service.
22
+ #
23
+ def initialize(host)
24
+ @host = host
25
+ end
50
26
 
51
- attr_reader :open_id, :auth_scopes
27
+ ##
28
+ # Retrieves the authentication headers to be sent with requests.
29
+ #
30
+ # Subclasses must override this method to return the appropriate headers.
31
+ #
32
+ # @raise [NotImplementedError] Always raised to require implementation in a subclass.
33
+ #
34
+ # @return [Hash{String => String}]
35
+ #
36
+ def auth_headers
37
+ # :nocov:
38
+ raise NotImplementedError,
39
+ "#{self.class}#get_auth_headers is an abstract method. Please override it in a subclass."
40
+ # :nocov:
41
+ end
42
+ end
52
43
 
53
44
  ##
54
- # Initializes the OAuthAuthenticatorBuilder with a given host.
45
+ # Abstract builder class for constructing OAuth authenticator instances.
55
46
  #
56
- # @param host [String] the base URL for the OAuth provider.
47
+ # This builder provides common configuration options such as the OpenId instance and authentication scopes.
57
48
  #
58
- def initialize(host)
59
- @open_id = OpenId.new(host)
60
- @auth_scopes = Set.new(%w[openid urn:zitadel:iam:org:project:id:zitadel:aud])
61
- end
49
+ class OAuthAuthenticatorBuilder
50
+ protected
62
51
 
63
- public
52
+ attr_reader :open_id, :auth_scopes
64
53
 
65
- ##
66
- # Sets the authentication scopes for the OAuth authenticator.
67
- #
68
- # @param scopes [Array<String>] a variable number of scope strings.
69
- # @return [self] the builder instance to allow for method chaining.
70
- #
71
- def scopes(*scopes)
72
- @auth_scopes = Set.new(scopes)
73
- self
54
+ ##
55
+ # Initializes the OAuthAuthenticatorBuilder with a given host.
56
+ #
57
+ # @param host [String] the base URL for the OAuth provider.
58
+ #
59
+ def initialize(host)
60
+ @open_id = OpenId.new(host)
61
+ @auth_scopes = Set.new(%w[openid urn:zitadel:iam:org:project:id:zitadel:aud])
62
+ end
63
+
64
+ public
65
+
66
+ ##
67
+ # Sets the authentication scopes for the OAuth authenticator.
68
+ #
69
+ # @param scopes [Array<String>] a variable number of scope strings.
70
+ # @return [self] the builder instance to allow for method chaining.
71
+ #
72
+ def scopes(*scopes)
73
+ @auth_scopes = Set.new(scopes)
74
+ self
75
+ end
74
76
  end
75
77
  end
76
78
  end
@@ -1,62 +1,62 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'oauth2'
4
-
5
3
  module ZitadelClient
6
- # ClientCredentialsAuthenticator implements the client credentials flow.
7
- class ClientCredentialsAuthenticator < ZitadelClient::OAuthAuthenticator
8
- # Constructs a ClientCredentialsAuthenticator using client credentials flow.
9
- #
10
- # @param open_id [OpenId] The OpenId instance with OAuth endpoint info.
11
- # @param client_id [String] The OAuth client identifier.
12
- # @param client_secret [String] The OAuth client secret.
13
- # @param auth_scopes [Set<String>] The scope(s) for the token request.
14
- def initialize(open_id, client_id, client_secret, auth_scopes)
15
- # noinspection RubyArgCount
16
- super(open_id, auth_scopes, OAuth2::Client.new(client_id, client_secret, {
17
- site: open_id.host_endpoint,
18
- token_url: open_id.token_endpoint
19
- }))
20
- end
21
-
22
- # Returns a new builder for constructing a ClientCredentialsAuthenticator.
23
- #
24
- # @param host [String] The OAuth provider's base URL.
25
- # @param client_id [String] The OAuth client identifier.
26
- # @param client_secret [String] The OAuth client secret.
27
- # @return [ClientCredentialsAuthenticatorBuilder] A builder instance.
28
- def self.builder(host, client_id, client_secret)
29
- ClientCredentialsAuthenticatorBuilder.new(host, client_id, client_secret)
30
- end
31
-
32
- protected
33
-
34
- # Overrides the base get_grant to return client credentials grant parameters.
35
-
36
- # @return [OAuth2::AccessToken] A hash containing the grant type.
37
- def get_grant(client, auth_scopes)
38
- client.client_credentials.get_token({ scope: auth_scopes })
39
- end
40
-
41
- # Builder class for ClientCredentialsAuthenticator.
42
- class ClientCredentialsAuthenticatorBuilder < OAuthAuthenticatorBuilder
43
- # Initializes the builder with host, client ID, and client secret.
4
+ module Auth
5
+ # ClientCredentialsAuthenticator implements the client credentials flow.
6
+ class ClientCredentialsAuthenticator < ZitadelClient::Auth::OAuthAuthenticator
7
+ # Constructs a ClientCredentialsAuthenticator using client credentials flow.
44
8
  #
45
- # @param host [String] The OAuth provider's base URL.
9
+ # @param open_id [OpenId] The OpenId instance with OAuth endpoint info.
46
10
  # @param client_id [String] The OAuth client identifier.
47
11
  # @param client_secret [String] The OAuth client secret.
48
- def initialize(host, client_id, client_secret)
12
+ # @param auth_scopes [Set<String>] The scope(s) for the token request.
13
+ def initialize(open_id, client_id, client_secret, auth_scopes)
49
14
  # noinspection RubyArgCount
50
- super(host)
51
- @client_id = client_id
52
- @client_secret = client_secret
15
+ super(open_id, auth_scopes, OAuth2::Client.new(client_id, client_secret, {
16
+ site: open_id.host_endpoint,
17
+ token_url: open_id.token_endpoint
18
+ }))
53
19
  end
54
20
 
55
- # Constructs and returns a ClientCredentialsAuthenticator using the configured parameters.
21
+ # Returns a new builder for constructing a ClientCredentialsAuthenticator.
56
22
  #
57
- # @return [ClientCredentialsAuthenticator] A configured instance.
58
- def build
59
- ClientCredentialsAuthenticator.new(open_id, @client_id, @client_secret, auth_scopes)
23
+ # @param host [String] The OAuth provider's base URL.
24
+ # @param client_id [String] The OAuth client identifier.
25
+ # @param client_secret [String] The OAuth client secret.
26
+ # @return [ClientCredentialsAuthenticatorBuilder] A builder instance.
27
+ def self.builder(host, client_id, client_secret)
28
+ ClientCredentialsAuthenticatorBuilder.new(host, client_id, client_secret)
29
+ end
30
+
31
+ protected
32
+
33
+ # Overrides the base get_grant to return client credentials grant parameters.
34
+
35
+ # @return [OAuth2::AccessToken] A hash containing the grant type.
36
+ def get_grant(client, auth_scopes)
37
+ client.client_credentials.get_token({ scope: auth_scopes })
38
+ end
39
+
40
+ # Builder class for ClientCredentialsAuthenticator.
41
+ class ClientCredentialsAuthenticatorBuilder < OAuthAuthenticatorBuilder
42
+ # Initializes the builder with host, client ID, and client secret.
43
+ #
44
+ # @param host [String] The OAuth provider's base URL.
45
+ # @param client_id [String] The OAuth client identifier.
46
+ # @param client_secret [String] The OAuth client secret.
47
+ def initialize(host, client_id, client_secret)
48
+ # noinspection RubyArgCount
49
+ super(host)
50
+ @client_id = client_id
51
+ @client_secret = client_secret
52
+ end
53
+
54
+ # Constructs and returns a ClientCredentialsAuthenticator using the configured parameters.
55
+ #
56
+ # @return [ClientCredentialsAuthenticator] A configured instance.
57
+ def build
58
+ ClientCredentialsAuthenticator.new(open_id, @client_id, @client_secret, auth_scopes)
59
+ end
60
60
  end
61
61
  end
62
62
  end
@@ -1,31 +1,33 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ZitadelClient
4
- ##
5
- # A simple authenticator that performs no authentication.
6
- #
7
- # This authenticator is useful for cases where no token or credentials are required.
8
- # It simply returns an empty dictionary for authentication headers.
9
- #
10
- class NoAuthAuthenticator < Authenticator
4
+ module Auth
11
5
  ##
12
- # Initializes the NoAuthAuthenticator with a default host.
6
+ # A simple authenticator that performs no authentication.
13
7
  #
14
- # @param host [String] the base URL for the service. Defaults to "http://localhost".
8
+ # This authenticator is useful for cases where no token or credentials are required.
9
+ # It simply returns an empty dictionary for authentication headers.
15
10
  #
16
- def initialize(host = 'http://localhost')
17
- super
18
- end
11
+ class NoAuthAuthenticator < Authenticator
12
+ ##
13
+ # Initializes the NoAuthAuthenticator with a default host.
14
+ #
15
+ # @param host [String] the base URL for the service. Defaults to "http://localhost".
16
+ #
17
+ def initialize(host = 'http://localhost')
18
+ super
19
+ end
19
20
 
20
- protected
21
+ protected
21
22
 
22
- ##
23
- # Returns an empty dictionary since no authentication is performed.
24
- #
25
- # @return [Hash{String => String}] an empty hash.
26
- #
27
- def auth_headers
28
- {}
23
+ ##
24
+ # Returns an empty dictionary since no authentication is performed.
25
+ #
26
+ # @return [Hash{String => String}] an empty hash.
27
+ #
28
+ def auth_headers
29
+ {}
30
+ end
29
31
  end
30
32
  end
31
33
  end
@@ -3,88 +3,95 @@
3
3
  require 'time'
4
4
  require 'oauth2'
5
5
 
6
- module ZitadelClient
7
- ##
8
- # Base class for OAuth-based authentication using an OAuth2 client.
9
- #
10
- # Attributes:
11
- # open_id: An object providing OAuth endpoint information.
12
- # auth_session: An OAuth2Session instance used for fetching tokens.
13
- #
14
- class OAuthAuthenticator < Authenticator
15
- protected
6
+ OAuth2.configure do |config|
7
+ # noinspection RubyResolve
8
+ config.silence_extra_tokens_warning = true
9
+ end
16
10
 
11
+ module ZitadelClient
12
+ module Auth
17
13
  ##
18
- # Constructs an OAuthAuthenticator.
14
+ # Base class for OAuth-based authentication using an OAuth2 client.
19
15
  #
20
- # @param open_id [OpenId] An object that must implement `get_host_endpoint` and `get_token_endpoint`.
21
- # @param auth_session [OAuth2Session] The OAuth2Session instance used for token requests.
16
+ # Attributes:
17
+ # open_id: An object providing OAuth endpoint information.
18
+ # auth_session: An OAuth2Session instance used for fetching tokens.
22
19
  #
23
- def initialize(open_id, auth_scopes, auth_session)
24
- super(open_id.host_endpoint)
25
- @open_id = open_id
26
- @token = nil
27
- @auth_session = auth_session
28
- @auth_scopes = auth_scopes.to_a.join(' ')
29
- end
20
+ class OAuthAuthenticator < Authenticator
21
+ protected
30
22
 
31
- ##
32
- # Returns the current access token, refreshing it if necessary.
33
- #
34
- # @return [String] The current access token.
35
- #
36
- def auth_token
37
- token = @token
38
- if token.nil? || token.expired?
39
- refresh_token
40
- token = @token
23
+ ##
24
+ # Constructs an OAuthAuthenticator.
25
+ #
26
+ # @param open_id [OpenId] An object that must implement `get_host_endpoint` and `get_token_endpoint`.
27
+ # @param auth_session [OAuth2Session] The OAuth2Session instance used for token requests.
28
+ #
29
+ def initialize(open_id, auth_scopes, auth_session)
30
+ super(open_id.host_endpoint)
31
+ @open_id = open_id
32
+ @token = nil
33
+ @auth_session = auth_session
34
+ @auth_scopes = auth_scopes.to_a.join(' ')
41
35
  end
42
36
 
43
- raise 'Token is nil after refresh' if token.nil?
37
+ ##
38
+ # Returns the current access token, refreshing it if necessary.
39
+ #
40
+ # @return [String] The current access token.
41
+ #
42
+ def auth_token
43
+ token = @token
44
+ if token.nil? || token.expired?
45
+ refresh_token
46
+ token = @token
47
+ end
44
48
 
45
- token.token
46
- end
49
+ raise 'Token is nil after refresh' if token.nil?
47
50
 
48
- ##
49
- # Retrieves authentication headers.
50
- #
51
- # @return [Hash{String => String}] A hash containing the 'Authorization' header.
52
- #
53
- def auth_headers
54
- { 'Authorization' => "Bearer #{auth_token}" }
55
- end
51
+ token.token
52
+ end
56
53
 
57
- ##
58
- # Builds and returns a hash of grant parameters required for the token request.
59
- #
60
- # The base class will invoke this method by passing its OAuth2 client.
61
- # The subclass implementation should return the result of either:
62
- # client.client_credentials.get_token(scope: scopes)
63
- # or
64
- # client.assertion.get_token(claims)
65
- #
66
- # @param auth_client [OAuth2::Client] The OAuth2 client instance.
67
- # @param [String] auth_scopes
68
- # @return [OAuth2::AccessToken] A hash of parameters used to fetch a token.
69
- #
70
- def get_grant(auth_client, auth_scopes)
71
- # :nocov:
72
- raise NotImplementedError, "#{self.class}#get_grant must be implemented"
73
- # :nocov:
74
- end
54
+ ##
55
+ # Retrieves authentication headers.
56
+ #
57
+ # @return [Hash{String => String}] A hash containing the 'Authorization' header.
58
+ #
59
+ def auth_headers
60
+ { 'Authorization' => "Bearer #{auth_token}" }
61
+ end
75
62
 
76
- ##
77
- # Refreshes the access token using the OAuth flow.
78
- #
79
- # It uses `get_grant` to obtain all necessary parameters for the token request.
80
- #
81
- # @return [OAuth2::AccessToken] A new Token instance.
82
- # @raise [RuntimeError] if the token refresh fails.
83
- #
84
- def refresh_token
85
- @token = get_grant(@auth_session, @auth_scopes)
86
- rescue StandardError => e
87
- raise ZitadelError.new("Failed to refresh token: #{e.message}"), cause: e
63
+ ##
64
+ # Builds and returns a hash of grant parameters required for the token request.
65
+ #
66
+ # The base class will invoke this method by passing its OAuth2 client.
67
+ # The subclass implementation should return the result of either:
68
+ # client.client_credentials.get_token(scope: scopes)
69
+ # or
70
+ # client.assertion.get_token(claims)
71
+ #
72
+ # @param auth_client [OAuth2::Client] The OAuth2 client instance.
73
+ # @param [String] auth_scopes
74
+ # @return [OAuth2::AccessToken] A hash of parameters used to fetch a token.
75
+ #
76
+ def get_grant(auth_client, auth_scopes)
77
+ # :nocov:
78
+ raise NotImplementedError, "#{self.class}#get_grant must be implemented"
79
+ # :nocov:
80
+ end
81
+
82
+ ##
83
+ # Refreshes the access token using the OAuth flow.
84
+ #
85
+ # It uses `get_grant` to obtain all necessary parameters for the token request.
86
+ #
87
+ # @return [OAuth2::AccessToken] A new Token instance.
88
+ # @raise [RuntimeError] if the token refresh fails.
89
+ #
90
+ def refresh_token
91
+ @token = get_grant(@auth_session, @auth_scopes)
92
+ rescue StandardError => e
93
+ raise ZitadelError.new("Failed to refresh token: #{e.message}"), cause: e
94
+ end
88
95
  end
89
96
  end
90
97
  end
@@ -5,46 +5,48 @@ require 'uri'
5
5
  require 'net/http'
6
6
 
7
7
  module ZitadelClient
8
- ##
9
- # OpenId retrieves OpenID Connect configuration from a given host.
10
- #
11
- # It builds the well-known configuration URL from the provided hostname,
12
- # fetches the configuration, and extracts the token endpoint.
13
- #
14
- class OpenId
15
- attr_accessor :token_endpoint, :host_endpoint
16
-
8
+ module Auth
17
9
  ##
18
- # Initializes a new OpenId instance.
10
+ # OpenId retrieves OpenID Connect configuration from a given host.
19
11
  #
20
- # @param hostname [String] the hostname for the OpenID provider.
21
- # @raise [RuntimeError] if the OpenID configuration cannot be fetched or the token_endpoint is missing.
12
+ # It builds the well-known configuration URL from the provided hostname,
13
+ # fetches the configuration, and extracts the token endpoint.
22
14
  #
23
- # noinspection HttpUrlsUsage
24
- def initialize(hostname)
25
- hostname = "https://#{hostname}" unless hostname.start_with?('http://', 'https://')
26
- @host_endpoint = hostname
27
- well_known_url = self.class.build_well_known_url(hostname)
15
+ class OpenId
16
+ attr_accessor :token_endpoint, :host_endpoint
28
17
 
29
- uri = URI.parse(well_known_url)
30
- response = Net::HTTP.get_response(uri)
31
- raise "Failed to fetch OpenID configuration: HTTP #{response.code}" unless response.code.to_i == 200
18
+ ##
19
+ # Initializes a new OpenId instance.
20
+ #
21
+ # @param hostname [String] the hostname for the OpenID provider.
22
+ # @raise [RuntimeError] if the OpenID configuration cannot be fetched or the token_endpoint is missing.
23
+ #
24
+ # noinspection HttpUrlsUsage
25
+ def initialize(hostname)
26
+ hostname = "https://#{hostname}" unless hostname.start_with?('http://', 'https://')
27
+ @host_endpoint = hostname
28
+ well_known_url = self.class.build_well_known_url(hostname)
32
29
 
33
- config = JSON.parse(response.body)
34
- token_endpoint = config['token_endpoint']
35
- raise 'token_endpoint not found in OpenID configuration' unless token_endpoint
30
+ uri = URI.parse(well_known_url)
31
+ response = Net::HTTP.get_response(uri)
32
+ raise "Failed to fetch OpenID configuration: HTTP #{response.code}" unless response.code.to_i == 200
36
33
 
37
- @token_endpoint = token_endpoint
38
- end
34
+ config = JSON.parse(response.body)
35
+ token_endpoint = config['token_endpoint']
36
+ raise 'token_endpoint not found in OpenID configuration' unless token_endpoint
39
37
 
40
- ##
41
- # Builds the well-known OpenID configuration URL for the given hostname.
42
- #
43
- # @param hostname [String] the hostname for the OpenID provider.
44
- # @return [String] the well-known configuration URL.
45
- #
46
- def self.build_well_known_url(hostname)
47
- URI.join(hostname, '/.well-known/openid-configuration').to_s
38
+ @token_endpoint = token_endpoint
39
+ end
40
+
41
+ ##
42
+ # Builds the well-known OpenID configuration URL for the given hostname.
43
+ #
44
+ # @param hostname [String] the hostname for the OpenID provider.
45
+ # @return [String] the well-known configuration URL.
46
+ #
47
+ def self.build_well_known_url(hostname)
48
+ URI.join(hostname, '/.well-known/openid-configuration').to_s
49
+ end
48
50
  end
49
51
  end
50
52
  end
@@ -1,33 +1,35 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ZitadelClient
4
- ##
5
- # Personal Access Token Authenticator.
6
- #
7
- # Uses a static personal access token for API authentication.
8
- #
9
- class PersonalAccessTokenAuthenticator < Authenticator
4
+ module Auth
10
5
  ##
11
- # Initializes the PersonalAccessTokenAuthenticator with host and token.
6
+ # Personal Access Token Authenticator.
12
7
  #
13
- # @param host [String] the base URL for the service.
14
- # @param token [String] the personal access token.
8
+ # Uses a static personal access token for API authentication.
15
9
  #
16
- def initialize(host, token)
17
- # noinspection RubyArgCount
18
- super(ZitadelClient::UrlUtil.build_hostname(host))
19
- @token = token
20
- end
10
+ class PersonalAccessTokenAuthenticator < Authenticator
11
+ ##
12
+ # Initializes the PersonalAccessTokenAuthenticator with host and token.
13
+ #
14
+ # @param host [String] the base URL for the service.
15
+ # @param token [String] the personal access token.
16
+ #
17
+ def initialize(host, token)
18
+ # noinspection RubyArgCount
19
+ super(ZitadelClient::Utils::UrlUtil.build_hostname(host))
20
+ @token = token
21
+ end
21
22
 
22
- protected
23
+ protected
23
24
 
24
- ##
25
- # Returns the authentication headers using the personal access token.
26
- #
27
- # @return [Hash{String => String}] a hash containing the 'Authorization' header.
28
- #
29
- def auth_headers
30
- { 'Authorization' => "Bearer #{@token}" }
25
+ ##
26
+ # Returns the authentication headers using the personal access token.
27
+ #
28
+ # @return [Hash{String => String}] a hash containing the 'Authorization' header.
29
+ #
30
+ def auth_headers
31
+ { 'Authorization' => "Bearer #{@token}" }
32
+ end
31
33
  end
32
34
  end
33
35
  end