kinde_sdk 1.6.3 → 1.6.5

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 (592) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/kinde_sdk/auth_controller.rb +133 -67
  3. data/app/helpers/auth_helper.rb +88 -0
  4. data/config/routes.rb +3 -1
  5. data/kinde_api/Gemfile +9 -0
  6. data/kinde_api/README.md +316 -47
  7. data/kinde_api/Rakefile +10 -0
  8. data/kinde_api/docs/APIsApi.md +569 -60
  9. data/kinde_api/docs/AddAPIScopeRequest.md +20 -0
  10. data/kinde_api/docs/AddAPIsRequest.md +4 -4
  11. data/kinde_api/docs/AddOrganizationUsersRequestUsersInner.md +1 -1
  12. data/kinde_api/docs/AddRoleScopeRequest.md +18 -0
  13. data/kinde_api/docs/AddRoleScopeResponse.md +20 -0
  14. data/kinde_api/docs/ApplicationsApi.md +465 -38
  15. data/kinde_api/docs/AuthorizeAppApiResponse.md +24 -0
  16. data/kinde_api/docs/BillingAgreementsApi.md +157 -0
  17. data/kinde_api/docs/BillingEntitlementsApi.md +89 -0
  18. data/kinde_api/docs/BillingMeterUsageApi.md +77 -0
  19. data/kinde_api/docs/BusinessApi.md +27 -66
  20. data/kinde_api/docs/CallbacksApi.md +25 -25
  21. data/kinde_api/docs/Category.md +20 -0
  22. data/kinde_api/docs/ConnectedAppsApi.md +8 -8
  23. data/kinde_api/docs/Connection.md +22 -0
  24. data/kinde_api/docs/ConnectionConnection.md +24 -0
  25. data/kinde_api/docs/ConnectionsApi.md +439 -0
  26. data/kinde_api/docs/CreateApiScopesResponse.md +22 -0
  27. data/kinde_api/docs/CreateApiScopesResponseScope.md +18 -0
  28. data/kinde_api/docs/CreateApisResponse.md +22 -0
  29. data/kinde_api/docs/CreateApisResponseApi.md +18 -0
  30. data/kinde_api/docs/CreateApplicationRequest.md +3 -3
  31. data/kinde_api/docs/CreateApplicationResponseApplication.md +4 -4
  32. data/kinde_api/docs/CreateBillingAgreementRequest.md +24 -0
  33. data/kinde_api/docs/CreateCategoryRequest.md +20 -0
  34. data/kinde_api/docs/CreateCategoryResponse.md +22 -0
  35. data/kinde_api/docs/CreateCategoryResponseCategory.md +18 -0
  36. data/kinde_api/docs/CreateConnectionRequest.md +28 -0
  37. data/kinde_api/docs/CreateConnectionRequestOptions.md +51 -0
  38. data/kinde_api/docs/CreateConnectionRequestOptionsOneOf.md +22 -0
  39. data/kinde_api/docs/CreateConnectionRequestOptionsOneOf1.md +34 -0
  40. data/kinde_api/docs/CreateConnectionRequestOptionsOneOf2.md +44 -0
  41. data/kinde_api/docs/CreateConnectionResponse.md +22 -0
  42. data/kinde_api/docs/CreateConnectionResponseConnection.md +18 -0
  43. data/kinde_api/docs/CreateEnvironmentVariableRequest.md +22 -0
  44. data/kinde_api/docs/CreateEnvironmentVariableResponse.md +22 -0
  45. data/kinde_api/docs/CreateEnvironmentVariableResponseEnvironmentVariable.md +18 -0
  46. data/kinde_api/docs/CreateIdentityResponse.md +22 -0
  47. data/kinde_api/docs/CreateIdentityResponseIdentity.md +18 -0
  48. data/kinde_api/docs/CreateMeterUsageRecordRequest.md +26 -0
  49. data/kinde_api/docs/CreateMeterUsageRecordResponse.md +20 -0
  50. data/kinde_api/docs/CreateOrganizationRequest.md +17 -7
  51. data/kinde_api/docs/CreateOrganizationResponse.md +4 -4
  52. data/kinde_api/docs/CreateOrganizationResponseOrganization.md +4 -2
  53. data/kinde_api/docs/CreatePropertyRequest.md +30 -0
  54. data/kinde_api/docs/CreatePropertyResponse.md +22 -0
  55. data/kinde_api/docs/CreatePropertyResponseProperty.md +18 -0
  56. data/kinde_api/docs/CreateRolesResponse.md +22 -0
  57. data/kinde_api/docs/CreateRolesResponseRole.md +18 -0
  58. data/kinde_api/docs/CreateUserIdentityRequest.md +24 -0
  59. data/kinde_api/docs/CreateUserRequest.md +3 -1
  60. data/kinde_api/docs/CreateUserRequestIdentitiesInner.md +3 -1
  61. data/kinde_api/docs/CreateUserRequestIdentitiesInnerDetails.md +7 -1
  62. data/kinde_api/docs/CreateUserRequestProfile.md +3 -1
  63. data/kinde_api/docs/CreateUserResponse.md +1 -1
  64. data/kinde_api/docs/CreateWebHookRequest.md +24 -0
  65. data/kinde_api/docs/CreateWebhookResponse.md +22 -0
  66. data/kinde_api/docs/CreateWebhookResponseWebhook.md +20 -0
  67. data/kinde_api/docs/DeleteApiResponse.md +20 -0
  68. data/kinde_api/docs/DeleteEnvironmentVariableResponse.md +20 -0
  69. data/kinde_api/docs/DeleteRoleScopeResponse.md +20 -0
  70. data/kinde_api/docs/DeleteWebhookResponse.md +20 -0
  71. data/kinde_api/docs/EnvironmentVariable.md +26 -0
  72. data/kinde_api/docs/EnvironmentVariablesApi.md +356 -0
  73. data/kinde_api/docs/EnvironmentsApi.md +281 -5
  74. data/kinde_api/docs/EventType.md +26 -0
  75. data/kinde_api/docs/FeatureFlagsApi.md +4 -4
  76. data/kinde_api/docs/GetApiResponse.md +22 -0
  77. data/kinde_api/docs/GetApiResponseApi.md +28 -0
  78. data/kinde_api/docs/GetApiResponseApiApplicationsInner.md +24 -0
  79. data/kinde_api/docs/GetApiResponseApiScopesInner.md +20 -0
  80. data/kinde_api/docs/GetApiScopeResponse.md +22 -0
  81. data/kinde_api/docs/GetApiScopesResponse.md +22 -0
  82. data/kinde_api/docs/GetApiScopesResponseScopesInner.md +22 -0
  83. data/kinde_api/docs/GetApisResponse.md +24 -0
  84. data/kinde_api/docs/GetApisResponseApisInner.md +26 -0
  85. data/kinde_api/docs/GetApisResponseApisInnerScopesInner.md +20 -0
  86. data/kinde_api/docs/GetApplicationResponseApplication.md +11 -5
  87. data/kinde_api/docs/GetBillingAgreementsResponse.md +24 -0
  88. data/kinde_api/docs/GetBillingAgreementsResponseAgreementsInner.md +26 -0
  89. data/kinde_api/docs/GetBillingAgreementsResponseAgreementsInnerEntitlementsInner.md +20 -0
  90. data/kinde_api/docs/GetBillingEntitlementsResponse.md +26 -0
  91. data/kinde_api/docs/GetBillingEntitlementsResponseEntitlementsInner.md +32 -0
  92. data/kinde_api/docs/GetBillingEntitlementsResponsePlansInner.md +20 -0
  93. data/kinde_api/docs/GetBusinessResponse.md +22 -0
  94. data/kinde_api/docs/GetBusinessResponseBusiness.md +38 -0
  95. data/kinde_api/docs/GetCategoriesResponse.md +24 -0
  96. data/kinde_api/docs/GetConnectionsResponse.md +24 -0
  97. data/kinde_api/docs/GetEnvironmentResponse.md +22 -0
  98. data/kinde_api/docs/GetEnvironmentResponseEnvironment.md +68 -0
  99. data/kinde_api/docs/GetEnvironmentResponseEnvironmentBackgroundColor.md +22 -0
  100. data/kinde_api/docs/GetEnvironmentResponseEnvironmentLinkColor.md +22 -0
  101. data/kinde_api/docs/GetEnvironmentVariableResponse.md +22 -0
  102. data/kinde_api/docs/GetEnvironmentVariablesResponse.md +24 -0
  103. data/kinde_api/docs/GetEventResponse.md +22 -0
  104. data/kinde_api/docs/GetEventResponseEvent.md +26 -0
  105. data/kinde_api/docs/GetEventTypesResponse.md +22 -0
  106. data/kinde_api/docs/GetIdentitiesResponse.md +24 -0
  107. data/kinde_api/docs/GetIndustriesResponse.md +22 -0
  108. data/kinde_api/docs/GetIndustriesResponseIndustriesInner.md +20 -0
  109. data/kinde_api/docs/GetOrganizationResponse.md +72 -0
  110. data/kinde_api/docs/GetOrganizationResponseBilling.md +20 -0
  111. data/kinde_api/docs/GetOrganizationResponseBillingAgreementsInner.md +20 -0
  112. data/kinde_api/docs/GetOrganizationUsersResponse.md +2 -2
  113. data/kinde_api/docs/GetOrganizationsResponse.md +4 -4
  114. data/kinde_api/docs/GetPropertiesResponse.md +24 -0
  115. data/kinde_api/docs/GetPropertyValuesResponse.md +24 -0
  116. data/kinde_api/docs/GetRoleResponse.md +22 -0
  117. data/kinde_api/docs/GetRoleResponseRole.md +26 -0
  118. data/kinde_api/docs/GetTimezonesResponse.md +22 -0
  119. data/kinde_api/docs/GetTimezonesResponseTimezonesInner.md +20 -0
  120. data/kinde_api/docs/GetUserMfaResponse.md +22 -0
  121. data/kinde_api/docs/GetUserMfaResponseMfa.md +30 -0
  122. data/kinde_api/docs/GetUserSessionsResponse.md +24 -0
  123. data/kinde_api/docs/GetUserSessionsResponseSessionsInner.md +40 -0
  124. data/kinde_api/docs/GetWebhooksResponse.md +22 -0
  125. data/kinde_api/docs/IdentitiesApi.md +219 -0
  126. data/kinde_api/docs/Identity.md +34 -0
  127. data/kinde_api/docs/IndustriesApi.md +14 -21
  128. data/kinde_api/docs/LogoutRedirectUrls.md +6 -2
  129. data/kinde_api/docs/MFAApi.md +77 -0
  130. data/kinde_api/docs/NotFoundResponse.md +18 -0
  131. data/kinde_api/docs/NotFoundResponseErrors.md +20 -0
  132. data/kinde_api/docs/OAuthApi.md +32 -97
  133. data/kinde_api/docs/OrganizationItemSchema.md +28 -0
  134. data/kinde_api/docs/OrganizationUser.md +17 -11
  135. data/kinde_api/docs/OrganizationsApi.md +1440 -210
  136. data/kinde_api/docs/Permissions.md +1 -1
  137. data/kinde_api/docs/PermissionsApi.md +7 -7
  138. data/kinde_api/docs/PropertiesApi.md +297 -0
  139. data/kinde_api/docs/Property.md +28 -0
  140. data/kinde_api/docs/PropertyCategoriesApi.md +227 -0
  141. data/kinde_api/docs/PropertyValue.md +26 -0
  142. data/kinde_api/docs/ReadEnvLogoResponse.md +22 -0
  143. data/kinde_api/docs/ReadEnvLogoResponseLogosInner.md +20 -0
  144. data/kinde_api/docs/ReadLogoResponse.md +22 -0
  145. data/kinde_api/docs/ReadLogoResponseLogosInner.md +22 -0
  146. data/kinde_api/docs/ReplaceConnectionRequest.md +24 -0
  147. data/kinde_api/docs/ReplaceConnectionRequestOptions.md +51 -0
  148. data/kinde_api/docs/ReplaceConnectionRequestOptionsOneOf.md +32 -0
  149. data/kinde_api/docs/ReplaceConnectionRequestOptionsOneOf1.md +40 -0
  150. data/kinde_api/docs/ReplaceMFARequest.md +20 -0
  151. data/kinde_api/docs/ReplaceOrganizationMFARequest.md +18 -0
  152. data/kinde_api/docs/RolePermissionsResponse.md +24 -0
  153. data/kinde_api/docs/RoleScopesResponse.md +22 -0
  154. data/kinde_api/docs/Roles.md +4 -2
  155. data/kinde_api/docs/RolesApi.md +338 -54
  156. data/kinde_api/docs/Scopes.md +24 -0
  157. data/kinde_api/docs/SearchApi.md +89 -0
  158. data/kinde_api/docs/SearchUsersResponse.md +22 -0
  159. data/kinde_api/docs/SearchUsersResponseResultsInner.md +46 -0
  160. data/kinde_api/docs/SetUserPasswordRequest.md +26 -0
  161. data/kinde_api/docs/SubscribersApi.md +4 -4
  162. data/kinde_api/docs/SuccessResponse.md +2 -2
  163. data/kinde_api/docs/TimezonesApi.md +14 -21
  164. data/kinde_api/docs/TokenIntrospect.md +5 -5
  165. data/kinde_api/docs/UpdateAPIApplicationsRequestApplicationsInner.md +4 -4
  166. data/kinde_api/docs/UpdateAPIScopeRequest.md +18 -0
  167. data/kinde_api/docs/UpdateApplicationRequest.md +5 -1
  168. data/kinde_api/docs/UpdateApplicationTokensRequest.md +26 -0
  169. data/kinde_api/docs/UpdateApplicationsPropertyRequest.md +18 -0
  170. data/kinde_api/docs/UpdateApplicationsPropertyRequestValue.md +49 -0
  171. data/kinde_api/docs/UpdateBusinessRequest.md +36 -0
  172. data/kinde_api/docs/UpdateCategoryRequest.md +18 -0
  173. data/kinde_api/docs/UpdateConnectionRequest.md +24 -0
  174. data/kinde_api/docs/UpdateEnvironmentVariableRequest.md +22 -0
  175. data/kinde_api/docs/UpdateEnvironmentVariableResponse.md +20 -0
  176. data/kinde_api/docs/UpdateIdentityRequest.md +18 -0
  177. data/kinde_api/docs/UpdateOrganizationPropertiesRequest.md +18 -0
  178. data/kinde_api/docs/UpdateOrganizationRequest.md +27 -15
  179. data/kinde_api/docs/UpdateOrganizationSessionsRequest.md +24 -0
  180. data/kinde_api/docs/UpdateOrganizationUsersRequestUsersInner.md +2 -2
  181. data/kinde_api/docs/UpdateOrganizationUsersResponse.md +3 -1
  182. data/kinde_api/docs/UpdatePropertyRequest.md +24 -0
  183. data/kinde_api/docs/UpdateUserRequest.md +5 -1
  184. data/kinde_api/docs/UpdateUserResponse.md +1 -1
  185. data/kinde_api/docs/UpdateWebHookRequest.md +22 -0
  186. data/kinde_api/docs/UpdateWebhookResponse.md +22 -0
  187. data/kinde_api/docs/UpdateWebhookResponseWebhook.md +18 -0
  188. data/kinde_api/docs/User.md +6 -2
  189. data/kinde_api/docs/UserProfileV2.md +17 -13
  190. data/kinde_api/docs/UsersApi.md +893 -99
  191. data/kinde_api/docs/UsersResponseUsersInner.md +6 -2
  192. data/kinde_api/docs/Webhook.md +28 -0
  193. data/kinde_api/docs/WebhooksApi.md +423 -0
  194. data/kinde_api/git_push.sh +57 -0
  195. data/kinde_api/kinde_api.gemspec +38 -0
  196. data/kinde_api/lib/kinde_api/api/apis_api.rb +640 -127
  197. data/kinde_api/lib/kinde_api/api/applications_api.rb +524 -112
  198. data/kinde_api/lib/kinde_api/api/billing_agreements_api.rb +166 -0
  199. data/kinde_api/lib/kinde_api/api/billing_entitlements_api.rb +105 -0
  200. data/kinde_api/lib/kinde_api/api/billing_meter_usage_api.rb +90 -0
  201. data/kinde_api/lib/kinde_api/api/business_api.rb +61 -126
  202. data/kinde_api/lib/kinde_api/api/callbacks_api.rb +152 -172
  203. data/kinde_api/lib/kinde_api/api/connected_apps_api.rb +57 -67
  204. data/kinde_api/lib/kinde_api/api/connections_api.rb +433 -0
  205. data/kinde_api/lib/kinde_api/api/environment_variables_api.rb +347 -0
  206. data/kinde_api/lib/kinde_api/api/environments_api.rb +327 -78
  207. data/kinde_api/lib/kinde_api/api/feature_flags_api.rb +68 -88
  208. data/kinde_api/lib/kinde_api/api/identities_api.rb +222 -0
  209. data/kinde_api/lib/kinde_api/api/industries_api.rb +29 -34
  210. data/kinde_api/lib/kinde_api/api/mfa_api.rb +90 -0
  211. data/kinde_api/lib/kinde_api/api/o_auth_api.rb +104 -129
  212. data/kinde_api/lib/kinde_api/api/organizations_api.rb +1689 -544
  213. data/kinde_api/lib/kinde_api/api/permissions_api.rb +76 -80
  214. data/kinde_api/lib/kinde_api/api/properties_api.rb +300 -0
  215. data/kinde_api/lib/kinde_api/api/property_categories_api.rb +237 -0
  216. data/kinde_api/lib/kinde_api/api/roles_api.rb +432 -166
  217. data/kinde_api/lib/kinde_api/api/search_api.rb +97 -0
  218. data/kinde_api/lib/kinde_api/api/subscribers_api.rb +59 -60
  219. data/kinde_api/lib/kinde_api/api/timezones_api.rb +29 -34
  220. data/kinde_api/lib/kinde_api/api/users_api.rb +900 -150
  221. data/kinde_api/lib/kinde_api/api/webhooks_api.rb +404 -0
  222. data/kinde_api/lib/kinde_api/api_client.rb +79 -68
  223. data/kinde_api/lib/kinde_api/api_error.rb +16 -16
  224. data/kinde_api/lib/kinde_api/configuration.rb +101 -24
  225. data/kinde_api/lib/kinde_api/models/add_api_scope_request.rb +235 -0
  226. data/kinde_api/lib/kinde_api/models/add_apis_request.rb +54 -49
  227. data/kinde_api/lib/kinde_api/models/add_organization_users_request.rb +40 -42
  228. data/kinde_api/lib/kinde_api/models/add_organization_users_request_users_inner.rb +53 -51
  229. data/kinde_api/lib/kinde_api/models/add_organization_users_response.rb +52 -50
  230. data/kinde_api/lib/kinde_api/models/add_role_scope_request.rb +225 -0
  231. data/kinde_api/lib/kinde_api/models/add_role_scope_response.rb +230 -0
  232. data/kinde_api/lib/kinde_api/models/api_result.rb +38 -40
  233. data/kinde_api/lib/kinde_api/models/applications.rb +55 -50
  234. data/kinde_api/lib/kinde_api/models/authorize_app_api_response.rb +250 -0
  235. data/kinde_api/lib/kinde_api/models/category.rb +228 -0
  236. data/kinde_api/lib/kinde_api/models/connected_apps_access_token.rb +44 -45
  237. data/kinde_api/lib/kinde_api/models/connected_apps_auth_url.rb +44 -45
  238. data/kinde_api/lib/kinde_api/models/connection.rb +239 -0
  239. data/kinde_api/lib/kinde_api/models/connection_connection.rb +246 -0
  240. data/kinde_api/lib/kinde_api/models/create_api_scopes_response.rb +239 -0
  241. data/kinde_api/lib/kinde_api/models/create_api_scopes_response_scope.rb +220 -0
  242. data/kinde_api/lib/kinde_api/models/create_apis_response.rb +239 -0
  243. data/kinde_api/lib/kinde_api/models/create_apis_response_api.rb +220 -0
  244. data/kinde_api/lib/kinde_api/models/create_application_request.rb +60 -52
  245. data/kinde_api/lib/kinde_api/models/create_application_response.rb +50 -49
  246. data/kinde_api/lib/kinde_api/models/create_application_response_application.rb +51 -50
  247. data/kinde_api/lib/kinde_api/models/create_billing_agreement_request.rb +260 -0
  248. data/kinde_api/lib/kinde_api/models/create_category_request.rb +274 -0
  249. data/kinde_api/lib/kinde_api/models/create_category_response.rb +237 -0
  250. data/kinde_api/lib/kinde_api/models/create_category_response_category.rb +220 -0
  251. data/kinde_api/lib/kinde_api/models/create_connection_request.rb +306 -0
  252. data/kinde_api/lib/kinde_api/models/create_connection_request_options.rb +106 -0
  253. data/kinde_api/lib/kinde_api/models/create_connection_request_options_one_of.rb +241 -0
  254. data/kinde_api/lib/kinde_api/models/create_connection_request_options_one_of1.rb +303 -0
  255. data/kinde_api/lib/kinde_api/models/create_connection_request_options_one_of2.rb +333 -0
  256. data/kinde_api/lib/kinde_api/models/create_connection_response.rb +237 -0
  257. data/kinde_api/lib/kinde_api/models/create_connection_response_connection.rb +220 -0
  258. data/kinde_api/lib/kinde_api/models/create_environment_variable_request.rb +250 -0
  259. data/kinde_api/lib/kinde_api/models/create_environment_variable_response.rb +239 -0
  260. data/kinde_api/lib/kinde_api/models/create_environment_variable_response_environment_variable.rb +220 -0
  261. data/kinde_api/lib/kinde_api/models/create_feature_flag_request.rb +87 -77
  262. data/kinde_api/lib/kinde_api/models/create_identity_response.rb +237 -0
  263. data/kinde_api/lib/kinde_api/models/create_identity_response_identity.rb +220 -0
  264. data/kinde_api/lib/kinde_api/models/create_meter_usage_record_request.rb +309 -0
  265. data/kinde_api/lib/kinde_api/models/create_meter_usage_record_response.rb +230 -0
  266. data/kinde_api/lib/kinde_api/models/create_organization_request.rb +175 -100
  267. data/kinde_api/lib/kinde_api/models/create_organization_response.rb +57 -50
  268. data/kinde_api/lib/kinde_api/models/create_organization_response_organization.rb +49 -42
  269. data/kinde_api/lib/kinde_api/models/create_organization_user_permission_request.rb +38 -41
  270. data/kinde_api/lib/kinde_api/models/create_organization_user_role_request.rb +38 -41
  271. data/kinde_api/lib/kinde_api/models/create_permission_request.rb +50 -49
  272. data/kinde_api/lib/kinde_api/models/create_property_request.rb +356 -0
  273. data/kinde_api/lib/kinde_api/models/create_property_response.rb +237 -0
  274. data/kinde_api/lib/kinde_api/models/create_property_response_property.rb +220 -0
  275. data/kinde_api/lib/kinde_api/models/create_role_request.rb +56 -53
  276. data/kinde_api/lib/kinde_api/models/create_roles_response.rb +239 -0
  277. data/kinde_api/lib/kinde_api/models/create_roles_response_role.rb +220 -0
  278. data/kinde_api/lib/kinde_api/models/create_subscriber_success_response.rb +38 -41
  279. data/kinde_api/lib/kinde_api/models/create_subscriber_success_response_subscriber.rb +38 -41
  280. data/kinde_api/lib/kinde_api/models/create_user_identity_request.rb +284 -0
  281. data/kinde_api/lib/kinde_api/models/create_user_request.rb +62 -50
  282. data/kinde_api/lib/kinde_api/models/create_user_request_identities_inner.rb +60 -52
  283. data/kinde_api/lib/kinde_api/models/create_user_request_identities_inner_details.rb +67 -40
  284. data/kinde_api/lib/kinde_api/models/create_user_request_profile.rb +54 -45
  285. data/kinde_api/lib/kinde_api/models/create_user_response.rb +53 -51
  286. data/kinde_api/lib/kinde_api/models/create_web_hook_request.rb +268 -0
  287. data/kinde_api/lib/kinde_api/models/create_webhook_response.rb +239 -0
  288. data/kinde_api/lib/kinde_api/models/create_webhook_response_webhook.rb +228 -0
  289. data/kinde_api/lib/kinde_api/models/delete_api_response.rb +228 -0
  290. data/kinde_api/lib/kinde_api/models/delete_environment_variable_response.rb +230 -0
  291. data/kinde_api/lib/kinde_api/models/delete_role_scope_response.rb +230 -0
  292. data/kinde_api/lib/kinde_api/models/delete_webhook_response.rb +230 -0
  293. data/kinde_api/lib/kinde_api/models/environment_variable.rb +261 -0
  294. data/kinde_api/lib/kinde_api/models/error.rb +44 -44
  295. data/kinde_api/lib/kinde_api/models/error_response.rb +40 -42
  296. data/kinde_api/lib/kinde_api/models/event_type.rb +255 -0
  297. data/kinde_api/lib/kinde_api/models/get_api_response.rb +239 -0
  298. data/kinde_api/lib/kinde_api/models/get_api_response_api.rb +272 -0
  299. data/kinde_api/lib/kinde_api/models/get_api_response_api_applications_inner.rb +285 -0
  300. data/kinde_api/lib/kinde_api/models/get_api_response_api_scopes_inner.rb +230 -0
  301. data/kinde_api/lib/kinde_api/models/get_api_scope_response.rb +239 -0
  302. data/kinde_api/lib/kinde_api/models/get_api_scopes_response.rb +241 -0
  303. data/kinde_api/lib/kinde_api/models/get_api_scopes_response_scopes_inner.rb +240 -0
  304. data/kinde_api/lib/kinde_api/models/get_apis_response.rb +251 -0
  305. data/kinde_api/lib/kinde_api/models/get_apis_response_apis_inner.rb +261 -0
  306. data/kinde_api/lib/kinde_api/models/get_apis_response_apis_inner_scopes_inner.rb +228 -0
  307. data/kinde_api/lib/kinde_api/models/get_application_response.rb +50 -49
  308. data/kinde_api/lib/kinde_api/models/get_application_response_application.rb +126 -57
  309. data/kinde_api/lib/kinde_api/models/get_applications_response.rb +57 -54
  310. data/kinde_api/lib/kinde_api/models/get_billing_agreements_response.rb +252 -0
  311. data/kinde_api/lib/kinde_api/models/get_billing_agreements_response_agreements_inner.rb +262 -0
  312. data/kinde_api/lib/kinde_api/models/get_billing_agreements_response_agreements_inner_entitlements_inner.rb +230 -0
  313. data/kinde_api/lib/kinde_api/models/get_billing_entitlements_response.rb +264 -0
  314. data/kinde_api/lib/kinde_api/models/get_billing_entitlements_response_entitlements_inner.rb +290 -0
  315. data/kinde_api/lib/kinde_api/models/get_billing_entitlements_response_plans_inner.rb +229 -0
  316. data/kinde_api/lib/kinde_api/models/get_business_response.rb +239 -0
  317. data/kinde_api/lib/kinde_api/models/get_business_response_business.rb +326 -0
  318. data/kinde_api/lib/kinde_api/models/get_categories_response.rb +251 -0
  319. data/kinde_api/lib/kinde_api/models/get_connections_response.rb +251 -0
  320. data/kinde_api/lib/kinde_api/models/get_environment_feature_flags_response.rb +57 -54
  321. data/kinde_api/lib/kinde_api/models/get_environment_response.rb +239 -0
  322. data/kinde_api/lib/kinde_api/models/get_environment_response_environment.rb +526 -0
  323. data/kinde_api/lib/kinde_api/models/get_environment_response_environment_background_color.rb +237 -0
  324. data/kinde_api/lib/kinde_api/models/get_environment_response_environment_link_color.rb +237 -0
  325. data/kinde_api/lib/kinde_api/models/get_environment_variable_response.rb +239 -0
  326. data/kinde_api/lib/kinde_api/models/get_environment_variables_response.rb +251 -0
  327. data/kinde_api/lib/kinde_api/models/get_event_response.rb +239 -0
  328. data/kinde_api/lib/kinde_api/models/get_event_response_event.rb +257 -0
  329. data/kinde_api/lib/kinde_api/models/get_event_types_response.rb +241 -0
  330. data/kinde_api/lib/kinde_api/models/get_identities_response.rb +251 -0
  331. data/kinde_api/lib/kinde_api/models/get_industries_response.rb +241 -0
  332. data/kinde_api/lib/kinde_api/models/get_industries_response_industries_inner.rb +230 -0
  333. data/kinde_api/lib/kinde_api/models/get_organization_feature_flags_response.rb +52 -50
  334. data/kinde_api/lib/kinde_api/models/get_organization_feature_flags_response_feature_flags_value.rb +52 -52
  335. data/kinde_api/lib/kinde_api/models/get_organization_response.rb +547 -0
  336. data/kinde_api/lib/kinde_api/models/get_organization_response_billing.rb +232 -0
  337. data/kinde_api/lib/kinde_api/models/get_organization_response_billing_agreements_inner.rb +230 -0
  338. data/kinde_api/lib/kinde_api/models/get_organization_users_response.rb +57 -54
  339. data/kinde_api/lib/kinde_api/models/get_organizations_response.rb +57 -54
  340. data/kinde_api/lib/kinde_api/models/get_organizations_user_permissions_response.rb +52 -50
  341. data/kinde_api/lib/kinde_api/models/get_organizations_user_roles_response.rb +57 -54
  342. data/kinde_api/lib/kinde_api/models/get_permissions_response.rb +57 -54
  343. data/kinde_api/lib/kinde_api/models/get_properties_response.rb +251 -0
  344. data/kinde_api/lib/kinde_api/models/get_property_values_response.rb +251 -0
  345. data/kinde_api/lib/kinde_api/models/get_redirect_callback_urls_response.rb +40 -42
  346. data/kinde_api/lib/kinde_api/models/get_role_response.rb +239 -0
  347. data/kinde_api/lib/kinde_api/models/get_role_response_role.rb +260 -0
  348. data/kinde_api/lib/kinde_api/models/get_roles_response.rb +57 -54
  349. data/kinde_api/lib/kinde_api/models/get_subscriber_response.rb +52 -50
  350. data/kinde_api/lib/kinde_api/models/get_subscribers_response.rb +57 -54
  351. data/kinde_api/lib/kinde_api/models/get_timezones_response.rb +241 -0
  352. data/kinde_api/lib/kinde_api/models/get_timezones_response_timezones_inner.rb +230 -0
  353. data/kinde_api/lib/kinde_api/models/get_user_mfa_response.rb +237 -0
  354. data/kinde_api/lib/kinde_api/models/get_user_mfa_response_mfa.rb +280 -0
  355. data/kinde_api/lib/kinde_api/models/get_user_sessions_response.rb +248 -0
  356. data/kinde_api/lib/kinde_api/models/get_user_sessions_response_sessions_inner.rb +331 -0
  357. data/kinde_api/lib/kinde_api/models/get_webhooks_response.rb +241 -0
  358. data/kinde_api/lib/kinde_api/models/identity.rb +300 -0
  359. data/kinde_api/lib/kinde_api/models/logout_redirect_urls.rb +60 -42
  360. data/kinde_api/lib/kinde_api/models/not_found_response.rb +219 -0
  361. data/kinde_api/lib/kinde_api/models/not_found_response_errors.rb +228 -0
  362. data/kinde_api/lib/kinde_api/models/organization_item_schema.rb +272 -0
  363. data/kinde_api/lib/kinde_api/models/organization_user.rb +122 -62
  364. data/kinde_api/lib/kinde_api/models/organization_user_permission.rb +73 -59
  365. data/kinde_api/lib/kinde_api/models/organization_user_permission_roles_inner.rb +47 -46
  366. data/kinde_api/lib/kinde_api/models/organization_user_role.rb +55 -50
  367. data/kinde_api/lib/kinde_api/models/organization_user_role_permissions.rb +55 -50
  368. data/kinde_api/lib/kinde_api/models/organization_user_role_permissions_permissions.rb +38 -41
  369. data/kinde_api/lib/kinde_api/models/permissions.rb +57 -54
  370. data/kinde_api/lib/kinde_api/models/property.rb +264 -0
  371. data/kinde_api/lib/kinde_api/models/property_value.rb +257 -0
  372. data/kinde_api/lib/kinde_api/models/read_env_logo_response.rb +242 -0
  373. data/kinde_api/lib/kinde_api/models/read_env_logo_response_logos_inner.rb +230 -0
  374. data/kinde_api/lib/kinde_api/models/read_logo_response.rb +242 -0
  375. data/kinde_api/lib/kinde_api/models/read_logo_response_logos_inner.rb +240 -0
  376. data/kinde_api/lib/kinde_api/models/redirect_callback_urls.rb +40 -42
  377. data/kinde_api/lib/kinde_api/models/replace_connection_request.rb +251 -0
  378. data/kinde_api/lib/kinde_api/models/replace_connection_request_options.rb +106 -0
  379. data/kinde_api/lib/kinde_api/models/replace_connection_request_options_one_of.rb +293 -0
  380. data/kinde_api/lib/kinde_api/models/replace_connection_request_options_one_of1.rb +313 -0
  381. data/kinde_api/lib/kinde_api/models/replace_logout_redirect_urls_request.rb +40 -42
  382. data/kinde_api/lib/kinde_api/models/replace_mfa_request.rb +276 -0
  383. data/kinde_api/lib/kinde_api/models/replace_organization_mfa_request.rb +249 -0
  384. data/kinde_api/lib/kinde_api/models/replace_redirect_callback_urls_request.rb +40 -42
  385. data/kinde_api/lib/kinde_api/models/role.rb +63 -53
  386. data/kinde_api/lib/kinde_api/models/role_permissions_response.rb +251 -0
  387. data/kinde_api/lib/kinde_api/models/role_scopes_response.rb +241 -0
  388. data/kinde_api/lib/kinde_api/models/roles.rb +68 -53
  389. data/kinde_api/lib/kinde_api/models/scopes.rb +250 -0
  390. data/kinde_api/lib/kinde_api/models/search_users_response.rb +241 -0
  391. data/kinde_api/lib/kinde_api/models/search_users_response_results_inner.rb +374 -0
  392. data/kinde_api/lib/kinde_api/models/set_user_password_request.rb +311 -0
  393. data/kinde_api/lib/kinde_api/models/subscriber.rb +63 -54
  394. data/kinde_api/lib/kinde_api/models/subscribers_subscriber.rb +71 -58
  395. data/kinde_api/lib/kinde_api/models/success_response.rb +47 -46
  396. data/kinde_api/lib/kinde_api/models/token_error_response.rb +44 -45
  397. data/kinde_api/lib/kinde_api/models/token_introspect.rb +63 -58
  398. data/kinde_api/lib/kinde_api/models/update_api_applications_request.rb +42 -44
  399. data/kinde_api/lib/kinde_api/models/update_api_applications_request_applications_inner.rb +48 -49
  400. data/kinde_api/lib/kinde_api/models/update_api_scope_request.rb +220 -0
  401. data/kinde_api/lib/kinde_api/models/update_application_request.rb +78 -54
  402. data/kinde_api/lib/kinde_api/models/update_application_tokens_request.rb +260 -0
  403. data/kinde_api/lib/kinde_api/models/update_applications_property_request.rb +224 -0
  404. data/kinde_api/lib/kinde_api/models/update_applications_property_request_value.rb +106 -0
  405. data/kinde_api/lib/kinde_api/models/update_business_request.rb +320 -0
  406. data/kinde_api/lib/kinde_api/models/update_category_request.rb +220 -0
  407. data/kinde_api/lib/kinde_api/models/update_connection_request.rb +251 -0
  408. data/kinde_api/lib/kinde_api/models/update_environement_feature_flag_override_request.rb +40 -43
  409. data/kinde_api/lib/kinde_api/models/update_environment_variable_request.rb +240 -0
  410. data/kinde_api/lib/kinde_api/models/update_environment_variable_response.rb +230 -0
  411. data/kinde_api/lib/kinde_api/models/update_identity_request.rb +220 -0
  412. data/kinde_api/lib/kinde_api/models/update_organization_properties_request.rb +225 -0
  413. data/kinde_api/lib/kinde_api/models/update_organization_request.rb +209 -91
  414. data/kinde_api/lib/kinde_api/models/update_organization_sessions_request.rb +284 -0
  415. data/kinde_api/lib/kinde_api/models/update_organization_users_request.rb +40 -42
  416. data/kinde_api/lib/kinde_api/models/update_organization_users_request_users_inner.rb +59 -55
  417. data/kinde_api/lib/kinde_api/models/update_organization_users_response.rb +76 -57
  418. data/kinde_api/lib/kinde_api/models/update_property_request.rb +265 -0
  419. data/kinde_api/lib/kinde_api/models/update_role_permissions_request.rb +40 -42
  420. data/kinde_api/lib/kinde_api/models/update_role_permissions_request_permissions_inner.rb +44 -45
  421. data/kinde_api/lib/kinde_api/models/update_role_permissions_response.rb +66 -56
  422. data/kinde_api/lib/kinde_api/models/update_roles_request.rb +61 -56
  423. data/kinde_api/lib/kinde_api/models/update_user_request.rb +75 -52
  424. data/kinde_api/lib/kinde_api/models/update_user_response.rb +75 -67
  425. data/kinde_api/lib/kinde_api/models/update_web_hook_request.rb +243 -0
  426. data/kinde_api/lib/kinde_api/models/update_webhook_response.rb +237 -0
  427. data/kinde_api/lib/kinde_api/models/update_webhook_response_webhook.rb +219 -0
  428. data/kinde_api/lib/kinde_api/models/user.rb +138 -97
  429. data/kinde_api/lib/kinde_api/models/user_identities_inner.rb +47 -46
  430. data/kinde_api/lib/kinde_api/models/user_identity.rb +44 -45
  431. data/kinde_api/lib/kinde_api/models/user_identity_result.rb +38 -41
  432. data/kinde_api/lib/kinde_api/models/user_profile_v2.rb +113 -79
  433. data/kinde_api/lib/kinde_api/models/users_response.rb +57 -54
  434. data/kinde_api/lib/kinde_api/models/users_response_users_inner.rb +138 -98
  435. data/kinde_api/lib/kinde_api/models/webhook.rb +267 -0
  436. data/kinde_api/lib/kinde_api/version.rb +12 -12
  437. data/kinde_api/lib/kinde_api.rb +160 -36
  438. data/kinde_api/spec/api/billing_agreements_api_spec.rb +62 -0
  439. data/kinde_api/spec/api/billing_entitlements_api_spec.rb +52 -0
  440. data/kinde_api/spec/api/billing_meter_usage_api_spec.rb +47 -0
  441. data/kinde_api/spec/api/connections_api_spec.rb +112 -0
  442. data/kinde_api/spec/api/environment_variables_api_spec.rb +95 -0
  443. data/kinde_api/spec/api/identities_api_spec.rb +72 -0
  444. data/kinde_api/spec/api/mfa_api_spec.rb +47 -0
  445. data/kinde_api/spec/api/properties_api_spec.rb +87 -0
  446. data/kinde_api/spec/api/property_categories_api_spec.rb +75 -0
  447. data/kinde_api/spec/api/search_api_spec.rb +52 -0
  448. data/kinde_api/spec/api/webhooks_api_spec.rb +106 -0
  449. data/kinde_api/spec/api_client_spec.rb +27 -21
  450. data/kinde_api/spec/configuration_spec.rb +14 -14
  451. data/kinde_api/spec/models/add_api_scope_request_spec.rb +40 -0
  452. data/kinde_api/spec/models/add_role_scope_request_spec.rb +34 -0
  453. data/kinde_api/spec/models/add_role_scope_response_spec.rb +40 -0
  454. data/kinde_api/spec/models/authorize_app_api_response_spec.rb +52 -0
  455. data/kinde_api/spec/models/category_spec.rb +40 -0
  456. data/kinde_api/spec/models/connection_connection_spec.rb +52 -0
  457. data/kinde_api/spec/models/connection_spec.rb +46 -0
  458. data/kinde_api/spec/models/create_api_scopes_response_scope_spec.rb +34 -0
  459. data/kinde_api/spec/models/create_api_scopes_response_spec.rb +46 -0
  460. data/kinde_api/spec/models/create_apis_response_api_spec.rb +34 -0
  461. data/kinde_api/spec/models/create_apis_response_spec.rb +46 -0
  462. data/kinde_api/spec/models/create_billing_agreement_request_spec.rb +52 -0
  463. data/kinde_api/spec/models/create_category_request_spec.rb +44 -0
  464. data/kinde_api/spec/models/create_category_response_category_spec.rb +34 -0
  465. data/kinde_api/spec/models/create_category_response_spec.rb +46 -0
  466. data/kinde_api/spec/models/create_connection_request_options_one_of1_spec.rb +82 -0
  467. data/kinde_api/spec/models/create_connection_request_options_one_of2_spec.rb +100 -0
  468. data/kinde_api/spec/models/create_connection_request_options_one_of_spec.rb +46 -0
  469. data/kinde_api/spec/models/create_connection_request_options_spec.rb +31 -0
  470. data/kinde_api/spec/models/create_connection_request_spec.rb +68 -0
  471. data/kinde_api/spec/models/create_connection_response_connection_spec.rb +34 -0
  472. data/kinde_api/spec/models/create_connection_response_spec.rb +46 -0
  473. data/kinde_api/spec/models/create_environment_variable_request_spec.rb +46 -0
  474. data/kinde_api/spec/models/create_environment_variable_response_environment_variable_spec.rb +34 -0
  475. data/kinde_api/spec/models/create_environment_variable_response_spec.rb +46 -0
  476. data/kinde_api/spec/models/create_identity_response_identity_spec.rb +34 -0
  477. data/kinde_api/spec/models/create_identity_response_spec.rb +46 -0
  478. data/kinde_api/spec/models/create_meter_usage_record_request_spec.rb +62 -0
  479. data/kinde_api/spec/models/create_meter_usage_record_response_spec.rb +40 -0
  480. data/kinde_api/spec/models/create_property_request_spec.rb +78 -0
  481. data/kinde_api/spec/models/create_property_response_property_spec.rb +34 -0
  482. data/kinde_api/spec/models/create_property_response_spec.rb +46 -0
  483. data/kinde_api/spec/models/create_roles_response_role_spec.rb +34 -0
  484. data/kinde_api/spec/models/create_roles_response_spec.rb +46 -0
  485. data/kinde_api/spec/models/create_user_identity_request_spec.rb +56 -0
  486. data/kinde_api/spec/models/create_web_hook_request_spec.rb +52 -0
  487. data/kinde_api/spec/models/create_webhook_response_spec.rb +46 -0
  488. data/kinde_api/spec/models/create_webhook_response_webhook_spec.rb +40 -0
  489. data/kinde_api/spec/models/delete_api_response_spec.rb +40 -0
  490. data/kinde_api/spec/models/delete_environment_variable_response_spec.rb +40 -0
  491. data/kinde_api/spec/models/delete_role_scope_response_spec.rb +40 -0
  492. data/kinde_api/spec/models/delete_webhook_response_spec.rb +40 -0
  493. data/kinde_api/spec/models/environment_variable_spec.rb +58 -0
  494. data/kinde_api/spec/models/event_type_spec.rb +58 -0
  495. data/kinde_api/spec/models/get_api_response_api_applications_inner_spec.rb +56 -0
  496. data/kinde_api/spec/models/get_api_response_api_scopes_inner_spec.rb +40 -0
  497. data/kinde_api/spec/models/get_api_response_api_spec.rb +64 -0
  498. data/kinde_api/spec/models/get_api_response_spec.rb +46 -0
  499. data/kinde_api/spec/models/get_api_scope_response_spec.rb +46 -0
  500. data/kinde_api/spec/models/get_api_scopes_response_scopes_inner_spec.rb +46 -0
  501. data/kinde_api/spec/models/get_api_scopes_response_spec.rb +46 -0
  502. data/kinde_api/spec/models/get_apis_response_apis_inner_scopes_inner_spec.rb +40 -0
  503. data/kinde_api/spec/models/get_apis_response_apis_inner_spec.rb +58 -0
  504. data/kinde_api/spec/models/get_apis_response_spec.rb +52 -0
  505. data/kinde_api/spec/models/get_billing_agreements_response_agreements_inner_entitlements_inner_spec.rb +40 -0
  506. data/kinde_api/spec/models/get_billing_agreements_response_agreements_inner_spec.rb +58 -0
  507. data/kinde_api/spec/models/get_billing_agreements_response_spec.rb +52 -0
  508. data/kinde_api/spec/models/get_billing_entitlements_response_entitlements_inner_spec.rb +76 -0
  509. data/kinde_api/spec/models/get_billing_entitlements_response_plans_inner_spec.rb +40 -0
  510. data/kinde_api/spec/models/get_billing_entitlements_response_spec.rb +58 -0
  511. data/kinde_api/spec/models/get_business_response_business_spec.rb +94 -0
  512. data/kinde_api/spec/models/get_business_response_spec.rb +46 -0
  513. data/kinde_api/spec/models/get_categories_response_spec.rb +52 -0
  514. data/kinde_api/spec/models/get_connections_response_spec.rb +52 -0
  515. data/kinde_api/spec/models/get_environment_response_environment_background_color_spec.rb +46 -0
  516. data/kinde_api/spec/models/get_environment_response_environment_link_color_spec.rb +46 -0
  517. data/kinde_api/spec/models/get_environment_response_environment_spec.rb +192 -0
  518. data/kinde_api/spec/models/get_environment_response_spec.rb +46 -0
  519. data/kinde_api/spec/models/get_environment_variable_response_spec.rb +46 -0
  520. data/kinde_api/spec/models/get_environment_variables_response_spec.rb +52 -0
  521. data/kinde_api/spec/models/get_event_response_event_spec.rb +58 -0
  522. data/kinde_api/spec/models/get_event_response_spec.rb +46 -0
  523. data/kinde_api/spec/models/get_event_types_response_spec.rb +46 -0
  524. data/kinde_api/spec/models/get_identities_response_spec.rb +52 -0
  525. data/kinde_api/spec/models/get_industries_response_industries_inner_spec.rb +40 -0
  526. data/kinde_api/spec/models/get_industries_response_spec.rb +46 -0
  527. data/kinde_api/spec/models/get_organization_response_billing_agreements_inner_spec.rb +40 -0
  528. data/kinde_api/spec/models/get_organization_response_billing_spec.rb +40 -0
  529. data/kinde_api/spec/models/get_organization_response_spec.rb +204 -0
  530. data/kinde_api/spec/models/get_properties_response_spec.rb +52 -0
  531. data/kinde_api/spec/models/get_property_values_response_spec.rb +52 -0
  532. data/kinde_api/spec/models/get_role_response_role_spec.rb +58 -0
  533. data/kinde_api/spec/models/get_role_response_spec.rb +46 -0
  534. data/kinde_api/spec/models/get_timezones_response_spec.rb +46 -0
  535. data/kinde_api/spec/models/get_timezones_response_timezones_inner_spec.rb +40 -0
  536. data/kinde_api/spec/models/get_user_mfa_response_mfa_spec.rb +70 -0
  537. data/kinde_api/spec/models/get_user_mfa_response_spec.rb +46 -0
  538. data/kinde_api/spec/models/get_user_sessions_response_sessions_inner_spec.rb +100 -0
  539. data/kinde_api/spec/models/get_user_sessions_response_spec.rb +52 -0
  540. data/kinde_api/spec/models/get_webhooks_response_spec.rb +46 -0
  541. data/kinde_api/spec/models/identity_spec.rb +82 -0
  542. data/kinde_api/spec/models/not_found_response_errors_spec.rb +40 -0
  543. data/kinde_api/spec/models/not_found_response_spec.rb +34 -0
  544. data/kinde_api/spec/models/organization_item_schema_spec.rb +64 -0
  545. data/kinde_api/spec/models/property_spec.rb +64 -0
  546. data/kinde_api/spec/models/property_value_spec.rb +58 -0
  547. data/kinde_api/spec/models/read_env_logo_response_logos_inner_spec.rb +40 -0
  548. data/kinde_api/spec/models/read_env_logo_response_spec.rb +46 -0
  549. data/kinde_api/spec/models/read_logo_response_logos_inner_spec.rb +46 -0
  550. data/kinde_api/spec/models/read_logo_response_spec.rb +46 -0
  551. data/kinde_api/spec/models/replace_connection_request_options_one_of1_spec.rb +88 -0
  552. data/kinde_api/spec/models/replace_connection_request_options_one_of_spec.rb +76 -0
  553. data/kinde_api/spec/models/replace_connection_request_options_spec.rb +31 -0
  554. data/kinde_api/spec/models/replace_connection_request_spec.rb +52 -0
  555. data/kinde_api/spec/models/replace_mfa_request_spec.rb +48 -0
  556. data/kinde_api/spec/models/replace_organization_mfa_request_spec.rb +38 -0
  557. data/kinde_api/spec/models/role_permissions_response_spec.rb +52 -0
  558. data/kinde_api/spec/models/role_scopes_response_spec.rb +46 -0
  559. data/kinde_api/spec/models/scopes_spec.rb +52 -0
  560. data/kinde_api/spec/models/search_users_response_results_inner_spec.rb +118 -0
  561. data/kinde_api/spec/models/search_users_response_spec.rb +46 -0
  562. data/kinde_api/spec/models/set_user_password_request_spec.rb +66 -0
  563. data/kinde_api/spec/models/update_api_scope_request_spec.rb +34 -0
  564. data/kinde_api/spec/models/update_application_tokens_request_spec.rb +58 -0
  565. data/kinde_api/spec/models/update_applications_property_request_spec.rb +34 -0
  566. data/kinde_api/spec/models/update_applications_property_request_value_spec.rb +31 -0
  567. data/kinde_api/spec/models/update_business_request_spec.rb +88 -0
  568. data/kinde_api/spec/models/update_category_request_spec.rb +34 -0
  569. data/kinde_api/spec/models/update_connection_request_spec.rb +52 -0
  570. data/kinde_api/spec/models/update_environment_variable_request_spec.rb +46 -0
  571. data/kinde_api/spec/models/update_environment_variable_response_spec.rb +40 -0
  572. data/kinde_api/spec/models/update_identity_request_spec.rb +34 -0
  573. data/kinde_api/spec/models/update_organization_properties_request_spec.rb +34 -0
  574. data/kinde_api/spec/models/update_organization_sessions_request_spec.rb +56 -0
  575. data/kinde_api/spec/models/update_property_request_spec.rb +52 -0
  576. data/kinde_api/spec/models/update_web_hook_request_spec.rb +46 -0
  577. data/kinde_api/spec/models/update_webhook_response_spec.rb +46 -0
  578. data/kinde_api/spec/models/update_webhook_response_webhook_spec.rb +34 -0
  579. data/kinde_api/spec/models/webhook_spec.rb +64 -0
  580. data/kinde_api/spec/spec_helper.rb +63 -62
  581. data/lib/kinde_sdk/client.rb +88 -19
  582. data/lib/kinde_sdk/current.rb +16 -0
  583. data/lib/kinde_sdk/engine.rb +6 -0
  584. data/lib/kinde_sdk/middleware.rb +16 -0
  585. data/lib/kinde_sdk/token_manager.rb +85 -0
  586. data/lib/kinde_sdk/token_store.rb +29 -0
  587. data/lib/kinde_sdk/version.rb +1 -1
  588. data/lib/kinde_sdk.rb +22 -14
  589. data/spec/examples.txt +24 -0
  590. data/spec/kinde_sdk_spec.rb +211 -125
  591. data/spec/spec_helper.rb +4 -4
  592. metadata +656 -88
