kinde_sdk 1.2.3 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (638) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/stylesheets/kinde/ruby/sdk/application.css +15 -0
  3. data/app/controllers/kinde_sdk/auth_controller.rb +301 -0
  4. data/app/helpers/auth_helper.rb +88 -0
  5. data/config/routes.rb +9 -0
  6. data/kinde_api/Gemfile +9 -0
  7. data/kinde_api/README.md +316 -47
  8. data/kinde_api/Rakefile +10 -0
  9. data/kinde_api/docs/APIsApi.md +569 -60
  10. data/kinde_api/docs/AddAPIScopeRequest.md +20 -0
  11. data/kinde_api/docs/AddAPIsRequest.md +4 -4
  12. data/kinde_api/docs/AddOrganizationUsersRequestUsersInner.md +1 -1
  13. data/kinde_api/docs/AddRoleScopeRequest.md +18 -0
  14. data/kinde_api/docs/AddRoleScopeResponse.md +20 -0
  15. data/kinde_api/docs/ApplicationsApi.md +465 -38
  16. data/kinde_api/docs/AuthorizeAppApiResponse.md +24 -0
  17. data/kinde_api/docs/BillingAgreementsApi.md +157 -0
  18. data/kinde_api/docs/BillingEntitlementsApi.md +89 -0
  19. data/kinde_api/docs/BillingMeterUsageApi.md +77 -0
  20. data/kinde_api/docs/BusinessApi.md +27 -66
  21. data/kinde_api/docs/CallbacksApi.md +25 -25
  22. data/kinde_api/docs/Category.md +20 -0
  23. data/kinde_api/docs/ConnectedAppsApi.md +8 -8
  24. data/kinde_api/docs/Connection.md +22 -0
  25. data/kinde_api/docs/ConnectionConnection.md +24 -0
  26. data/kinde_api/docs/ConnectionsApi.md +439 -0
  27. data/kinde_api/docs/CreateApiScopesResponse.md +22 -0
  28. data/kinde_api/docs/CreateApiScopesResponseScope.md +18 -0
  29. data/kinde_api/docs/CreateApisResponse.md +22 -0
  30. data/kinde_api/docs/CreateApisResponseApi.md +18 -0
  31. data/kinde_api/docs/CreateApplicationRequest.md +3 -3
  32. data/kinde_api/docs/CreateApplicationResponseApplication.md +4 -4
  33. data/kinde_api/docs/CreateBillingAgreementRequest.md +24 -0
  34. data/kinde_api/docs/CreateCategoryRequest.md +20 -0
  35. data/kinde_api/docs/CreateCategoryResponse.md +22 -0
  36. data/kinde_api/docs/CreateCategoryResponseCategory.md +18 -0
  37. data/kinde_api/docs/CreateConnectionRequest.md +28 -0
  38. data/kinde_api/docs/CreateConnectionRequestOptions.md +51 -0
  39. data/kinde_api/docs/CreateConnectionRequestOptionsOneOf.md +22 -0
  40. data/kinde_api/docs/CreateConnectionRequestOptionsOneOf1.md +34 -0
  41. data/kinde_api/docs/CreateConnectionRequestOptionsOneOf2.md +44 -0
  42. data/kinde_api/docs/CreateConnectionResponse.md +22 -0
  43. data/kinde_api/docs/CreateConnectionResponseConnection.md +18 -0
  44. data/kinde_api/docs/CreateEnvironmentVariableRequest.md +22 -0
  45. data/kinde_api/docs/CreateEnvironmentVariableResponse.md +22 -0
  46. data/kinde_api/docs/CreateEnvironmentVariableResponseEnvironmentVariable.md +18 -0
  47. data/kinde_api/docs/CreateIdentityResponse.md +22 -0
  48. data/kinde_api/docs/CreateIdentityResponseIdentity.md +18 -0
  49. data/kinde_api/docs/CreateMeterUsageRecordRequest.md +26 -0
  50. data/kinde_api/docs/CreateMeterUsageRecordResponse.md +20 -0
  51. data/kinde_api/docs/CreateOrganizationRequest.md +17 -7
  52. data/kinde_api/docs/CreateOrganizationResponse.md +4 -4
  53. data/kinde_api/docs/CreateOrganizationResponseOrganization.md +4 -2
  54. data/kinde_api/docs/CreatePropertyRequest.md +30 -0
  55. data/kinde_api/docs/CreatePropertyResponse.md +22 -0
  56. data/kinde_api/docs/CreatePropertyResponseProperty.md +18 -0
  57. data/kinde_api/docs/CreateRolesResponse.md +22 -0
  58. data/kinde_api/docs/CreateRolesResponseRole.md +18 -0
  59. data/kinde_api/docs/CreateUserIdentityRequest.md +24 -0
  60. data/kinde_api/docs/CreateUserRequest.md +3 -1
  61. data/kinde_api/docs/CreateUserRequestIdentitiesInner.md +3 -1
  62. data/kinde_api/docs/CreateUserRequestIdentitiesInnerDetails.md +7 -1
  63. data/kinde_api/docs/CreateUserRequestProfile.md +3 -1
  64. data/kinde_api/docs/CreateUserResponse.md +1 -1
  65. data/kinde_api/docs/CreateWebHookRequest.md +24 -0
  66. data/kinde_api/docs/CreateWebhookResponse.md +22 -0
  67. data/kinde_api/docs/CreateWebhookResponseWebhook.md +20 -0
  68. data/kinde_api/docs/DeleteApiResponse.md +20 -0
  69. data/kinde_api/docs/DeleteEnvironmentVariableResponse.md +20 -0
  70. data/kinde_api/docs/DeleteRoleScopeResponse.md +20 -0
  71. data/kinde_api/docs/DeleteWebhookResponse.md +20 -0
  72. data/kinde_api/docs/EnvironmentVariable.md +26 -0
  73. data/kinde_api/docs/EnvironmentVariablesApi.md +356 -0
  74. data/kinde_api/docs/EnvironmentsApi.md +281 -5
  75. data/kinde_api/docs/EventType.md +26 -0
  76. data/kinde_api/docs/FeatureFlagsApi.md +4 -4
  77. data/kinde_api/docs/GetApiResponse.md +22 -0
  78. data/kinde_api/docs/GetApiResponseApi.md +28 -0
  79. data/kinde_api/docs/GetApiResponseApiApplicationsInner.md +24 -0
  80. data/kinde_api/docs/GetApiResponseApiScopesInner.md +20 -0
  81. data/kinde_api/docs/GetApiScopeResponse.md +22 -0
  82. data/kinde_api/docs/GetApiScopesResponse.md +22 -0
  83. data/kinde_api/docs/GetApiScopesResponseScopesInner.md +22 -0
  84. data/kinde_api/docs/GetApisResponse.md +24 -0
  85. data/kinde_api/docs/GetApisResponseApisInner.md +26 -0
  86. data/kinde_api/docs/GetApisResponseApisInnerScopesInner.md +20 -0
  87. data/kinde_api/docs/GetApplicationResponseApplication.md +11 -5
  88. data/kinde_api/docs/GetBillingAgreementsResponse.md +24 -0
  89. data/kinde_api/docs/GetBillingAgreementsResponseAgreementsInner.md +26 -0
  90. data/kinde_api/docs/GetBillingAgreementsResponseAgreementsInnerEntitlementsInner.md +20 -0
  91. data/kinde_api/docs/GetBillingEntitlementsResponse.md +26 -0
  92. data/kinde_api/docs/GetBillingEntitlementsResponseEntitlementsInner.md +32 -0
  93. data/kinde_api/docs/GetBillingEntitlementsResponsePlansInner.md +20 -0
  94. data/kinde_api/docs/GetBusinessResponse.md +22 -0
  95. data/kinde_api/docs/GetBusinessResponseBusiness.md +38 -0
  96. data/kinde_api/docs/GetCategoriesResponse.md +24 -0
  97. data/kinde_api/docs/GetConnectionsResponse.md +24 -0
  98. data/kinde_api/docs/GetEnvironmentResponse.md +22 -0
  99. data/kinde_api/docs/GetEnvironmentResponseEnvironment.md +68 -0
  100. data/kinde_api/docs/GetEnvironmentResponseEnvironmentBackgroundColor.md +22 -0
  101. data/kinde_api/docs/GetEnvironmentResponseEnvironmentLinkColor.md +22 -0
  102. data/kinde_api/docs/GetEnvironmentVariableResponse.md +22 -0
  103. data/kinde_api/docs/GetEnvironmentVariablesResponse.md +24 -0
  104. data/kinde_api/docs/GetEventResponse.md +22 -0
  105. data/kinde_api/docs/GetEventResponseEvent.md +26 -0
  106. data/kinde_api/docs/GetEventTypesResponse.md +22 -0
  107. data/kinde_api/docs/GetIdentitiesResponse.md +24 -0
  108. data/kinde_api/docs/GetIndustriesResponse.md +22 -0
  109. data/kinde_api/docs/GetIndustriesResponseIndustriesInner.md +20 -0
  110. data/kinde_api/docs/GetOrganizationResponse.md +72 -0
  111. data/kinde_api/docs/GetOrganizationResponseBilling.md +20 -0
  112. data/kinde_api/docs/GetOrganizationResponseBillingAgreementsInner.md +20 -0
  113. data/kinde_api/docs/GetOrganizationUsersResponse.md +2 -2
  114. data/kinde_api/docs/GetOrganizationsResponse.md +4 -4
  115. data/kinde_api/docs/GetPropertiesResponse.md +24 -0
  116. data/kinde_api/docs/GetPropertyValuesResponse.md +24 -0
  117. data/kinde_api/docs/GetRoleResponse.md +22 -0
  118. data/kinde_api/docs/GetRoleResponseRole.md +26 -0
  119. data/kinde_api/docs/GetTimezonesResponse.md +22 -0
  120. data/kinde_api/docs/GetTimezonesResponseTimezonesInner.md +20 -0
  121. data/kinde_api/docs/GetUserMfaResponse.md +22 -0
  122. data/kinde_api/docs/GetUserMfaResponseMfa.md +30 -0
  123. data/kinde_api/docs/GetUserSessionsResponse.md +24 -0
  124. data/kinde_api/docs/GetUserSessionsResponseSessionsInner.md +40 -0
  125. data/kinde_api/docs/GetWebhooksResponse.md +22 -0
  126. data/kinde_api/docs/IdentitiesApi.md +219 -0
  127. data/kinde_api/docs/Identity.md +34 -0
  128. data/kinde_api/docs/IndustriesApi.md +14 -21
  129. data/kinde_api/docs/LogoutRedirectUrls.md +6 -2
  130. data/kinde_api/docs/MFAApi.md +77 -0
  131. data/kinde_api/docs/NotFoundResponse.md +18 -0
  132. data/kinde_api/docs/NotFoundResponseErrors.md +20 -0
  133. data/kinde_api/docs/OAuthApi.md +32 -97
  134. data/kinde_api/docs/OrganizationItemSchema.md +28 -0
  135. data/kinde_api/docs/OrganizationUser.md +17 -11
  136. data/kinde_api/docs/OrganizationsApi.md +1440 -210
  137. data/kinde_api/docs/Permissions.md +1 -1
  138. data/kinde_api/docs/PermissionsApi.md +7 -7
  139. data/kinde_api/docs/PropertiesApi.md +297 -0
  140. data/kinde_api/docs/Property.md +28 -0
  141. data/kinde_api/docs/PropertyCategoriesApi.md +227 -0
  142. data/kinde_api/docs/PropertyValue.md +26 -0
  143. data/kinde_api/docs/ReadEnvLogoResponse.md +22 -0
  144. data/kinde_api/docs/ReadEnvLogoResponseLogosInner.md +20 -0
  145. data/kinde_api/docs/ReadLogoResponse.md +22 -0
  146. data/kinde_api/docs/ReadLogoResponseLogosInner.md +22 -0
  147. data/kinde_api/docs/ReplaceConnectionRequest.md +24 -0
  148. data/kinde_api/docs/ReplaceConnectionRequestOptions.md +51 -0
  149. data/kinde_api/docs/ReplaceConnectionRequestOptionsOneOf.md +32 -0
  150. data/kinde_api/docs/ReplaceConnectionRequestOptionsOneOf1.md +40 -0
  151. data/kinde_api/docs/ReplaceMFARequest.md +20 -0
  152. data/kinde_api/docs/ReplaceOrganizationMFARequest.md +18 -0
  153. data/kinde_api/docs/RolePermissionsResponse.md +24 -0
  154. data/kinde_api/docs/RoleScopesResponse.md +22 -0
  155. data/kinde_api/docs/Roles.md +4 -2
  156. data/kinde_api/docs/RolesApi.md +338 -54
  157. data/kinde_api/docs/Scopes.md +24 -0
  158. data/kinde_api/docs/SearchApi.md +89 -0
  159. data/kinde_api/docs/SearchUsersResponse.md +22 -0
  160. data/kinde_api/docs/SearchUsersResponseResultsInner.md +46 -0
  161. data/kinde_api/docs/SetUserPasswordRequest.md +26 -0
  162. data/kinde_api/docs/SubscribersApi.md +4 -4
  163. data/kinde_api/docs/SuccessResponse.md +2 -2
  164. data/kinde_api/docs/TimezonesApi.md +14 -21
  165. data/kinde_api/docs/TokenIntrospect.md +5 -5
  166. data/kinde_api/docs/UpdateAPIApplicationsRequestApplicationsInner.md +4 -4
  167. data/kinde_api/docs/UpdateAPIScopeRequest.md +18 -0
  168. data/kinde_api/docs/UpdateApplicationRequest.md +5 -1
  169. data/kinde_api/docs/UpdateApplicationTokensRequest.md +26 -0
  170. data/kinde_api/docs/UpdateApplicationsPropertyRequest.md +18 -0
  171. data/kinde_api/docs/UpdateApplicationsPropertyRequestValue.md +49 -0
  172. data/kinde_api/docs/UpdateBusinessRequest.md +36 -0
  173. data/kinde_api/docs/UpdateCategoryRequest.md +18 -0
  174. data/kinde_api/docs/UpdateConnectionRequest.md +24 -0
  175. data/kinde_api/docs/UpdateEnvironmentVariableRequest.md +22 -0
  176. data/kinde_api/docs/UpdateEnvironmentVariableResponse.md +20 -0
  177. data/kinde_api/docs/UpdateIdentityRequest.md +18 -0
  178. data/kinde_api/docs/UpdateOrganizationPropertiesRequest.md +18 -0
  179. data/kinde_api/docs/UpdateOrganizationRequest.md +27 -15
  180. data/kinde_api/docs/UpdateOrganizationSessionsRequest.md +24 -0
  181. data/kinde_api/docs/UpdateOrganizationUsersRequestUsersInner.md +2 -2
  182. data/kinde_api/docs/UpdateOrganizationUsersResponse.md +3 -1
  183. data/kinde_api/docs/UpdatePropertyRequest.md +24 -0
  184. data/kinde_api/docs/UpdateUserRequest.md +5 -1
  185. data/kinde_api/docs/UpdateUserResponse.md +1 -1
  186. data/kinde_api/docs/UpdateWebHookRequest.md +22 -0
  187. data/kinde_api/docs/UpdateWebhookResponse.md +22 -0
  188. data/kinde_api/docs/UpdateWebhookResponseWebhook.md +18 -0
  189. data/kinde_api/docs/User.md +6 -2
  190. data/kinde_api/docs/UserProfileV2.md +17 -13
  191. data/kinde_api/docs/UsersApi.md +893 -99
  192. data/kinde_api/docs/UsersResponseUsersInner.md +6 -2
  193. data/kinde_api/docs/Webhook.md +28 -0
  194. data/kinde_api/docs/WebhooksApi.md +423 -0
  195. data/kinde_api/git_push.sh +57 -0
  196. data/kinde_api/kinde_api.gemspec +38 -0
  197. data/kinde_api/lib/kinde_api/api/apis_api.rb +640 -127
  198. data/kinde_api/lib/kinde_api/api/applications_api.rb +524 -112
  199. data/kinde_api/lib/kinde_api/api/billing_agreements_api.rb +166 -0
  200. data/kinde_api/lib/kinde_api/api/billing_entitlements_api.rb +105 -0
  201. data/kinde_api/lib/kinde_api/api/billing_meter_usage_api.rb +90 -0
  202. data/kinde_api/lib/kinde_api/api/business_api.rb +61 -126
  203. data/kinde_api/lib/kinde_api/api/callbacks_api.rb +152 -172
  204. data/kinde_api/lib/kinde_api/api/connected_apps_api.rb +57 -67
  205. data/kinde_api/lib/kinde_api/api/connections_api.rb +433 -0
  206. data/kinde_api/lib/kinde_api/api/environment_variables_api.rb +347 -0
  207. data/kinde_api/lib/kinde_api/api/environments_api.rb +327 -78
  208. data/kinde_api/lib/kinde_api/api/feature_flags_api.rb +68 -88
  209. data/kinde_api/lib/kinde_api/api/frontend/billing_api.rb +148 -0
  210. data/kinde_api/lib/kinde_api/api/frontend/feature_flags_api.rb +85 -0
  211. data/kinde_api/lib/kinde_api/api/frontend/o_auth_api.rb +241 -0
  212. data/kinde_api/lib/kinde_api/api/frontend/permissions_api.rb +85 -0
  213. data/kinde_api/lib/kinde_api/api/frontend/properties_api.rb +85 -0
  214. data/kinde_api/lib/kinde_api/api/frontend/roles_api.rb +85 -0
  215. data/kinde_api/lib/kinde_api/api/frontend/self_serve_portal_api.rb +89 -0
  216. data/kinde_api/lib/kinde_api/api/identities_api.rb +222 -0
  217. data/kinde_api/lib/kinde_api/api/industries_api.rb +29 -34
  218. data/kinde_api/lib/kinde_api/api/mfa_api.rb +90 -0
  219. data/kinde_api/lib/kinde_api/api/o_auth_api.rb +104 -129
  220. data/kinde_api/lib/kinde_api/api/organizations_api.rb +1689 -544
  221. data/kinde_api/lib/kinde_api/api/permissions_api.rb +76 -80
  222. data/kinde_api/lib/kinde_api/api/properties_api.rb +300 -0
  223. data/kinde_api/lib/kinde_api/api/property_categories_api.rb +237 -0
  224. data/kinde_api/lib/kinde_api/api/roles_api.rb +432 -166
  225. data/kinde_api/lib/kinde_api/api/search_api.rb +97 -0
  226. data/kinde_api/lib/kinde_api/api/subscribers_api.rb +59 -60
  227. data/kinde_api/lib/kinde_api/api/timezones_api.rb +29 -34
  228. data/kinde_api/lib/kinde_api/api/users_api.rb +900 -150
  229. data/kinde_api/lib/kinde_api/api/webhooks_api.rb +404 -0
  230. data/kinde_api/lib/kinde_api/api_client.rb +79 -68
  231. data/kinde_api/lib/kinde_api/api_error.rb +16 -16
  232. data/kinde_api/lib/kinde_api/configuration.rb +101 -24
  233. data/kinde_api/lib/kinde_api/models/add_api_scope_request.rb +235 -0
  234. data/kinde_api/lib/kinde_api/models/add_apis_request.rb +54 -49
  235. data/kinde_api/lib/kinde_api/models/add_organization_users_request.rb +40 -42
  236. data/kinde_api/lib/kinde_api/models/add_organization_users_request_users_inner.rb +53 -51
  237. data/kinde_api/lib/kinde_api/models/add_organization_users_response.rb +52 -50
  238. data/kinde_api/lib/kinde_api/models/add_role_scope_request.rb +225 -0
  239. data/kinde_api/lib/kinde_api/models/add_role_scope_response.rb +230 -0
  240. data/kinde_api/lib/kinde_api/models/api_result.rb +38 -40
  241. data/kinde_api/lib/kinde_api/models/applications.rb +55 -50
  242. data/kinde_api/lib/kinde_api/models/authorize_app_api_response.rb +250 -0
  243. data/kinde_api/lib/kinde_api/models/category.rb +228 -0
  244. data/kinde_api/lib/kinde_api/models/connected_apps_access_token.rb +44 -45
  245. data/kinde_api/lib/kinde_api/models/connected_apps_auth_url.rb +44 -45
  246. data/kinde_api/lib/kinde_api/models/connection.rb +239 -0
  247. data/kinde_api/lib/kinde_api/models/connection_connection.rb +246 -0
  248. data/kinde_api/lib/kinde_api/models/create_api_scopes_response.rb +239 -0
  249. data/kinde_api/lib/kinde_api/models/create_api_scopes_response_scope.rb +220 -0
  250. data/kinde_api/lib/kinde_api/models/create_apis_response.rb +239 -0
  251. data/kinde_api/lib/kinde_api/models/create_apis_response_api.rb +220 -0
  252. data/kinde_api/lib/kinde_api/models/create_application_request.rb +60 -52
  253. data/kinde_api/lib/kinde_api/models/create_application_response.rb +50 -49
  254. data/kinde_api/lib/kinde_api/models/create_application_response_application.rb +51 -50
  255. data/kinde_api/lib/kinde_api/models/create_billing_agreement_request.rb +260 -0
  256. data/kinde_api/lib/kinde_api/models/create_category_request.rb +274 -0
  257. data/kinde_api/lib/kinde_api/models/create_category_response.rb +237 -0
  258. data/kinde_api/lib/kinde_api/models/create_category_response_category.rb +220 -0
  259. data/kinde_api/lib/kinde_api/models/create_connection_request.rb +306 -0
  260. data/kinde_api/lib/kinde_api/models/create_connection_request_options.rb +106 -0
  261. data/kinde_api/lib/kinde_api/models/create_connection_request_options_one_of.rb +241 -0
  262. data/kinde_api/lib/kinde_api/models/create_connection_request_options_one_of1.rb +303 -0
  263. data/kinde_api/lib/kinde_api/models/create_connection_request_options_one_of2.rb +333 -0
  264. data/kinde_api/lib/kinde_api/models/create_connection_response.rb +237 -0
  265. data/kinde_api/lib/kinde_api/models/create_connection_response_connection.rb +220 -0
  266. data/kinde_api/lib/kinde_api/models/create_environment_variable_request.rb +250 -0
  267. data/kinde_api/lib/kinde_api/models/create_environment_variable_response.rb +239 -0
  268. data/kinde_api/lib/kinde_api/models/create_environment_variable_response_environment_variable.rb +220 -0
  269. data/kinde_api/lib/kinde_api/models/create_feature_flag_request.rb +87 -77
  270. data/kinde_api/lib/kinde_api/models/create_identity_response.rb +237 -0
  271. data/kinde_api/lib/kinde_api/models/create_identity_response_identity.rb +220 -0
  272. data/kinde_api/lib/kinde_api/models/create_meter_usage_record_request.rb +309 -0
  273. data/kinde_api/lib/kinde_api/models/create_meter_usage_record_response.rb +230 -0
  274. data/kinde_api/lib/kinde_api/models/create_organization_request.rb +175 -100
  275. data/kinde_api/lib/kinde_api/models/create_organization_response.rb +57 -50
  276. data/kinde_api/lib/kinde_api/models/create_organization_response_organization.rb +49 -42
  277. data/kinde_api/lib/kinde_api/models/create_organization_user_permission_request.rb +38 -41
  278. data/kinde_api/lib/kinde_api/models/create_organization_user_role_request.rb +38 -41
  279. data/kinde_api/lib/kinde_api/models/create_permission_request.rb +50 -49
  280. data/kinde_api/lib/kinde_api/models/create_property_request.rb +356 -0
  281. data/kinde_api/lib/kinde_api/models/create_property_response.rb +237 -0
  282. data/kinde_api/lib/kinde_api/models/create_property_response_property.rb +220 -0
  283. data/kinde_api/lib/kinde_api/models/create_role_request.rb +56 -53
  284. data/kinde_api/lib/kinde_api/models/create_roles_response.rb +239 -0
  285. data/kinde_api/lib/kinde_api/models/create_roles_response_role.rb +220 -0
  286. data/kinde_api/lib/kinde_api/models/create_subscriber_success_response.rb +38 -41
  287. data/kinde_api/lib/kinde_api/models/create_subscriber_success_response_subscriber.rb +38 -41
  288. data/kinde_api/lib/kinde_api/models/create_user_identity_request.rb +284 -0
  289. data/kinde_api/lib/kinde_api/models/create_user_request.rb +62 -50
  290. data/kinde_api/lib/kinde_api/models/create_user_request_identities_inner.rb +60 -52
  291. data/kinde_api/lib/kinde_api/models/create_user_request_identities_inner_details.rb +67 -40
  292. data/kinde_api/lib/kinde_api/models/create_user_request_profile.rb +54 -45
  293. data/kinde_api/lib/kinde_api/models/create_user_response.rb +53 -51
  294. data/kinde_api/lib/kinde_api/models/create_web_hook_request.rb +268 -0
  295. data/kinde_api/lib/kinde_api/models/create_webhook_response.rb +239 -0
  296. data/kinde_api/lib/kinde_api/models/create_webhook_response_webhook.rb +228 -0
  297. data/kinde_api/lib/kinde_api/models/delete_api_response.rb +228 -0
  298. data/kinde_api/lib/kinde_api/models/delete_environment_variable_response.rb +230 -0
  299. data/kinde_api/lib/kinde_api/models/delete_role_scope_response.rb +230 -0
  300. data/kinde_api/lib/kinde_api/models/delete_webhook_response.rb +230 -0
  301. data/kinde_api/lib/kinde_api/models/environment_variable.rb +261 -0
  302. data/kinde_api/lib/kinde_api/models/error.rb +44 -44
  303. data/kinde_api/lib/kinde_api/models/error_response.rb +40 -42
  304. data/kinde_api/lib/kinde_api/models/event_type.rb +255 -0
  305. data/kinde_api/lib/kinde_api/models/frontend/error.rb +230 -0
  306. data/kinde_api/lib/kinde_api/models/frontend/error_response.rb +221 -0
  307. data/kinde_api/lib/kinde_api/models/frontend/get_entitlement_response.rb +228 -0
  308. data/kinde_api/lib/kinde_api/models/frontend/get_entitlement_response_data.rb +229 -0
  309. data/kinde_api/lib/kinde_api/models/frontend/get_entitlement_response_data_entitlement.rb +295 -0
  310. data/kinde_api/lib/kinde_api/models/frontend/get_entitlements_response.rb +228 -0
  311. data/kinde_api/lib/kinde_api/models/frontend/get_entitlements_response_data.rb +244 -0
  312. data/kinde_api/lib/kinde_api/models/frontend/get_entitlements_response_data_entitlements_inner.rb +294 -0
  313. data/kinde_api/lib/kinde_api/models/frontend/get_entitlements_response_data_plans_inner.rb +240 -0
  314. data/kinde_api/lib/kinde_api/models/frontend/get_entitlements_response_metadata.rb +230 -0
  315. data/kinde_api/lib/kinde_api/models/frontend/get_feature_flags_response.rb +219 -0
  316. data/kinde_api/lib/kinde_api/models/frontend/get_feature_flags_response_data.rb +222 -0
  317. data/kinde_api/lib/kinde_api/models/frontend/get_feature_flags_response_data_feature_flags_inner.rb +259 -0
  318. data/kinde_api/lib/kinde_api/models/frontend/get_feature_flags_response_data_feature_flags_inner_value.rb +108 -0
  319. data/kinde_api/lib/kinde_api/models/frontend/get_user_permissions_response.rb +228 -0
  320. data/kinde_api/lib/kinde_api/models/frontend/get_user_permissions_response_data.rb +232 -0
  321. data/kinde_api/lib/kinde_api/models/frontend/get_user_permissions_response_data_permissions_inner.rb +240 -0
  322. data/kinde_api/lib/kinde_api/models/frontend/get_user_permissions_response_metadata.rb +230 -0
  323. data/kinde_api/lib/kinde_api/models/frontend/get_user_properties_response.rb +228 -0
  324. data/kinde_api/lib/kinde_api/models/frontend/get_user_properties_response_data.rb +222 -0
  325. data/kinde_api/lib/kinde_api/models/frontend/get_user_properties_response_data_properties_inner.rb +249 -0
  326. data/kinde_api/lib/kinde_api/models/frontend/get_user_properties_response_data_properties_inner_value.rb +107 -0
  327. data/kinde_api/lib/kinde_api/models/frontend/get_user_properties_response_metadata.rb +230 -0
  328. data/kinde_api/lib/kinde_api/models/frontend/get_user_roles_response.rb +228 -0
  329. data/kinde_api/lib/kinde_api/models/frontend/get_user_roles_response_data.rb +232 -0
  330. data/kinde_api/lib/kinde_api/models/frontend/get_user_roles_response_data_roles_inner.rb +240 -0
  331. data/kinde_api/lib/kinde_api/models/frontend/get_user_roles_response_metadata.rb +230 -0
  332. data/kinde_api/lib/kinde_api/models/frontend/portal_link.rb +220 -0
  333. data/kinde_api/lib/kinde_api/models/frontend/token_error_response.rb +230 -0
  334. data/kinde_api/lib/kinde_api/models/frontend/token_introspect.rb +262 -0
  335. data/kinde_api/lib/kinde_api/models/frontend/user_profile_v2.rb +323 -0
  336. data/kinde_api/lib/kinde_api/models/get_api_response.rb +239 -0
  337. data/kinde_api/lib/kinde_api/models/get_api_response_api.rb +272 -0
  338. data/kinde_api/lib/kinde_api/models/get_api_response_api_applications_inner.rb +285 -0
  339. data/kinde_api/lib/kinde_api/models/get_api_response_api_scopes_inner.rb +230 -0
  340. data/kinde_api/lib/kinde_api/models/get_api_scope_response.rb +239 -0
  341. data/kinde_api/lib/kinde_api/models/get_api_scopes_response.rb +241 -0
  342. data/kinde_api/lib/kinde_api/models/get_api_scopes_response_scopes_inner.rb +240 -0
  343. data/kinde_api/lib/kinde_api/models/get_apis_response.rb +251 -0
  344. data/kinde_api/lib/kinde_api/models/get_apis_response_apis_inner.rb +261 -0
  345. data/kinde_api/lib/kinde_api/models/get_apis_response_apis_inner_scopes_inner.rb +228 -0
  346. data/kinde_api/lib/kinde_api/models/get_application_response.rb +50 -49
  347. data/kinde_api/lib/kinde_api/models/get_application_response_application.rb +126 -57
  348. data/kinde_api/lib/kinde_api/models/get_applications_response.rb +57 -54
  349. data/kinde_api/lib/kinde_api/models/get_billing_agreements_response.rb +252 -0
  350. data/kinde_api/lib/kinde_api/models/get_billing_agreements_response_agreements_inner.rb +262 -0
  351. data/kinde_api/lib/kinde_api/models/get_billing_agreements_response_agreements_inner_entitlements_inner.rb +230 -0
  352. data/kinde_api/lib/kinde_api/models/get_billing_entitlements_response.rb +264 -0
  353. data/kinde_api/lib/kinde_api/models/get_billing_entitlements_response_entitlements_inner.rb +290 -0
  354. data/kinde_api/lib/kinde_api/models/get_billing_entitlements_response_plans_inner.rb +229 -0
  355. data/kinde_api/lib/kinde_api/models/get_business_response.rb +239 -0
  356. data/kinde_api/lib/kinde_api/models/get_business_response_business.rb +326 -0
  357. data/kinde_api/lib/kinde_api/models/get_categories_response.rb +251 -0
  358. data/kinde_api/lib/kinde_api/models/get_connections_response.rb +251 -0
  359. data/kinde_api/lib/kinde_api/models/get_environment_feature_flags_response.rb +57 -54
  360. data/kinde_api/lib/kinde_api/models/get_environment_response.rb +239 -0
  361. data/kinde_api/lib/kinde_api/models/get_environment_response_environment.rb +526 -0
  362. data/kinde_api/lib/kinde_api/models/get_environment_response_environment_background_color.rb +237 -0
  363. data/kinde_api/lib/kinde_api/models/get_environment_response_environment_link_color.rb +237 -0
  364. data/kinde_api/lib/kinde_api/models/get_environment_variable_response.rb +239 -0
  365. data/kinde_api/lib/kinde_api/models/get_environment_variables_response.rb +251 -0
  366. data/kinde_api/lib/kinde_api/models/get_event_response.rb +239 -0
  367. data/kinde_api/lib/kinde_api/models/get_event_response_event.rb +257 -0
  368. data/kinde_api/lib/kinde_api/models/get_event_types_response.rb +241 -0
  369. data/kinde_api/lib/kinde_api/models/get_identities_response.rb +251 -0
  370. data/kinde_api/lib/kinde_api/models/get_industries_response.rb +241 -0
  371. data/kinde_api/lib/kinde_api/models/get_industries_response_industries_inner.rb +230 -0
  372. data/kinde_api/lib/kinde_api/models/get_organization_feature_flags_response.rb +52 -50
  373. data/kinde_api/lib/kinde_api/models/get_organization_feature_flags_response_feature_flags_value.rb +52 -52
  374. data/kinde_api/lib/kinde_api/models/get_organization_response.rb +547 -0
  375. data/kinde_api/lib/kinde_api/models/get_organization_response_billing.rb +232 -0
  376. data/kinde_api/lib/kinde_api/models/get_organization_response_billing_agreements_inner.rb +230 -0
  377. data/kinde_api/lib/kinde_api/models/get_organization_users_response.rb +57 -54
  378. data/kinde_api/lib/kinde_api/models/get_organizations_response.rb +57 -54
  379. data/kinde_api/lib/kinde_api/models/get_organizations_user_permissions_response.rb +52 -50
  380. data/kinde_api/lib/kinde_api/models/get_organizations_user_roles_response.rb +57 -54
  381. data/kinde_api/lib/kinde_api/models/get_permissions_response.rb +57 -54
  382. data/kinde_api/lib/kinde_api/models/get_properties_response.rb +251 -0
  383. data/kinde_api/lib/kinde_api/models/get_property_values_response.rb +251 -0
  384. data/kinde_api/lib/kinde_api/models/get_redirect_callback_urls_response.rb +40 -42
  385. data/kinde_api/lib/kinde_api/models/get_role_response.rb +239 -0
  386. data/kinde_api/lib/kinde_api/models/get_role_response_role.rb +260 -0
  387. data/kinde_api/lib/kinde_api/models/get_roles_response.rb +57 -54
  388. data/kinde_api/lib/kinde_api/models/get_subscriber_response.rb +52 -50
  389. data/kinde_api/lib/kinde_api/models/get_subscribers_response.rb +57 -54
  390. data/kinde_api/lib/kinde_api/models/get_timezones_response.rb +241 -0
  391. data/kinde_api/lib/kinde_api/models/get_timezones_response_timezones_inner.rb +230 -0
  392. data/kinde_api/lib/kinde_api/models/get_user_mfa_response.rb +237 -0
  393. data/kinde_api/lib/kinde_api/models/get_user_mfa_response_mfa.rb +280 -0
  394. data/kinde_api/lib/kinde_api/models/get_user_sessions_response.rb +248 -0
  395. data/kinde_api/lib/kinde_api/models/get_user_sessions_response_sessions_inner.rb +331 -0
  396. data/kinde_api/lib/kinde_api/models/get_webhooks_response.rb +241 -0
  397. data/kinde_api/lib/kinde_api/models/identity.rb +300 -0
  398. data/kinde_api/lib/kinde_api/models/logout_redirect_urls.rb +60 -42
  399. data/kinde_api/lib/kinde_api/models/not_found_response.rb +219 -0
  400. data/kinde_api/lib/kinde_api/models/not_found_response_errors.rb +228 -0
  401. data/kinde_api/lib/kinde_api/models/organization_item_schema.rb +272 -0
  402. data/kinde_api/lib/kinde_api/models/organization_user.rb +122 -62
  403. data/kinde_api/lib/kinde_api/models/organization_user_permission.rb +73 -59
  404. data/kinde_api/lib/kinde_api/models/organization_user_permission_roles_inner.rb +47 -46
  405. data/kinde_api/lib/kinde_api/models/organization_user_role.rb +55 -50
  406. data/kinde_api/lib/kinde_api/models/organization_user_role_permissions.rb +55 -50
  407. data/kinde_api/lib/kinde_api/models/organization_user_role_permissions_permissions.rb +38 -41
  408. data/kinde_api/lib/kinde_api/models/permissions.rb +57 -54
  409. data/kinde_api/lib/kinde_api/models/property.rb +264 -0
  410. data/kinde_api/lib/kinde_api/models/property_value.rb +257 -0
  411. data/kinde_api/lib/kinde_api/models/read_env_logo_response.rb +242 -0
  412. data/kinde_api/lib/kinde_api/models/read_env_logo_response_logos_inner.rb +230 -0
  413. data/kinde_api/lib/kinde_api/models/read_logo_response.rb +242 -0
  414. data/kinde_api/lib/kinde_api/models/read_logo_response_logos_inner.rb +240 -0
  415. data/kinde_api/lib/kinde_api/models/redirect_callback_urls.rb +40 -42
  416. data/kinde_api/lib/kinde_api/models/replace_connection_request.rb +251 -0
  417. data/kinde_api/lib/kinde_api/models/replace_connection_request_options.rb +106 -0
  418. data/kinde_api/lib/kinde_api/models/replace_connection_request_options_one_of.rb +293 -0
  419. data/kinde_api/lib/kinde_api/models/replace_connection_request_options_one_of1.rb +313 -0
  420. data/kinde_api/lib/kinde_api/models/replace_logout_redirect_urls_request.rb +40 -42
  421. data/kinde_api/lib/kinde_api/models/replace_mfa_request.rb +276 -0
  422. data/kinde_api/lib/kinde_api/models/replace_organization_mfa_request.rb +249 -0
  423. data/kinde_api/lib/kinde_api/models/replace_redirect_callback_urls_request.rb +40 -42
  424. data/kinde_api/lib/kinde_api/models/role.rb +63 -53
  425. data/kinde_api/lib/kinde_api/models/role_permissions_response.rb +251 -0
  426. data/kinde_api/lib/kinde_api/models/role_scopes_response.rb +241 -0
  427. data/kinde_api/lib/kinde_api/models/roles.rb +68 -53
  428. data/kinde_api/lib/kinde_api/models/scopes.rb +250 -0
  429. data/kinde_api/lib/kinde_api/models/search_users_response.rb +241 -0
  430. data/kinde_api/lib/kinde_api/models/search_users_response_results_inner.rb +374 -0
  431. data/kinde_api/lib/kinde_api/models/set_user_password_request.rb +311 -0
  432. data/kinde_api/lib/kinde_api/models/subscriber.rb +63 -54
  433. data/kinde_api/lib/kinde_api/models/subscribers_subscriber.rb +71 -58
  434. data/kinde_api/lib/kinde_api/models/success_response.rb +47 -46
  435. data/kinde_api/lib/kinde_api/models/token_error_response.rb +44 -45
  436. data/kinde_api/lib/kinde_api/models/token_introspect.rb +63 -58
  437. data/kinde_api/lib/kinde_api/models/update_api_applications_request.rb +42 -44
  438. data/kinde_api/lib/kinde_api/models/update_api_applications_request_applications_inner.rb +48 -49
  439. data/kinde_api/lib/kinde_api/models/update_api_scope_request.rb +220 -0
  440. data/kinde_api/lib/kinde_api/models/update_application_request.rb +78 -54
  441. data/kinde_api/lib/kinde_api/models/update_application_tokens_request.rb +260 -0
  442. data/kinde_api/lib/kinde_api/models/update_applications_property_request.rb +224 -0
  443. data/kinde_api/lib/kinde_api/models/update_applications_property_request_value.rb +106 -0
  444. data/kinde_api/lib/kinde_api/models/update_business_request.rb +320 -0
  445. data/kinde_api/lib/kinde_api/models/update_category_request.rb +220 -0
  446. data/kinde_api/lib/kinde_api/models/update_connection_request.rb +251 -0
  447. data/kinde_api/lib/kinde_api/models/update_environement_feature_flag_override_request.rb +40 -43
  448. data/kinde_api/lib/kinde_api/models/update_environment_variable_request.rb +240 -0
  449. data/kinde_api/lib/kinde_api/models/update_environment_variable_response.rb +230 -0
  450. data/kinde_api/lib/kinde_api/models/update_identity_request.rb +220 -0
  451. data/kinde_api/lib/kinde_api/models/update_organization_properties_request.rb +225 -0
  452. data/kinde_api/lib/kinde_api/models/update_organization_request.rb +209 -91
  453. data/kinde_api/lib/kinde_api/models/update_organization_sessions_request.rb +284 -0
  454. data/kinde_api/lib/kinde_api/models/update_organization_users_request.rb +40 -42
  455. data/kinde_api/lib/kinde_api/models/update_organization_users_request_users_inner.rb +59 -55
  456. data/kinde_api/lib/kinde_api/models/update_organization_users_response.rb +76 -57
  457. data/kinde_api/lib/kinde_api/models/update_property_request.rb +265 -0
  458. data/kinde_api/lib/kinde_api/models/update_role_permissions_request.rb +40 -42
  459. data/kinde_api/lib/kinde_api/models/update_role_permissions_request_permissions_inner.rb +44 -45
  460. data/kinde_api/lib/kinde_api/models/update_role_permissions_response.rb +66 -56
  461. data/kinde_api/lib/kinde_api/models/update_roles_request.rb +61 -56
  462. data/kinde_api/lib/kinde_api/models/update_user_request.rb +75 -52
  463. data/kinde_api/lib/kinde_api/models/update_user_response.rb +75 -67
  464. data/kinde_api/lib/kinde_api/models/update_web_hook_request.rb +243 -0
  465. data/kinde_api/lib/kinde_api/models/update_webhook_response.rb +237 -0
  466. data/kinde_api/lib/kinde_api/models/update_webhook_response_webhook.rb +219 -0
  467. data/kinde_api/lib/kinde_api/models/user.rb +138 -97
  468. data/kinde_api/lib/kinde_api/models/user_identities_inner.rb +47 -46
  469. data/kinde_api/lib/kinde_api/models/user_identity.rb +44 -45
  470. data/kinde_api/lib/kinde_api/models/user_identity_result.rb +38 -41
  471. data/kinde_api/lib/kinde_api/models/user_profile_v2.rb +113 -79
  472. data/kinde_api/lib/kinde_api/models/users_response.rb +57 -54
  473. data/kinde_api/lib/kinde_api/models/users_response_users_inner.rb +138 -98
  474. data/kinde_api/lib/kinde_api/models/webhook.rb +267 -0
  475. data/kinde_api/lib/kinde_api/version.rb +12 -12
  476. data/kinde_api/lib/kinde_api.rb +188 -36
  477. data/kinde_api/spec/api/billing_agreements_api_spec.rb +62 -0
  478. data/kinde_api/spec/api/billing_entitlements_api_spec.rb +52 -0
  479. data/kinde_api/spec/api/billing_meter_usage_api_spec.rb +47 -0
  480. data/kinde_api/spec/api/connections_api_spec.rb +112 -0
  481. data/kinde_api/spec/api/environment_variables_api_spec.rb +95 -0
  482. data/kinde_api/spec/api/identities_api_spec.rb +72 -0
  483. data/kinde_api/spec/api/mfa_api_spec.rb +47 -0
  484. data/kinde_api/spec/api/properties_api_spec.rb +87 -0
  485. data/kinde_api/spec/api/property_categories_api_spec.rb +75 -0
  486. data/kinde_api/spec/api/search_api_spec.rb +52 -0
  487. data/kinde_api/spec/api/webhooks_api_spec.rb +106 -0
  488. data/kinde_api/spec/api_client_spec.rb +27 -21
  489. data/kinde_api/spec/configuration_spec.rb +14 -14
  490. data/kinde_api/spec/models/add_api_scope_request_spec.rb +40 -0
  491. data/kinde_api/spec/models/add_role_scope_request_spec.rb +34 -0
  492. data/kinde_api/spec/models/add_role_scope_response_spec.rb +40 -0
  493. data/kinde_api/spec/models/authorize_app_api_response_spec.rb +52 -0
  494. data/kinde_api/spec/models/category_spec.rb +40 -0
  495. data/kinde_api/spec/models/connection_connection_spec.rb +52 -0
  496. data/kinde_api/spec/models/connection_spec.rb +46 -0
  497. data/kinde_api/spec/models/create_api_scopes_response_scope_spec.rb +34 -0
  498. data/kinde_api/spec/models/create_api_scopes_response_spec.rb +46 -0
  499. data/kinde_api/spec/models/create_apis_response_api_spec.rb +34 -0
  500. data/kinde_api/spec/models/create_apis_response_spec.rb +46 -0
  501. data/kinde_api/spec/models/create_billing_agreement_request_spec.rb +52 -0
  502. data/kinde_api/spec/models/create_category_request_spec.rb +44 -0
  503. data/kinde_api/spec/models/create_category_response_category_spec.rb +34 -0
  504. data/kinde_api/spec/models/create_category_response_spec.rb +46 -0
  505. data/kinde_api/spec/models/create_connection_request_options_one_of1_spec.rb +82 -0
  506. data/kinde_api/spec/models/create_connection_request_options_one_of2_spec.rb +100 -0
  507. data/kinde_api/spec/models/create_connection_request_options_one_of_spec.rb +46 -0
  508. data/kinde_api/spec/models/create_connection_request_options_spec.rb +31 -0
  509. data/kinde_api/spec/models/create_connection_request_spec.rb +68 -0
  510. data/kinde_api/spec/models/create_connection_response_connection_spec.rb +34 -0
  511. data/kinde_api/spec/models/create_connection_response_spec.rb +46 -0
  512. data/kinde_api/spec/models/create_environment_variable_request_spec.rb +46 -0
  513. data/kinde_api/spec/models/create_environment_variable_response_environment_variable_spec.rb +34 -0
  514. data/kinde_api/spec/models/create_environment_variable_response_spec.rb +46 -0
  515. data/kinde_api/spec/models/create_identity_response_identity_spec.rb +34 -0
  516. data/kinde_api/spec/models/create_identity_response_spec.rb +46 -0
  517. data/kinde_api/spec/models/create_meter_usage_record_request_spec.rb +62 -0
  518. data/kinde_api/spec/models/create_meter_usage_record_response_spec.rb +40 -0
  519. data/kinde_api/spec/models/create_property_request_spec.rb +78 -0
  520. data/kinde_api/spec/models/create_property_response_property_spec.rb +34 -0
  521. data/kinde_api/spec/models/create_property_response_spec.rb +46 -0
  522. data/kinde_api/spec/models/create_roles_response_role_spec.rb +34 -0
  523. data/kinde_api/spec/models/create_roles_response_spec.rb +46 -0
  524. data/kinde_api/spec/models/create_user_identity_request_spec.rb +56 -0
  525. data/kinde_api/spec/models/create_web_hook_request_spec.rb +52 -0
  526. data/kinde_api/spec/models/create_webhook_response_spec.rb +46 -0
  527. data/kinde_api/spec/models/create_webhook_response_webhook_spec.rb +40 -0
  528. data/kinde_api/spec/models/delete_api_response_spec.rb +40 -0
  529. data/kinde_api/spec/models/delete_environment_variable_response_spec.rb +40 -0
  530. data/kinde_api/spec/models/delete_role_scope_response_spec.rb +40 -0
  531. data/kinde_api/spec/models/delete_webhook_response_spec.rb +40 -0
  532. data/kinde_api/spec/models/environment_variable_spec.rb +58 -0
  533. data/kinde_api/spec/models/event_type_spec.rb +58 -0
  534. data/kinde_api/spec/models/get_api_response_api_applications_inner_spec.rb +56 -0
  535. data/kinde_api/spec/models/get_api_response_api_scopes_inner_spec.rb +40 -0
  536. data/kinde_api/spec/models/get_api_response_api_spec.rb +64 -0
  537. data/kinde_api/spec/models/get_api_response_spec.rb +46 -0
  538. data/kinde_api/spec/models/get_api_scope_response_spec.rb +46 -0
  539. data/kinde_api/spec/models/get_api_scopes_response_scopes_inner_spec.rb +46 -0
  540. data/kinde_api/spec/models/get_api_scopes_response_spec.rb +46 -0
  541. data/kinde_api/spec/models/get_apis_response_apis_inner_scopes_inner_spec.rb +40 -0
  542. data/kinde_api/spec/models/get_apis_response_apis_inner_spec.rb +58 -0
  543. data/kinde_api/spec/models/get_apis_response_spec.rb +52 -0
  544. data/kinde_api/spec/models/get_billing_agreements_response_agreements_inner_entitlements_inner_spec.rb +40 -0
  545. data/kinde_api/spec/models/get_billing_agreements_response_agreements_inner_spec.rb +58 -0
  546. data/kinde_api/spec/models/get_billing_agreements_response_spec.rb +52 -0
  547. data/kinde_api/spec/models/get_billing_entitlements_response_entitlements_inner_spec.rb +76 -0
  548. data/kinde_api/spec/models/get_billing_entitlements_response_plans_inner_spec.rb +40 -0
  549. data/kinde_api/spec/models/get_billing_entitlements_response_spec.rb +58 -0
  550. data/kinde_api/spec/models/get_business_response_business_spec.rb +94 -0
  551. data/kinde_api/spec/models/get_business_response_spec.rb +46 -0
  552. data/kinde_api/spec/models/get_categories_response_spec.rb +52 -0
  553. data/kinde_api/spec/models/get_connections_response_spec.rb +52 -0
  554. data/kinde_api/spec/models/get_environment_response_environment_background_color_spec.rb +46 -0
  555. data/kinde_api/spec/models/get_environment_response_environment_link_color_spec.rb +46 -0
  556. data/kinde_api/spec/models/get_environment_response_environment_spec.rb +192 -0
  557. data/kinde_api/spec/models/get_environment_response_spec.rb +46 -0
  558. data/kinde_api/spec/models/get_environment_variable_response_spec.rb +46 -0
  559. data/kinde_api/spec/models/get_environment_variables_response_spec.rb +52 -0
  560. data/kinde_api/spec/models/get_event_response_event_spec.rb +58 -0
  561. data/kinde_api/spec/models/get_event_response_spec.rb +46 -0
  562. data/kinde_api/spec/models/get_event_types_response_spec.rb +46 -0
  563. data/kinde_api/spec/models/get_identities_response_spec.rb +52 -0
  564. data/kinde_api/spec/models/get_industries_response_industries_inner_spec.rb +40 -0
  565. data/kinde_api/spec/models/get_industries_response_spec.rb +46 -0
  566. data/kinde_api/spec/models/get_organization_response_billing_agreements_inner_spec.rb +40 -0
  567. data/kinde_api/spec/models/get_organization_response_billing_spec.rb +40 -0
  568. data/kinde_api/spec/models/get_organization_response_spec.rb +204 -0
  569. data/kinde_api/spec/models/get_properties_response_spec.rb +52 -0
  570. data/kinde_api/spec/models/get_property_values_response_spec.rb +52 -0
  571. data/kinde_api/spec/models/get_role_response_role_spec.rb +58 -0
  572. data/kinde_api/spec/models/get_role_response_spec.rb +46 -0
  573. data/kinde_api/spec/models/get_timezones_response_spec.rb +46 -0
  574. data/kinde_api/spec/models/get_timezones_response_timezones_inner_spec.rb +40 -0
  575. data/kinde_api/spec/models/get_user_mfa_response_mfa_spec.rb +70 -0
  576. data/kinde_api/spec/models/get_user_mfa_response_spec.rb +46 -0
  577. data/kinde_api/spec/models/get_user_sessions_response_sessions_inner_spec.rb +100 -0
  578. data/kinde_api/spec/models/get_user_sessions_response_spec.rb +52 -0
  579. data/kinde_api/spec/models/get_webhooks_response_spec.rb +46 -0
  580. data/kinde_api/spec/models/identity_spec.rb +82 -0
  581. data/kinde_api/spec/models/not_found_response_errors_spec.rb +40 -0
  582. data/kinde_api/spec/models/not_found_response_spec.rb +34 -0
  583. data/kinde_api/spec/models/organization_item_schema_spec.rb +64 -0
  584. data/kinde_api/spec/models/property_spec.rb +64 -0
  585. data/kinde_api/spec/models/property_value_spec.rb +58 -0
  586. data/kinde_api/spec/models/read_env_logo_response_logos_inner_spec.rb +40 -0
  587. data/kinde_api/spec/models/read_env_logo_response_spec.rb +46 -0
  588. data/kinde_api/spec/models/read_logo_response_logos_inner_spec.rb +46 -0
  589. data/kinde_api/spec/models/read_logo_response_spec.rb +46 -0
  590. data/kinde_api/spec/models/replace_connection_request_options_one_of1_spec.rb +88 -0
  591. data/kinde_api/spec/models/replace_connection_request_options_one_of_spec.rb +76 -0
  592. data/kinde_api/spec/models/replace_connection_request_options_spec.rb +31 -0
  593. data/kinde_api/spec/models/replace_connection_request_spec.rb +52 -0
  594. data/kinde_api/spec/models/replace_mfa_request_spec.rb +48 -0
  595. data/kinde_api/spec/models/replace_organization_mfa_request_spec.rb +38 -0
  596. data/kinde_api/spec/models/role_permissions_response_spec.rb +52 -0
  597. data/kinde_api/spec/models/role_scopes_response_spec.rb +46 -0
  598. data/kinde_api/spec/models/scopes_spec.rb +52 -0
  599. data/kinde_api/spec/models/search_users_response_results_inner_spec.rb +118 -0
  600. data/kinde_api/spec/models/search_users_response_spec.rb +46 -0
  601. data/kinde_api/spec/models/set_user_password_request_spec.rb +66 -0
  602. data/kinde_api/spec/models/update_api_scope_request_spec.rb +34 -0
  603. data/kinde_api/spec/models/update_application_tokens_request_spec.rb +58 -0
  604. data/kinde_api/spec/models/update_applications_property_request_spec.rb +34 -0
  605. data/kinde_api/spec/models/update_applications_property_request_value_spec.rb +31 -0
  606. data/kinde_api/spec/models/update_business_request_spec.rb +88 -0
  607. data/kinde_api/spec/models/update_category_request_spec.rb +34 -0
  608. data/kinde_api/spec/models/update_connection_request_spec.rb +52 -0
  609. data/kinde_api/spec/models/update_environment_variable_request_spec.rb +46 -0
  610. data/kinde_api/spec/models/update_environment_variable_response_spec.rb +40 -0
  611. data/kinde_api/spec/models/update_identity_request_spec.rb +34 -0
  612. data/kinde_api/spec/models/update_organization_properties_request_spec.rb +34 -0
  613. data/kinde_api/spec/models/update_organization_sessions_request_spec.rb +56 -0
  614. data/kinde_api/spec/models/update_property_request_spec.rb +52 -0
  615. data/kinde_api/spec/models/update_web_hook_request_spec.rb +46 -0
  616. data/kinde_api/spec/models/update_webhook_response_spec.rb +46 -0
  617. data/kinde_api/spec/models/update_webhook_response_webhook_spec.rb +34 -0
  618. data/kinde_api/spec/models/webhook_spec.rb +64 -0
  619. data/kinde_api/spec/spec_helper.rb +63 -61
  620. data/lib/kinde_sdk/client/entitlements.rb +86 -0
  621. data/lib/kinde_sdk/client/feature_flags.rb +246 -10
  622. data/lib/kinde_sdk/client/permissions.rb +197 -6
  623. data/lib/kinde_sdk/client/roles.rb +218 -0
  624. data/lib/kinde_sdk/client.rb +354 -14
  625. data/lib/kinde_sdk/configuration.rb +11 -1
  626. data/lib/kinde_sdk/current.rb +16 -0
  627. data/lib/kinde_sdk/engine.rb +11 -0
  628. data/lib/kinde_sdk/errors.rb +7 -0
  629. data/lib/kinde_sdk/internal/frontend_client.rb +111 -0
  630. data/lib/kinde_sdk/middleware.rb +16 -0
  631. data/lib/kinde_sdk/token_manager.rb +85 -0
  632. data/lib/kinde_sdk/token_store.rb +29 -0
  633. data/lib/kinde_sdk/version.rb +1 -1
  634. data/lib/kinde_sdk.rb +160 -25
  635. data/spec/examples.txt +29 -0
  636. data/spec/kinde_sdk_spec.rb +317 -98
  637. data/spec/spec_helper.rb +7 -4
  638. metadata +666 -10
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1553814bbc9fcac3dc85f89b46680f81626d6a86771f900fae97fabe5bfb12e6
4
- data.tar.gz: a6e89557f44e9483cc9d96e6ec97bcdf402d4995df2e0653ddb11be054913542
3
+ metadata.gz: 535ff46d086ced73b9c96057f1cdf7bd582cede497aa3d299ff6cef98d7d3259
4
+ data.tar.gz: 8ae57192d2f173ef0a84902832aadb63a7b81ff8a4a4603da7061b30c4f58bde
5
5
  SHA512:
6
- metadata.gz: e1110fef072979b2a720c84a468943bccef437dd477d39764b9fae8a85f78680365b40f640535bcdb37aee19652de5761dfc8a5093d6df425130754344809649
7
- data.tar.gz: 3d36f72b26a3616967b19c31ac36ed465ae7bc515ef88207bf472ac621704b572de6200ebc0230580a7668b7eca9cf2923b35ef146f69843ea57f44ca6b55832
6
+ metadata.gz: 7abe77f02ae645e9841037d3c8fdc7a7edc28e3f7d9a1e625d7c687f751b4e16ea86a0af7e96629e7043542ce92434de4eb9868eeba4c4ca51743d0568f3ab39
7
+ data.tar.gz: f98f1dd0411cd3cff285e1c7a1475a749f6d5ba1c9aa75077c6e25ba0a171e173a2308792d5ceafd7b330cb7aee904957f2a4dbbdbbca178fe76a65b77aa4a7b
@@ -0,0 +1,15 @@
1
+ /*
2
+ * This is a manifest file that'll be compiled into application.css, which will include all the files
3
+ * listed below.
4
+ *
5
+ * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6
+ * or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path.
7
+ *
8
+ * You're free to add application-wide styles to this file and they'll appear at the bottom of the
9
+ * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
10
+ * files in this directory. Styles in this file should be added after the last require_* statement.
11
+ * It is generally better to create a new file per style scope.
12
+ *
13
+ *= require_tree .
14
+ *= require_self
15
+ */
@@ -0,0 +1,301 @@
1
+ require 'action_controller'
2
+ require 'uri'
3
+ require 'cgi'
4
+ require 'net/http'
5
+ require 'json'
6
+ require 'jwt'
7
+
8
+ module KindeSdk
9
+ # AuthController handles all authentication-related actions for the Kinde SDK
10
+ # including OAuth2 flows, token management, and session handling
11
+ class AuthController < ActionController::Base
12
+ include AuthHelper
13
+
14
+ before_action :validate_state, only: :callback
15
+ before_action :clear_auth_session, only: [:logout_callback, :logout]
16
+
17
+ # Initiates the OAuth2 authorization flow
18
+ # Generates a secure nonce and redirects to Kinde's authorization endpoint
19
+ # @return [void] Redirects to Kinde's authorization URL
20
+ def auth
21
+ # Generate a secure random nonce for CSRF protection
22
+ nonce = SecureRandom.urlsafe_base64(16)
23
+
24
+ # Get authorization URL and PKCE code verifier from SDK
25
+ auth_data = KindeSdk.auth_url(nonce: nonce)
26
+
27
+ # Store PKCE code verifier and nonce in session for validation
28
+ session[:code_verifier] = auth_data[:code_verifier] if auth_data[:code_verifier].present?
29
+ session[:auth_nonce] = nonce
30
+ session[:auth_state] = {
31
+ requested_at: Time.current.to_i,
32
+ redirect_url: auth_data[:url],
33
+ # Only allow reauth-leniency when reauth_state was provided
34
+ supports_reauth: params[:reauth_state].present?
35
+ }
36
+
37
+ redirect_to auth_data[:url], allow_other_host: true
38
+ rescue StandardError => e
39
+ handle_error("Auth initialization failed", e)
40
+ end
41
+
42
+ # Handles the OAuth2 callback from Kinde
43
+ # Validates the response, exchanges code for tokens, and sets up the session
44
+ # @return [void] Redirects to root path on success
45
+ def callback
46
+ # Handle reauth errors first
47
+ if handle_reauth_error
48
+ return
49
+ end
50
+
51
+ tokens = fetch_and_validate_tokens
52
+ return if performed?
53
+
54
+ # Store tokens and user information in session
55
+ set_session_tokens(tokens)
56
+
57
+ # Clean up temporary auth session data
58
+ clear_auth_session
59
+
60
+ redirect_to "/"
61
+ rescue StandardError => e
62
+ handle_error("Authentication callback failed", e)
63
+ end
64
+
65
+ # Handles machine-to-machine (M2M) authentication using client credentials
66
+ # Stores the access token in Redis for subsequent API calls
67
+ # @return [void] Redirects to management path on success
68
+ def client_credentials_auth
69
+ result = KindeSdk.client_credentials_access(
70
+ client_id: ENV["KINDE_MANAGEMENT_CLIENT_ID"],
71
+ client_secret: ENV["KINDE_MANAGEMENT_CLIENT_SECRET"]
72
+ )
73
+
74
+ if result["error"].present?
75
+ raise result["error"]
76
+ end
77
+
78
+ # Store M2M token in Redis with expiration
79
+ $redis.set("kinde_m2m_token", result["access_token"], ex: result["expires_in"].to_i)
80
+ redirect_to mgmt_path
81
+ rescue StandardError => e
82
+ handle_error("Client credentials authentication failed", e)
83
+ end
84
+
85
+ # Refreshes the access token using the refresh token
86
+ # @return [void] Redirects to root path on success
87
+ def refresh_token
88
+ return redirect_with_error("No valid session found") unless session[:kinde_token_store].present?
89
+
90
+ if refresh_session_tokens
91
+ redirect_to "/"
92
+ else
93
+ redirect_with_error("Failed to refresh token")
94
+ end
95
+ rescue StandardError => e
96
+ handle_error("Token refresh failed", e)
97
+ end
98
+
99
+ # Initiates the logout process by redirecting to Kinde's logout endpoint
100
+ # @return [void] Redirects to Kinde's logout URL
101
+ def logout
102
+ # Ensure we have a valid logout URL configured
103
+ unless KindeSdk.config.logout_url.present?
104
+ redirect_with_error("Logout URL not configured")
105
+ return
106
+ end
107
+
108
+ # Get the logout URL with our callback URL
109
+ logout_url = KindeSdk.logout_url(
110
+ logout_url: KindeSdk.config.logout_url,
111
+ domain: KindeSdk.config.domain
112
+ )
113
+
114
+ # Clear local session before redirecting to Kinde
115
+ session.delete(:kinde_token_store)
116
+ session.delete(:kinde_user)
117
+ clear_auth_session
118
+
119
+ # Redirect to Kinde's logout endpoint
120
+ redirect_to logout_url, allow_other_host: true
121
+ rescue StandardError => e
122
+ handle_error("Logout initialization failed", e)
123
+ end
124
+
125
+ # Handles the callback after successful logout
126
+ # @return [void] Redirects to root path
127
+ def logout_callback
128
+ # Session is already cleared in logout method
129
+ # Just redirect to home page
130
+ redirect_to "/"
131
+ end
132
+
133
+ private
134
+
135
+ def handle_reauth_error
136
+ error_param = params[:error]
137
+ return false unless error_param.present?
138
+
139
+ if error_param.downcase == "login_link_expired"
140
+ handle_expired_login_link
141
+ else
142
+ Rails.logger.warn("OAuth error received: #{error_param}")
143
+ end
144
+
145
+ true
146
+ end
147
+
148
+ def handle_expired_login_link
149
+ reauth_state = params[:reauth_state]
150
+ return unless reauth_state.present?
151
+
152
+ begin
153
+ decoded_auth_state = Base64.decode64(reauth_state)
154
+ reauth_data = JSON.parse(decoded_auth_state)
155
+
156
+ if reauth_data.present?
157
+ redirect_to build_reauth_url(reauth_data), allow_other_host: true
158
+ end
159
+ rescue ArgumentError => e
160
+ handle_error("Invalid reauth state encoding", e)
161
+ rescue JSON::ParserError => e
162
+ handle_error("Invalid reauth state format", e)
163
+ end
164
+ end
165
+
166
+ def build_reauth_url(reauth_data)
167
+ auth_url = "#{request.base_url}#{KindeSdk::Engine.routes.url_helpers.auth_path}"
168
+ query_string = URI.encode_www_form(reauth_data)
169
+ "#{auth_url}?#{query_string}"
170
+ end
171
+
172
+ # Fetches and validates tokens from the authorization code
173
+ # @return [Hash] The validated tokens or nil if validation fails
174
+ def fetch_and_validate_tokens
175
+ begin
176
+ tokens = KindeSdk.fetch_tokens(
177
+ params[:code],
178
+ code_verifier: KindeSdk.config.pkce_enabled ? session[:code_verifier] : nil,
179
+ redirect_uri: KindeSdk.config.callback_url
180
+ )
181
+ rescue StandardError => e
182
+ # Handle PKCE-related errors that might occur during token fetch
183
+ if e.message.include?("PKCE code verifier") || e.message.include?("invalid_grant")
184
+ # This could be a reauth scenario where session data was lost
185
+ # Redirect back to auth to start fresh
186
+ Rails.logger.warn("PKCE/token issue detected (#{e.message}), redirecting to re-authenticate")
187
+ redirect_to "#{request.base_url}#{KindeSdk::Engine.routes.url_helpers.auth_path}"
188
+ return nil
189
+ end
190
+
191
+ # Re-raise other errors
192
+ raise e
193
+ end
194
+
195
+ if tokens[:error].present?
196
+ redirect_with_error("Token exchange failed: #{tokens[:error]}")
197
+ return nil
198
+ end
199
+
200
+ # Validate tokens using SDK's built-in validation
201
+ begin
202
+ KindeSdk.validate_jwt_token(tokens)
203
+
204
+ # Validate nonce in ID token to prevent replay attacks
205
+ # Skip nonce validation if no session nonce (could be reauth scenario)
206
+ if session[:auth_nonce].present?
207
+ decoded_token = JWT.decode(tokens[:id_token], nil, false)[0]
208
+ unless decoded_token['nonce'] == session[:auth_nonce]
209
+ redirect_with_error("Invalid authentication nonce")
210
+ return nil
211
+ end
212
+ else
213
+ Rails.logger.warn("Skipping nonce validation - no session nonce found (possible reauth scenario)")
214
+ end
215
+
216
+ tokens
217
+ rescue JWT::DecodeError => e
218
+ redirect_with_error("Token validation failed: #{e.message}")
219
+ nil
220
+ end
221
+ end
222
+
223
+ # Clears temporary authentication data from the session
224
+ # @return [void]
225
+ def clear_auth_session
226
+ session.delete(:auth_nonce)
227
+ session.delete(:auth_state)
228
+ session.delete(:code_verifier)
229
+ end
230
+
231
+ # Validates the state parameter to prevent CSRF attacks
232
+ # Checks state existence, matches returned state with stored state, and validates expiration
233
+ # @return [void]
234
+ def validate_state
235
+
236
+ error_param = params[:error]
237
+ if error_param.present?
238
+ if error_param.downcase == "login_link_expired"
239
+ return
240
+ end
241
+ end
242
+ # Check if nonce and state exist in session
243
+ unless session[:auth_state]
244
+ # If no session state but we have a code, check if this could be a reauth scenario
245
+ # In reauth scenarios, the session might be lost but we still have a valid OAuth code
246
+ if params[:code].present?
247
+ # Skip validation for potential reauth scenarios where session state is lost
248
+ return
249
+ end
250
+
251
+ redirect_with_error("Invalid authentication state")
252
+ return
253
+ end
254
+
255
+ # If this auth flow supports reauth, be more lenient with validation
256
+ if session[:auth_state]["supports_reauth"]
257
+ # Only skip when both code _and_ state are supplied
258
+ return if params[:code].present? && params[:state].present?
259
+ end
260
+
261
+ # Normal state validation for non-reauth flows
262
+ returned_state = params[:state]
263
+ stored_state = session[:auth_state]
264
+ stored_url = stored_state["redirect_url"]
265
+
266
+ # Extract the state from the stored redirect_url
267
+ parsed_url = URI.parse(stored_url)
268
+ query_params = CGI.parse(parsed_url.query || "")
269
+ stored_state_from_url = query_params["state"]&.first
270
+
271
+ # Verify returned state matches the state extracted from the redirect_url
272
+ unless returned_state.present? && returned_state == stored_state_from_url
273
+ redirect_with_error("Invalid authentication state")
274
+ return
275
+ end
276
+
277
+ # Check state age (expires after 15 minutes)
278
+ if Time.current.to_i - stored_state["requested_at"] > 900
279
+ redirect_with_error("Authentication session expired")
280
+ return
281
+ end
282
+ end
283
+
284
+ # Handles errors during authentication
285
+ # @param message [String] The error message
286
+ # @param error [Exception] The exception that occurred
287
+ # @return [void]
288
+ def handle_error(message, error)
289
+ Rails.logger.error("Error: #{error.message}")
290
+ redirect_with_error(message)
291
+ end
292
+
293
+ # Redirects to root path with an error message
294
+ # @param message [String] The error message
295
+ # @return [void]
296
+ def redirect_with_error(message)
297
+ Rails.logger.error("Redirecting with error: #{message}")
298
+ redirect_to "/", alert: message
299
+ end
300
+ end
301
+ end
@@ -0,0 +1,88 @@
1
+ module AuthHelper
2
+ # Sets up session tokens and user information after successful authentication
3
+ # @param tokens [Hash] The authentication tokens received from Kinde
4
+ # @return [void]
5
+ def set_session_tokens(tokens)
6
+ # Create token store from tokens
7
+ token_store = KindeSdk::TokenManager.create_store(tokens)
8
+
9
+ # Store minimal token data in session
10
+ session[:kinde_token_store] = {
11
+ access_token: token_store.bearer_token,
12
+ refresh_token: token_store.tokens[:refresh_token],
13
+ expires_at: token_store.expires_at
14
+ }
15
+
16
+ # Get and store minimal user info
17
+ client = KindeSdk.client(tokens)
18
+ user_info = client.oauth.get_user_profile_v2.to_hash
19
+
20
+ # Validate user info before storing
21
+ raise ArgumentError, "Invalid user info received" unless user_info[:id].present?
22
+
23
+ session[:kinde_user] = {
24
+ id: user_info[:id],
25
+ email: user_info[:email],
26
+ first_name: user_info[:given_name],
27
+ last_name: user_info[:family_name]
28
+ }
29
+ end
30
+
31
+ # Checks if the user is currently logged in
32
+ # @return [Boolean] true if the user is logged in and token is valid
33
+ def logged_in?
34
+ !token_expired?
35
+ end
36
+
37
+ # Checks if the session contains token data
38
+ # @return [Boolean] true if session contains token data
39
+ def session_present_in?
40
+ session[:kinde_token_store].present?
41
+ end
42
+
43
+ # Checks if the current token has expired
44
+ # @return [Boolean] true if token is expired or invalid
45
+ def token_expired?
46
+ return true unless session[:kinde_token_store].present?
47
+
48
+ client = get_client
49
+ return true unless client
50
+
51
+ client.token_expired?
52
+ rescue JWT::DecodeError => e
53
+ Rails.logger.error("JWT decode error: #{e.message}")
54
+ true
55
+ rescue StandardError => e
56
+ Rails.logger.error("Error checking token expiration: #{e.message}")
57
+ true
58
+ end
59
+
60
+ # Attempts to refresh the session tokens
61
+ # @return [Boolean] true if refresh was successful
62
+ def refresh_session_tokens
63
+ return false unless session[:kinde_token_store].present?
64
+
65
+ # Create token store from session data
66
+ token_store = KindeSdk::TokenStore.new(session[:kinde_token_store])
67
+
68
+ # Attempt to refresh tokens
69
+ new_tokens = KindeSdk::TokenManager.refresh_tokens(token_store, session)
70
+ if new_tokens
71
+ set_session_tokens(new_tokens)
72
+ true
73
+ else
74
+ false
75
+ end
76
+ rescue StandardError => e
77
+ Rails.logger.error("Error refreshing tokens: #{e.message}")
78
+ session.delete(:kinde_token_store)
79
+ false
80
+ end
81
+
82
+ # Gets a Kinde client instance for the current session
83
+ # @return [KindeSdk::Client, nil] The client instance or nil if no valid session
84
+ def get_client
85
+ return nil unless session[:kinde_token_store].present?
86
+ KindeSdk.client(session[:kinde_token_store])
87
+ end
88
+ end
data/config/routes.rb ADDED
@@ -0,0 +1,9 @@
1
+ KindeSdk::Engine.routes.draw do
2
+ # Authentication routes
3
+ get "auth" => "auth#auth"
4
+ get "callback" => "auth#callback"
5
+ get "logout" => "auth#logout"
6
+ get "logout_callback" => "auth#logout_callback"
7
+ get "refresh_token" => "auth#refresh_token"
8
+ get "client_credentials_auth" => "auth#client_credentials_auth"
9
+ end
data/kinde_api/Gemfile ADDED
@@ -0,0 +1,9 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
4
+
5
+ group :development, :test do
6
+ gem 'rake', '~> 13.0.1'
7
+ gem 'pry-byebug'
8
+ gem 'rubocop', '~> 0.66.0'
9
+ end