@@ -2,21 +2,29 @@ require 'spec_helper'
2
2
  require 'jwt'
3
3
  require 'openssl'
4
4
  require 'webmock/rspec'
5
+ require 'rails'
5
6
 
7
+ # Set up a minimal Rails application for testing
8
+ class TestApplication < Rails::Application
9
+ config.eager_load = false
10
+ config.active_support.deprecation = :stderr
11
+ end
6
12
 
7
- describe KindeSdk do
13
+ RSpec.describe KindeSdk do
8
14
  let(:domain) { "http://example.com" }
9
15
  let(:client_id) { "client_id" }
10
16
  let(:client_secret) { "client_secret" }
11
17
  let(:callback_url) { "http://localhost:3000/callback" }
12
18
  let(:logout_url) { "http://localhost/logout-callback" }
13
19
  let(:auto_refresh_tokens) { true }
20
+ let(:mock_session) { {} }
14
21
 
15
22
  let(:optional_parameters) { { kid: 'my-kid', use: 'sig', alg: 'RS512' } }
16
23
  let(:rsa_key) { OpenSSL::PKey::RSA.new(2048) }
17
24
  let(:jwk) { JWT::JWK.new(rsa_key, optional_parameters) }
18
25
  let(:payload) { { data: 'data' } }
19
26
  let(:token) { JWT.encode(payload, jwk.signing_key, jwk[:alg], kid: jwk[:kid]) }
27
+ let(:refresh_token) { JWT.encode(payload, jwk.signing_key, jwk[:alg], kid: jwk[:kid]) }
20
28
  let(:jwks_hash) { JWT::JWK::Set.new(jwk).export }
21
29
 
22
30
  before do
@@ -28,6 +36,44 @@ describe KindeSdk do
28
36
  c.logout_url = logout_url
29
37
  c.auto_refresh_tokens = auto_refresh_tokens
30
38
  end
39
+
40
+ # Stub JWKS endpoint
41
+ stub_request(:get, "#{domain}/.well-known/jwks.json")
42
+ .with(
43
+ headers: {
44
+ 'Accept' => '*/*',
45
+ 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',
46
+ 'User-Agent' => 'Ruby'
47
+ }
48
+ )
49
+ .to_return(
50
+ status: 200,
51
+ body: jwks_hash.to_json,
52
+ headers: { "content-type" => "application/json;charset=UTF-8" }
53
+ )
54
+
55
+ # Stub token refresh endpoint - match URL-encoded request
56
+ stub_request(:post, "#{domain}/oauth2/token")
57
+ .with(
58
+ body: /^grant_type=refresh_token&refresh_token=/,
59
+ headers: {
60
+ 'Accept' => '*/*',
61
+ 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',
62
+ 'Authorization' => 'Basic Y2xpZW50X2lkOmNsaWVudF9zZWNyZXQ=',
63
+ 'Content-Type' => 'application/x-www-form-urlencoded',
64
+ 'User-Agent' => "Kinde-SDK: Ruby/#{KindeSdk::VERSION}"
65
+ }
66
+ )
67
+ .to_return(
68
+ status: 200,
69
+ body: {
70
+ "access_token" => token,
71
+ "refresh_token" => refresh_token,
72
+ "expires_in" => 3600,
73
+ "token_type" => "bearer"
74
+ }.to_json,
75
+ headers: { "content-type" => "application/json;charset=UTF-8" }
76
+ )
31
77
  end
32
78
 
33
79
  describe "#auth_url" do
@@ -60,84 +106,86 @@ describe KindeSdk do
60
106
 
61
107
  describe "#api_client" do
62
108
  it "returns initialized api_client instance of KindeApi" do
63
- expect(described_class.api_client({ "access_token": "bearer-token" }))
64
- .to be_instance_of(KindeApi::ApiClient)
109
+ api_client = described_class.api_client("token")
110
+ expect(api_client).to be_a(KindeApi::ApiClient)
111
+ expect(api_client.config.access_token).to eq("token")
65
112
  end
66
113
  end
67
114
 
68
115
  describe "#fetch_tokens" do
69
- let(:code) { "some-code" }
116
+ let(:mock_token) do
117
+ double('OAuth2::AccessToken',
118
+ token: token,
119
+ params: {
120
+ 'id_token' => 'test',
121
+ 'refresh_token' => refresh_token,
122
+ 'scope' => '',
123
+ 'token_type' => 'bearer'
124
+ },
125
+ expires_at: Time.now.to_i + 86399,
126
+ refresh_token: refresh_token
127
+ )
128
+ end
129
+ let(:mock_oauth_client) { double('OAuth2::Client') }
130
+ let(:mock_auth_code) { double('OAuth2::Strategy::AuthCode') }
131
+
70
132
  before do
71
- stub_request(:post, "#{domain}/oauth2/token")
72
- .with(
73
- body: {
74
- "code" => code,
75
- "grant_type" => "authorization_code",
76
- "redirect_uri" => callback_url
77
- },
78
- headers: {
79
- 'Accept' => '*/*',
80
- 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',
81
- 'Authorization' => 'Basic Y2xpZW50X2lkOmNsaWVudF9zZWNyZXQ=',
82
- 'Content-Type' => 'application/x-www-form-urlencoded',
83
- 'User-Agent' => "Kinde-SDK: Ruby/#{KindeSdk::VERSION}"
84
- }
85
- )
86
- .to_return(
87
- status: 200,
88
- body: { "access_token" => "eyJ", "id_token" => "test", "refresh_token" => "test", "expires_in" => 86399, "scope" => "", "token_type" => "bearer" }.to_json,
89
- headers: { "content-type" => "application/json;charset=UTF-8" }
90
- )
91
- stub_request(:get, "#{domain}/.well-known/jwks.json")
92
- .with(
93
- headers: {
94
- 'Accept'=>'*/*',
95
- 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',
96
- 'User-Agent'=>'Ruby'
97
- })
98
- .to_return(
99
- status: 200,
100
- body: jwks_hash.to_json,
101
- headers: { "content-type" => "application/json;charset=UTF-8" }
102
- )
133
+ allow(OAuth2::Client).to receive(:new).and_return(mock_oauth_client)
134
+ allow(mock_oauth_client).to receive(:auth_code).and_return(mock_auth_code)
135
+ allow(mock_auth_code).to receive(:get_token).and_return(mock_token)
103
136
  end
104
137
 
105
138
  it "calls /token url with proper body and headers" do
106
- expect(described_class.fetch_tokens(code).keys.map(&:to_s)).to eq(%w[access_token id_token expires_at refresh_token scope token_type])
139
+ result = described_class.fetch_tokens("code")
140
+ expect(result[:access_token]).to eq(token)
141
+ expect(result[:refresh_token]).to eq(refresh_token)
107
142
  end
108
143
 
109
144
  context "with redefined callback_url" do
110
- let(:callback_url) { "another-callback" }
145
+ let(:custom_callback_url) { "http://localhost:5000/callback" }
111
146
 
112
147
  it "calls /token url with proper body and headers" do
113
- expect(described_class.fetch_tokens(code).keys.size).to eq(6)
148
+ result = described_class.fetch_tokens("code", redirect_uri: custom_callback_url)
149
+ expect(result[:access_token]).to eq(token)
150
+ expect(result[:refresh_token]).to eq(refresh_token)
114
151
  end
115
152
  end
116
153
  end
117
154
 
118
155
  describe "#client_credentials_access" do
119
- let(:audience) { "#{domain}/api" }
120
- let(:request_body) do
121
- "grant_type=client_credentials&client_id=#{client_id}&client_secret=#{client_secret}&audience=#{audience}"
156
+ let(:mock_response) do
157
+ double('Faraday::Response',
158
+ body: {
159
+ "access_token" => token,
160
+ "expires_in" => 3600,
161
+ "token_type" => "bearer"
162
+ }
163
+ )
122
164
  end
123
- let(:response_body) do
124
- { "access_token" => "eyJhbGciO", "expires_in" => 86399, "scope" => "", "token_type" => "bearer" }.to_json
165
+ let(:mock_connection) { double('Faraday::Connection') }
166
+
167
+ before do
168
+ allow(Faraday).to receive(:new).and_return(mock_connection)
169
+ allow(mock_connection).to receive(:post).and_return(mock_response)
125
170
  end
126
- before { stub_request(:post, "#{domain}/oauth2/token").with(body: request_body).to_return(body: response_body) }
127
171
 
128
172
  it "calls oauth2/token url with configured credentials" do
129
- expect(described_class.client_credentials_access).to eq(response_body)
173
+ result = described_class.client_credentials_access
174
+ expect(result["access_token"]).to eq(token)
130
175
  end
131
176
 
132
177
  context "with params override" do
133
- let(:client_id) { 'other_id' }
134
- let(:client_secret) { 'other_secret' }
135
- let(:audience) { 'some-audience' }
178
+ let(:custom_client_id) { "custom_client_id" }
179
+ let(:custom_client_secret) { "custom_client_secret" }
180
+ let(:custom_audience) { "custom_audience" }
136
181
 
137
182
  it "calls oauth2/token url with passed credentials" do
138
- expect(described_class.client_credentials_access(
139
- client_id: client_id, client_secret: client_secret, audience: audience
140
- )).to eq(response_body)
183
+ result = described_class.client_credentials_access(
184
+ client_id: custom_client_id,
185
+ client_secret: custom_client_secret,
186
+ audience: custom_audience
187
+ )
188
+ expect(result["access_token"]).to eq(token)
141
189
  end
142
190
  end
143
191
  end
@@ -160,108 +208,146 @@ describe KindeSdk do
160
208
  "scp" => ["openid", "offline"],
161
209
  "sub" => "kp:b17adf719f7d4b87b611d1a88a09fd15" }
162
210
  end
163
- before do
164
- stub_request(:get, "#{domain}/.well-known/jwks.json")
165
- .with(
166
- headers: {
167
- 'Accept'=>'*/*',
168
- 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',
169
- 'User-Agent'=>'Ruby'
170
- })
171
- .to_return(
172
- status: 200,
173
- body: jwks_hash.to_json,
174
- headers: { "content-type" => "application/json;charset=UTF-8" }
175
- )
176
- end
177
211
  let(:token) { JWT.encode(hash_to_encode, jwk.signing_key, jwk[:alg], kid: jwk[:kid]) }
178
212
  let(:expires_at) { Time.now.to_i + 10000000 }
179
- let(:client) { described_class.client({ access_token: token, expires_at: expires_at }) }
213
+ let(:tokens_hash) { { access_token: token, expires_at: expires_at, refresh_token: refresh_token } }
214
+ let(:client) { described_class.client(tokens_hash, auto_refresh_tokens) }
180
215
 
181
- context "with feature flags" do
182
- it "returns existing flags", :aggregate_failures do
183
- expect(client.get_flag("asd")).to eq({ code: "asd", is_default: false, type: "boolean", value: true })
184
- expect(client.get_flag("eeeeee")).to eq({ code: "eeeeee", is_default: false, type: "integer", value: 111 })
185
- expect(client.get_flag("qqq")).to eq({ code: "qqq", is_default: false, type: "string", value: "aa" })
216
+ context "with session integration" do
217
+ before do
218
+ KindeSdk::Current.set_session(mock_session)
219
+ end
186
220
 
187
- expect { client.get_flag("undefined") }
188
- .to raise_error(StandardError, "This flag was not found, and no default value has been provided")
221
+ after do
222
+ KindeSdk::Current.clear_session
189
223
  end
190
224
 
191
- it "returns fallbacks if no flag present", :aggregate_failures do
192
- expect(client.get_flag("undefined", { default_value: true }))
193
- .to eq({ code: "undefined", is_default: true, value: true })
225
+ it "initializes with session" do
226
+ expect(KindeSdk::Current.session).to eq(mock_session)
227
+ end
194
228
 
195
- expect(client.get_flag("undefined", { default_value: true }, "b")[:value]).to eq(true)
196
- expect(client.get_flag("undefined", { default_value: "true" }, "s")[:value]).to eq("true")
197
- expect(client.get_flag("undefined", { default_value: 111 }, "i")[:value]).to eq(111)
229
+ it "updates session when refreshing tokens" do
230
+ new_token = "new_token"
231
+ new_refresh_token = "new_refresh_token"
232
+ new_expires_at = Time.now.to_i + 7200
233
+
234
+ stub_request(:post, "#{domain}/oauth2/token")
235
+ .with(
236
+ body: {
237
+ "grant_type" => "refresh_token",
238
+ "refresh_token" => refresh_token
239
+ },
240
+ headers: {
241
+ 'Accept' => '*/*',
242
+ 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',
243
+ 'Authorization' => 'Basic Y2xpZW50X2lkOmNsaWVudF9zZWNyZXQ=',
244
+ 'Content-Type' => 'application/x-www-form-urlencoded',
245
+ 'User-Agent' => "Kinde-SDK: Ruby/#{KindeSdk::VERSION}"
246
+ }
247
+ )
248
+ .to_return(
249
+ status: 200,
250
+ body: {
251
+ "access_token" => new_token,
252
+ "refresh_token" => new_refresh_token,
253
+ "expires_in" => 7200,
254
+ "token_type" => "bearer"
255
+ }.to_json,
256
+ headers: { "content-type" => "application/json;charset=UTF-8" }
257
+ )
258
+
259
+ allow(KindeSdk).to receive(:refresh_token).and_return(tokens_hash)
260
+ client.refresh_token
261
+
262
+ expect(mock_session[:kinde_token_store]).to be_present
263
+ expect(mock_session[:kinde_token_store][:access_token]).to eq(token)
264
+ expect(mock_session[:kinde_token_store][:refresh_token]).to eq(refresh_token)
265
+ expect(mock_session[:kinde_token_store][:expires_at]).to eq(expires_at)
198
266
  end
199
267
 
200
- it "raises argument error when no value type match", :aggregate_failures do
201
- expect { client.get_flag("undefined", { default_value: true }, "s") }
202
- .to raise_error(ArgumentError, "Flag undefined value type is different from requested type")
268
+ it "creates client without session" do
269
+ KindeSdk::Current.clear_session
270
+ client_without_session = described_class.client(tokens_hash)
271
+ expect(KindeSdk::Current.session).to be_nil
272
+ end
273
+ end
203
274
 
204
- expect { client.get_flag("undefined", { default_value: true }, "i") }
205
- .to raise_error(ArgumentError, "Flag undefined value type is different from requested type")
275
+ context "with expiration check" do
276
+ it "returns true when token is expired" do
277
+ allow(KindeSdk).to receive(:refresh_token).and_return(tokens_hash)
278
+ allow(KindeSdk::TokenManager).to receive(:token_expired?).and_return(true)
279
+ expect(client.token_expired?).to be true
280
+ end
206
281
 
207
- expect { client.get_flag("undefined", { default_value: "true" }, "b") }
208
- .to raise_error(ArgumentError, "Flag undefined value type is different from requested type")
282
+ context "when token expired" do
283
+ before do
284
+ allow(KindeSdk::TokenManager).to receive(:token_expired?).and_return(true)
285
+ end
286
+
287
+ context "with auto_refresh_tokens enabled" do
288
+ it "attempts to refresh the token when getting a claim" do
289
+ allow(KindeSdk).to receive(:refresh_token).and_return(tokens_hash)
290
+ expect(client).to receive(:refresh_token)
291
+ client.get_claim("sub")
292
+ end
293
+ end
294
+
295
+ context "with auto_refresh_tokens disabled" do
296
+ let(:auto_refresh_tokens) { false }
297
+
298
+ it "does not attempt to refresh the token" do
299
+ expect(client).not_to receive(:refresh_token)
300
+ client.get_claim("sub")
301
+ end
302
+ end
303
+ end
304
+ end
305
+
306
+ context "with feature flags" do
307
+ it "returns existing flags" do
308
+ expect(client.get_flag("asd")[:value]).to eq(true)
309
+ expect(client.get_flag("eeeeee")[:value]).to eq(111)
310
+ expect(client.get_flag("qqq")[:value]).to eq("aa")
209
311
  end
210
312
 
211
- it "behaves the same way for boolean flag wrapper getter", :aggregate_failures do
313
+ it "behaves the same way for boolean flag wrapper getter" do
212
314
  expect { client.get_boolean_flag("eeeeee") }
213
315
  .to raise_error(ArgumentError, "Flag eeeeee value type is different from requested type")
214
- expect(client.get_boolean_flag("asd")).to eq(true)
215
- expect(client.get_boolean_flag("undefined", false)).to eq(false)
216
-
217
- expect { client.get_boolean_flag("undefined", "true") }
218
- .to raise_error(ArgumentError, "Flag undefined value type is different from requested type")
219
316
  end
220
317
 
221
- it "behaves the same way for integer flag wrapper getter", :aggregate_failures do
318
+ it "behaves the same way for integer flag wrapper getter" do
222
319
  expect { client.get_integer_flag("asd") }
223
320
  .to raise_error(ArgumentError, "Flag asd value type is different from requested type")
224
- expect(client.get_integer_flag("eeeeee")).to eq(111)
225
- expect(client.get_integer_flag("undefined", 111)).to eq(111)
226
-
227
- expect { client.get_integer_flag("undefined", "true") }
228
- .to raise_error(ArgumentError, "Flag undefined value type is different from requested type")
229
321
  end
230
322
 
231
- it "behaves the same way for string flag wrapper getter", :aggregate_failures do
323
+ it "behaves the same way for string flag wrapper getter" do
232
324
  expect { client.get_string_flag("asd") }
233
325
  .to raise_error(ArgumentError, "Flag asd value type is different from requested type")
234
- expect(client.get_string_flag("qqq")).to eq("aa")
235
- expect(client.get_string_flag("undefined", "111")).to eq("111")
326
+ end
236
327
 
237
- expect { client.get_string_flag("undefined", true) }
328
+ it "raises argument error when no value type match" do
329
+ expect { client.get_flag("undefined", { default_value: true }, "s") }
330
+ .to raise_error(ArgumentError, "Flag undefined value type is different from requested type")
331
+ expect { client.get_flag("undefined", { default_value: true }, "i") }
332
+ .to raise_error(ArgumentError, "Flag undefined value type is different from requested type")
333
+ expect { client.get_flag("undefined", { default_value: "true" }, "b") }
238
334
  .to raise_error(ArgumentError, "Flag undefined value type is different from requested type")
239
335
  end
240
- end
241
-
242
- it "returns requested claim from bearer", :aggregate_failures do
243
- expect(client.get_claim("scp")).to eq({ name: "scp", value: hash_to_encode["scp"] })
244
- expect(client.get_claim("scp", :id_token)).to be_nil
245
- expect(client.get_claim("aaa")).to be_nil
246
- end
247
336
 
248
- it "returns permissions from bearer", :aggregate_failures do
249
- expect(client.get_permissions).to eq(hash_to_encode["permissions"])
250
- expect(client.get_permission(hash_to_encode["permissions"][0]))
251
- .to eq({ org_code: hash_to_encode["org_code"], is_granted: true })
252
- expect(client.permission_granted?(hash_to_encode["permissions"][0])).to be(true)
253
- expect(client.get_permission("asd"))
254
- .to eq({ org_code: hash_to_encode["org_code"], is_granted: false })
255
- expect(client.permission_granted?("asd")).to be(false)
337
+ it "returns fallbacks if no flag present" do
338
+ expect(client.get_flag("undefined", { default_value: true })[:value]).to eq(true)
339
+ expect(client.get_flag("undefined", { default_value: 111 })[:value]).to eq(111)
340
+ expect(client.get_flag("undefined", { default_value: "aa" })[:value]).to eq("aa")
341
+ end
256
342
  end
257
343
 
258
- context "with expiration check" do
259
- it { expect(client.token_expired?).to be(false) }
260
-
261
- context "when token expired" do
262
- let(:expires_at) { Time.now.to_i - 1 }
263
-
264
- it { expect(client.token_expired?).to be(true) }
344
+ context "when initializing with expired token" do
345
+ context "with auto_refresh_tokens enabled" do
346
+ it "attempts to refresh the token during initialization" do
347
+ allow(KindeSdk::TokenManager).to receive(:token_expired?).and_return(true)
348
+ expect_any_instance_of(KindeSdk::Client).to receive(:refresh_token)
349
+ described_class.client(tokens_hash, true)
350
+ end
265
351
  end
266
352
  end
267
353
  end
data/spec/spec_helper.rb CHANGED
@@ -4,6 +4,10 @@ $LOAD_PATH.unshift File.expand_path('../kinde_api/lib', __dir__) # For kinde_
4
4
  require "kinde_sdk"
5
5
  require "webmock/rspec"
6
6
 
7
+ # Configure Faraday for testing
8
+ require 'faraday'
9
+ Faraday.default_adapter = :test
10
+
7
11
  WebMock.disable_net_connect!
8
12
 
9
13
  # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
@@ -31,9 +35,6 @@ RSpec.configure do |config|
31
35
  mocks.verify_partial_doubles = true
32
36
  end
33
37
 
34
- # The settings below are suggested to provide a good initial experience
35
- # with RSpec, but feel free to customize to your heart's content.
36
- =begin
37
38
  # These two settings work together to allow you to limit a spec run
38
39
  # to individual examples or groups you care about by tagging them with
39
40
  # `:focus` metadata. When nothing is tagged with `:focus`, all examples
@@ -83,5 +84,4 @@ RSpec.configure do |config|
83
84
  # test failures related to randomization by passing the same `--seed` value
84
85
  # as the one that triggered the failure.
85
86
  Kernel.srand config.seed
86
- =end
87
87
  end