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.
- checksums.yaml +4 -4
- data/app/assets/stylesheets/kinde/ruby/sdk/application.css +15 -0
- data/app/controllers/kinde_sdk/auth_controller.rb +301 -0
- data/app/helpers/auth_helper.rb +88 -0
- data/config/routes.rb +9 -0
- data/kinde_api/Gemfile +9 -0
- data/kinde_api/README.md +316 -47
- data/kinde_api/Rakefile +10 -0
- data/kinde_api/docs/APIsApi.md +569 -60
- data/kinde_api/docs/AddAPIScopeRequest.md +20 -0
- data/kinde_api/docs/AddAPIsRequest.md +4 -4
- data/kinde_api/docs/AddOrganizationUsersRequestUsersInner.md +1 -1
- data/kinde_api/docs/AddRoleScopeRequest.md +18 -0
- data/kinde_api/docs/AddRoleScopeResponse.md +20 -0
- data/kinde_api/docs/ApplicationsApi.md +465 -38
- data/kinde_api/docs/AuthorizeAppApiResponse.md +24 -0
- data/kinde_api/docs/BillingAgreementsApi.md +157 -0
- data/kinde_api/docs/BillingEntitlementsApi.md +89 -0
- data/kinde_api/docs/BillingMeterUsageApi.md +77 -0
- data/kinde_api/docs/BusinessApi.md +27 -66
- data/kinde_api/docs/CallbacksApi.md +25 -25
- data/kinde_api/docs/Category.md +20 -0
- data/kinde_api/docs/ConnectedAppsApi.md +8 -8
- data/kinde_api/docs/Connection.md +22 -0
- data/kinde_api/docs/ConnectionConnection.md +24 -0
- data/kinde_api/docs/ConnectionsApi.md +439 -0
- data/kinde_api/docs/CreateApiScopesResponse.md +22 -0
- data/kinde_api/docs/CreateApiScopesResponseScope.md +18 -0
- data/kinde_api/docs/CreateApisResponse.md +22 -0
- data/kinde_api/docs/CreateApisResponseApi.md +18 -0
- data/kinde_api/docs/CreateApplicationRequest.md +3 -3
- data/kinde_api/docs/CreateApplicationResponseApplication.md +4 -4
- data/kinde_api/docs/CreateBillingAgreementRequest.md +24 -0
- data/kinde_api/docs/CreateCategoryRequest.md +20 -0
- data/kinde_api/docs/CreateCategoryResponse.md +22 -0
- data/kinde_api/docs/CreateCategoryResponseCategory.md +18 -0
- data/kinde_api/docs/CreateConnectionRequest.md +28 -0
- data/kinde_api/docs/CreateConnectionRequestOptions.md +51 -0
- data/kinde_api/docs/CreateConnectionRequestOptionsOneOf.md +22 -0
- data/kinde_api/docs/CreateConnectionRequestOptionsOneOf1.md +34 -0
- data/kinde_api/docs/CreateConnectionRequestOptionsOneOf2.md +44 -0
- data/kinde_api/docs/CreateConnectionResponse.md +22 -0
- data/kinde_api/docs/CreateConnectionResponseConnection.md +18 -0
- data/kinde_api/docs/CreateEnvironmentVariableRequest.md +22 -0
- data/kinde_api/docs/CreateEnvironmentVariableResponse.md +22 -0
- data/kinde_api/docs/CreateEnvironmentVariableResponseEnvironmentVariable.md +18 -0
- data/kinde_api/docs/CreateIdentityResponse.md +22 -0
- data/kinde_api/docs/CreateIdentityResponseIdentity.md +18 -0
- data/kinde_api/docs/CreateMeterUsageRecordRequest.md +26 -0
- data/kinde_api/docs/CreateMeterUsageRecordResponse.md +20 -0
- data/kinde_api/docs/CreateOrganizationRequest.md +17 -7
- data/kinde_api/docs/CreateOrganizationResponse.md +4 -4
- data/kinde_api/docs/CreateOrganizationResponseOrganization.md +4 -2
- data/kinde_api/docs/CreatePropertyRequest.md +30 -0
- data/kinde_api/docs/CreatePropertyResponse.md +22 -0
- data/kinde_api/docs/CreatePropertyResponseProperty.md +18 -0
- data/kinde_api/docs/CreateRolesResponse.md +22 -0
- data/kinde_api/docs/CreateRolesResponseRole.md +18 -0
- data/kinde_api/docs/CreateUserIdentityRequest.md +24 -0
- data/kinde_api/docs/CreateUserRequest.md +3 -1
- data/kinde_api/docs/CreateUserRequestIdentitiesInner.md +3 -1
- data/kinde_api/docs/CreateUserRequestIdentitiesInnerDetails.md +7 -1
- data/kinde_api/docs/CreateUserRequestProfile.md +3 -1
- data/kinde_api/docs/CreateUserResponse.md +1 -1
- data/kinde_api/docs/CreateWebHookRequest.md +24 -0
- data/kinde_api/docs/CreateWebhookResponse.md +22 -0
- data/kinde_api/docs/CreateWebhookResponseWebhook.md +20 -0
- data/kinde_api/docs/DeleteApiResponse.md +20 -0
- data/kinde_api/docs/DeleteEnvironmentVariableResponse.md +20 -0
- data/kinde_api/docs/DeleteRoleScopeResponse.md +20 -0
- data/kinde_api/docs/DeleteWebhookResponse.md +20 -0
- data/kinde_api/docs/EnvironmentVariable.md +26 -0
- data/kinde_api/docs/EnvironmentVariablesApi.md +356 -0
- data/kinde_api/docs/EnvironmentsApi.md +281 -5
- data/kinde_api/docs/EventType.md +26 -0
- data/kinde_api/docs/FeatureFlagsApi.md +4 -4
- data/kinde_api/docs/GetApiResponse.md +22 -0
- data/kinde_api/docs/GetApiResponseApi.md +28 -0
- data/kinde_api/docs/GetApiResponseApiApplicationsInner.md +24 -0
- data/kinde_api/docs/GetApiResponseApiScopesInner.md +20 -0
- data/kinde_api/docs/GetApiScopeResponse.md +22 -0
- data/kinde_api/docs/GetApiScopesResponse.md +22 -0
- data/kinde_api/docs/GetApiScopesResponseScopesInner.md +22 -0
- data/kinde_api/docs/GetApisResponse.md +24 -0
- data/kinde_api/docs/GetApisResponseApisInner.md +26 -0
- data/kinde_api/docs/GetApisResponseApisInnerScopesInner.md +20 -0
- data/kinde_api/docs/GetApplicationResponseApplication.md +11 -5
- data/kinde_api/docs/GetBillingAgreementsResponse.md +24 -0
- data/kinde_api/docs/GetBillingAgreementsResponseAgreementsInner.md +26 -0
- data/kinde_api/docs/GetBillingAgreementsResponseAgreementsInnerEntitlementsInner.md +20 -0
- data/kinde_api/docs/GetBillingEntitlementsResponse.md +26 -0
- data/kinde_api/docs/GetBillingEntitlementsResponseEntitlementsInner.md +32 -0
- data/kinde_api/docs/GetBillingEntitlementsResponsePlansInner.md +20 -0
- data/kinde_api/docs/GetBusinessResponse.md +22 -0
- data/kinde_api/docs/GetBusinessResponseBusiness.md +38 -0
- data/kinde_api/docs/GetCategoriesResponse.md +24 -0
- data/kinde_api/docs/GetConnectionsResponse.md +24 -0
- data/kinde_api/docs/GetEnvironmentResponse.md +22 -0
- data/kinde_api/docs/GetEnvironmentResponseEnvironment.md +68 -0
- data/kinde_api/docs/GetEnvironmentResponseEnvironmentBackgroundColor.md +22 -0
- data/kinde_api/docs/GetEnvironmentResponseEnvironmentLinkColor.md +22 -0
- data/kinde_api/docs/GetEnvironmentVariableResponse.md +22 -0
- data/kinde_api/docs/GetEnvironmentVariablesResponse.md +24 -0
- data/kinde_api/docs/GetEventResponse.md +22 -0
- data/kinde_api/docs/GetEventResponseEvent.md +26 -0
- data/kinde_api/docs/GetEventTypesResponse.md +22 -0
- data/kinde_api/docs/GetIdentitiesResponse.md +24 -0
- data/kinde_api/docs/GetIndustriesResponse.md +22 -0
- data/kinde_api/docs/GetIndustriesResponseIndustriesInner.md +20 -0
- data/kinde_api/docs/GetOrganizationResponse.md +72 -0
- data/kinde_api/docs/GetOrganizationResponseBilling.md +20 -0
- data/kinde_api/docs/GetOrganizationResponseBillingAgreementsInner.md +20 -0
- data/kinde_api/docs/GetOrganizationUsersResponse.md +2 -2
- data/kinde_api/docs/GetOrganizationsResponse.md +4 -4
- data/kinde_api/docs/GetPropertiesResponse.md +24 -0
- data/kinde_api/docs/GetPropertyValuesResponse.md +24 -0
- data/kinde_api/docs/GetRoleResponse.md +22 -0
- data/kinde_api/docs/GetRoleResponseRole.md +26 -0
- data/kinde_api/docs/GetTimezonesResponse.md +22 -0
- data/kinde_api/docs/GetTimezonesResponseTimezonesInner.md +20 -0
- data/kinde_api/docs/GetUserMfaResponse.md +22 -0
- data/kinde_api/docs/GetUserMfaResponseMfa.md +30 -0
- data/kinde_api/docs/GetUserSessionsResponse.md +24 -0
- data/kinde_api/docs/GetUserSessionsResponseSessionsInner.md +40 -0
- data/kinde_api/docs/GetWebhooksResponse.md +22 -0
- data/kinde_api/docs/IdentitiesApi.md +219 -0
- data/kinde_api/docs/Identity.md +34 -0
- data/kinde_api/docs/IndustriesApi.md +14 -21
- data/kinde_api/docs/LogoutRedirectUrls.md +6 -2
- data/kinde_api/docs/MFAApi.md +77 -0
- data/kinde_api/docs/NotFoundResponse.md +18 -0
- data/kinde_api/docs/NotFoundResponseErrors.md +20 -0
- data/kinde_api/docs/OAuthApi.md +32 -97
- data/kinde_api/docs/OrganizationItemSchema.md +28 -0
- data/kinde_api/docs/OrganizationUser.md +17 -11
- data/kinde_api/docs/OrganizationsApi.md +1440 -210
- data/kinde_api/docs/Permissions.md +1 -1
- data/kinde_api/docs/PermissionsApi.md +7 -7
- data/kinde_api/docs/PropertiesApi.md +297 -0
- data/kinde_api/docs/Property.md +28 -0
- data/kinde_api/docs/PropertyCategoriesApi.md +227 -0
- data/kinde_api/docs/PropertyValue.md +26 -0
- data/kinde_api/docs/ReadEnvLogoResponse.md +22 -0
- data/kinde_api/docs/ReadEnvLogoResponseLogosInner.md +20 -0
- data/kinde_api/docs/ReadLogoResponse.md +22 -0
- data/kinde_api/docs/ReadLogoResponseLogosInner.md +22 -0
- data/kinde_api/docs/ReplaceConnectionRequest.md +24 -0
- data/kinde_api/docs/ReplaceConnectionRequestOptions.md +51 -0
- data/kinde_api/docs/ReplaceConnectionRequestOptionsOneOf.md +32 -0
- data/kinde_api/docs/ReplaceConnectionRequestOptionsOneOf1.md +40 -0
- data/kinde_api/docs/ReplaceMFARequest.md +20 -0
- data/kinde_api/docs/ReplaceOrganizationMFARequest.md +18 -0
- data/kinde_api/docs/RolePermissionsResponse.md +24 -0
- data/kinde_api/docs/RoleScopesResponse.md +22 -0
- data/kinde_api/docs/Roles.md +4 -2
- data/kinde_api/docs/RolesApi.md +338 -54
- data/kinde_api/docs/Scopes.md +24 -0
- data/kinde_api/docs/SearchApi.md +89 -0
- data/kinde_api/docs/SearchUsersResponse.md +22 -0
- data/kinde_api/docs/SearchUsersResponseResultsInner.md +46 -0
- data/kinde_api/docs/SetUserPasswordRequest.md +26 -0
- data/kinde_api/docs/SubscribersApi.md +4 -4
- data/kinde_api/docs/SuccessResponse.md +2 -2
- data/kinde_api/docs/TimezonesApi.md +14 -21
- data/kinde_api/docs/TokenIntrospect.md +5 -5
- data/kinde_api/docs/UpdateAPIApplicationsRequestApplicationsInner.md +4 -4
- data/kinde_api/docs/UpdateAPIScopeRequest.md +18 -0
- data/kinde_api/docs/UpdateApplicationRequest.md +5 -1
- data/kinde_api/docs/UpdateApplicationTokensRequest.md +26 -0
- data/kinde_api/docs/UpdateApplicationsPropertyRequest.md +18 -0
- data/kinde_api/docs/UpdateApplicationsPropertyRequestValue.md +49 -0
- data/kinde_api/docs/UpdateBusinessRequest.md +36 -0
- data/kinde_api/docs/UpdateCategoryRequest.md +18 -0
- data/kinde_api/docs/UpdateConnectionRequest.md +24 -0
- data/kinde_api/docs/UpdateEnvironmentVariableRequest.md +22 -0
- data/kinde_api/docs/UpdateEnvironmentVariableResponse.md +20 -0
- data/kinde_api/docs/UpdateIdentityRequest.md +18 -0
- data/kinde_api/docs/UpdateOrganizationPropertiesRequest.md +18 -0
- data/kinde_api/docs/UpdateOrganizationRequest.md +27 -15
- data/kinde_api/docs/UpdateOrganizationSessionsRequest.md +24 -0
- data/kinde_api/docs/UpdateOrganizationUsersRequestUsersInner.md +2 -2
- data/kinde_api/docs/UpdateOrganizationUsersResponse.md +3 -1
- data/kinde_api/docs/UpdatePropertyRequest.md +24 -0
- data/kinde_api/docs/UpdateUserRequest.md +5 -1
- data/kinde_api/docs/UpdateUserResponse.md +1 -1
- data/kinde_api/docs/UpdateWebHookRequest.md +22 -0
- data/kinde_api/docs/UpdateWebhookResponse.md +22 -0
- data/kinde_api/docs/UpdateWebhookResponseWebhook.md +18 -0
- data/kinde_api/docs/User.md +6 -2
- data/kinde_api/docs/UserProfileV2.md +17 -13
- data/kinde_api/docs/UsersApi.md +893 -99
- data/kinde_api/docs/UsersResponseUsersInner.md +6 -2
- data/kinde_api/docs/Webhook.md +28 -0
- data/kinde_api/docs/WebhooksApi.md +423 -0
- data/kinde_api/git_push.sh +57 -0
- data/kinde_api/kinde_api.gemspec +38 -0
- data/kinde_api/lib/kinde_api/api/apis_api.rb +640 -127
- data/kinde_api/lib/kinde_api/api/applications_api.rb +524 -112
- data/kinde_api/lib/kinde_api/api/billing_agreements_api.rb +166 -0
- data/kinde_api/lib/kinde_api/api/billing_entitlements_api.rb +105 -0
- data/kinde_api/lib/kinde_api/api/billing_meter_usage_api.rb +90 -0
- data/kinde_api/lib/kinde_api/api/business_api.rb +61 -126
- data/kinde_api/lib/kinde_api/api/callbacks_api.rb +152 -172
- data/kinde_api/lib/kinde_api/api/connected_apps_api.rb +57 -67
- data/kinde_api/lib/kinde_api/api/connections_api.rb +433 -0
- data/kinde_api/lib/kinde_api/api/environment_variables_api.rb +347 -0
- data/kinde_api/lib/kinde_api/api/environments_api.rb +327 -78
- data/kinde_api/lib/kinde_api/api/feature_flags_api.rb +68 -88
- data/kinde_api/lib/kinde_api/api/frontend/billing_api.rb +148 -0
- data/kinde_api/lib/kinde_api/api/frontend/feature_flags_api.rb +85 -0
- data/kinde_api/lib/kinde_api/api/frontend/o_auth_api.rb +241 -0
- data/kinde_api/lib/kinde_api/api/frontend/permissions_api.rb +85 -0
- data/kinde_api/lib/kinde_api/api/frontend/properties_api.rb +85 -0
- data/kinde_api/lib/kinde_api/api/frontend/roles_api.rb +85 -0
- data/kinde_api/lib/kinde_api/api/frontend/self_serve_portal_api.rb +89 -0
- data/kinde_api/lib/kinde_api/api/identities_api.rb +222 -0
- data/kinde_api/lib/kinde_api/api/industries_api.rb +29 -34
- data/kinde_api/lib/kinde_api/api/mfa_api.rb +90 -0
- data/kinde_api/lib/kinde_api/api/o_auth_api.rb +104 -129
- data/kinde_api/lib/kinde_api/api/organizations_api.rb +1689 -544
- data/kinde_api/lib/kinde_api/api/permissions_api.rb +76 -80
- data/kinde_api/lib/kinde_api/api/properties_api.rb +300 -0
- data/kinde_api/lib/kinde_api/api/property_categories_api.rb +237 -0
- data/kinde_api/lib/kinde_api/api/roles_api.rb +432 -166
- data/kinde_api/lib/kinde_api/api/search_api.rb +97 -0
- data/kinde_api/lib/kinde_api/api/subscribers_api.rb +59 -60
- data/kinde_api/lib/kinde_api/api/timezones_api.rb +29 -34
- data/kinde_api/lib/kinde_api/api/users_api.rb +900 -150
- data/kinde_api/lib/kinde_api/api/webhooks_api.rb +404 -0
- data/kinde_api/lib/kinde_api/api_client.rb +79 -68
- data/kinde_api/lib/kinde_api/api_error.rb +16 -16
- data/kinde_api/lib/kinde_api/configuration.rb +101 -24
- data/kinde_api/lib/kinde_api/models/add_api_scope_request.rb +235 -0
- data/kinde_api/lib/kinde_api/models/add_apis_request.rb +54 -49
- data/kinde_api/lib/kinde_api/models/add_organization_users_request.rb +40 -42
- data/kinde_api/lib/kinde_api/models/add_organization_users_request_users_inner.rb +53 -51
- data/kinde_api/lib/kinde_api/models/add_organization_users_response.rb +52 -50
- data/kinde_api/lib/kinde_api/models/add_role_scope_request.rb +225 -0
- data/kinde_api/lib/kinde_api/models/add_role_scope_response.rb +230 -0
- data/kinde_api/lib/kinde_api/models/api_result.rb +38 -40
- data/kinde_api/lib/kinde_api/models/applications.rb +55 -50
- data/kinde_api/lib/kinde_api/models/authorize_app_api_response.rb +250 -0
- data/kinde_api/lib/kinde_api/models/category.rb +228 -0
- data/kinde_api/lib/kinde_api/models/connected_apps_access_token.rb +44 -45
- data/kinde_api/lib/kinde_api/models/connected_apps_auth_url.rb +44 -45
- data/kinde_api/lib/kinde_api/models/connection.rb +239 -0
- data/kinde_api/lib/kinde_api/models/connection_connection.rb +246 -0
- data/kinde_api/lib/kinde_api/models/create_api_scopes_response.rb +239 -0
- data/kinde_api/lib/kinde_api/models/create_api_scopes_response_scope.rb +220 -0
- data/kinde_api/lib/kinde_api/models/create_apis_response.rb +239 -0
- data/kinde_api/lib/kinde_api/models/create_apis_response_api.rb +220 -0
- data/kinde_api/lib/kinde_api/models/create_application_request.rb +60 -52
- data/kinde_api/lib/kinde_api/models/create_application_response.rb +50 -49
- data/kinde_api/lib/kinde_api/models/create_application_response_application.rb +51 -50
- data/kinde_api/lib/kinde_api/models/create_billing_agreement_request.rb +260 -0
- data/kinde_api/lib/kinde_api/models/create_category_request.rb +274 -0
- data/kinde_api/lib/kinde_api/models/create_category_response.rb +237 -0
- data/kinde_api/lib/kinde_api/models/create_category_response_category.rb +220 -0
- data/kinde_api/lib/kinde_api/models/create_connection_request.rb +306 -0
- data/kinde_api/lib/kinde_api/models/create_connection_request_options.rb +106 -0
- data/kinde_api/lib/kinde_api/models/create_connection_request_options_one_of.rb +241 -0
- data/kinde_api/lib/kinde_api/models/create_connection_request_options_one_of1.rb +303 -0
- data/kinde_api/lib/kinde_api/models/create_connection_request_options_one_of2.rb +333 -0
- data/kinde_api/lib/kinde_api/models/create_connection_response.rb +237 -0
- data/kinde_api/lib/kinde_api/models/create_connection_response_connection.rb +220 -0
- data/kinde_api/lib/kinde_api/models/create_environment_variable_request.rb +250 -0
- data/kinde_api/lib/kinde_api/models/create_environment_variable_response.rb +239 -0
- data/kinde_api/lib/kinde_api/models/create_environment_variable_response_environment_variable.rb +220 -0
- data/kinde_api/lib/kinde_api/models/create_feature_flag_request.rb +87 -77
- data/kinde_api/lib/kinde_api/models/create_identity_response.rb +237 -0
- data/kinde_api/lib/kinde_api/models/create_identity_response_identity.rb +220 -0
- data/kinde_api/lib/kinde_api/models/create_meter_usage_record_request.rb +309 -0
- data/kinde_api/lib/kinde_api/models/create_meter_usage_record_response.rb +230 -0
- data/kinde_api/lib/kinde_api/models/create_organization_request.rb +175 -100
- data/kinde_api/lib/kinde_api/models/create_organization_response.rb +57 -50
- data/kinde_api/lib/kinde_api/models/create_organization_response_organization.rb +49 -42
- data/kinde_api/lib/kinde_api/models/create_organization_user_permission_request.rb +38 -41
- data/kinde_api/lib/kinde_api/models/create_organization_user_role_request.rb +38 -41
- data/kinde_api/lib/kinde_api/models/create_permission_request.rb +50 -49
- data/kinde_api/lib/kinde_api/models/create_property_request.rb +356 -0
- data/kinde_api/lib/kinde_api/models/create_property_response.rb +237 -0
- data/kinde_api/lib/kinde_api/models/create_property_response_property.rb +220 -0
- data/kinde_api/lib/kinde_api/models/create_role_request.rb +56 -53
- data/kinde_api/lib/kinde_api/models/create_roles_response.rb +239 -0
- data/kinde_api/lib/kinde_api/models/create_roles_response_role.rb +220 -0
- data/kinde_api/lib/kinde_api/models/create_subscriber_success_response.rb +38 -41
- data/kinde_api/lib/kinde_api/models/create_subscriber_success_response_subscriber.rb +38 -41
- data/kinde_api/lib/kinde_api/models/create_user_identity_request.rb +284 -0
- data/kinde_api/lib/kinde_api/models/create_user_request.rb +62 -50
- data/kinde_api/lib/kinde_api/models/create_user_request_identities_inner.rb +60 -52
- data/kinde_api/lib/kinde_api/models/create_user_request_identities_inner_details.rb +67 -40
- data/kinde_api/lib/kinde_api/models/create_user_request_profile.rb +54 -45
- data/kinde_api/lib/kinde_api/models/create_user_response.rb +53 -51
- data/kinde_api/lib/kinde_api/models/create_web_hook_request.rb +268 -0
- data/kinde_api/lib/kinde_api/models/create_webhook_response.rb +239 -0
- data/kinde_api/lib/kinde_api/models/create_webhook_response_webhook.rb +228 -0
- data/kinde_api/lib/kinde_api/models/delete_api_response.rb +228 -0
- data/kinde_api/lib/kinde_api/models/delete_environment_variable_response.rb +230 -0
- data/kinde_api/lib/kinde_api/models/delete_role_scope_response.rb +230 -0
- data/kinde_api/lib/kinde_api/models/delete_webhook_response.rb +230 -0
- data/kinde_api/lib/kinde_api/models/environment_variable.rb +261 -0
- data/kinde_api/lib/kinde_api/models/error.rb +44 -44
- data/kinde_api/lib/kinde_api/models/error_response.rb +40 -42
- data/kinde_api/lib/kinde_api/models/event_type.rb +255 -0
- data/kinde_api/lib/kinde_api/models/frontend/error.rb +230 -0
- data/kinde_api/lib/kinde_api/models/frontend/error_response.rb +221 -0
- data/kinde_api/lib/kinde_api/models/frontend/get_entitlement_response.rb +228 -0
- data/kinde_api/lib/kinde_api/models/frontend/get_entitlement_response_data.rb +229 -0
- data/kinde_api/lib/kinde_api/models/frontend/get_entitlement_response_data_entitlement.rb +295 -0
- data/kinde_api/lib/kinde_api/models/frontend/get_entitlements_response.rb +228 -0
- data/kinde_api/lib/kinde_api/models/frontend/get_entitlements_response_data.rb +244 -0
- data/kinde_api/lib/kinde_api/models/frontend/get_entitlements_response_data_entitlements_inner.rb +294 -0
- data/kinde_api/lib/kinde_api/models/frontend/get_entitlements_response_data_plans_inner.rb +240 -0
- data/kinde_api/lib/kinde_api/models/frontend/get_entitlements_response_metadata.rb +230 -0
- data/kinde_api/lib/kinde_api/models/frontend/get_feature_flags_response.rb +219 -0
- data/kinde_api/lib/kinde_api/models/frontend/get_feature_flags_response_data.rb +222 -0
- data/kinde_api/lib/kinde_api/models/frontend/get_feature_flags_response_data_feature_flags_inner.rb +259 -0
- data/kinde_api/lib/kinde_api/models/frontend/get_feature_flags_response_data_feature_flags_inner_value.rb +108 -0
- data/kinde_api/lib/kinde_api/models/frontend/get_user_permissions_response.rb +228 -0
- data/kinde_api/lib/kinde_api/models/frontend/get_user_permissions_response_data.rb +232 -0
- data/kinde_api/lib/kinde_api/models/frontend/get_user_permissions_response_data_permissions_inner.rb +240 -0
- data/kinde_api/lib/kinde_api/models/frontend/get_user_permissions_response_metadata.rb +230 -0
- data/kinde_api/lib/kinde_api/models/frontend/get_user_properties_response.rb +228 -0
- data/kinde_api/lib/kinde_api/models/frontend/get_user_properties_response_data.rb +222 -0
- data/kinde_api/lib/kinde_api/models/frontend/get_user_properties_response_data_properties_inner.rb +249 -0
- data/kinde_api/lib/kinde_api/models/frontend/get_user_properties_response_data_properties_inner_value.rb +107 -0
- data/kinde_api/lib/kinde_api/models/frontend/get_user_properties_response_metadata.rb +230 -0
- data/kinde_api/lib/kinde_api/models/frontend/get_user_roles_response.rb +228 -0
- data/kinde_api/lib/kinde_api/models/frontend/get_user_roles_response_data.rb +232 -0
- data/kinde_api/lib/kinde_api/models/frontend/get_user_roles_response_data_roles_inner.rb +240 -0
- data/kinde_api/lib/kinde_api/models/frontend/get_user_roles_response_metadata.rb +230 -0
- data/kinde_api/lib/kinde_api/models/frontend/portal_link.rb +220 -0
- data/kinde_api/lib/kinde_api/models/frontend/token_error_response.rb +230 -0
- data/kinde_api/lib/kinde_api/models/frontend/token_introspect.rb +262 -0
- data/kinde_api/lib/kinde_api/models/frontend/user_profile_v2.rb +323 -0
- data/kinde_api/lib/kinde_api/models/get_api_response.rb +239 -0
- data/kinde_api/lib/kinde_api/models/get_api_response_api.rb +272 -0
- data/kinde_api/lib/kinde_api/models/get_api_response_api_applications_inner.rb +285 -0
- data/kinde_api/lib/kinde_api/models/get_api_response_api_scopes_inner.rb +230 -0
- data/kinde_api/lib/kinde_api/models/get_api_scope_response.rb +239 -0
- data/kinde_api/lib/kinde_api/models/get_api_scopes_response.rb +241 -0
- data/kinde_api/lib/kinde_api/models/get_api_scopes_response_scopes_inner.rb +240 -0
- data/kinde_api/lib/kinde_api/models/get_apis_response.rb +251 -0
- data/kinde_api/lib/kinde_api/models/get_apis_response_apis_inner.rb +261 -0
- data/kinde_api/lib/kinde_api/models/get_apis_response_apis_inner_scopes_inner.rb +228 -0
- data/kinde_api/lib/kinde_api/models/get_application_response.rb +50 -49
- data/kinde_api/lib/kinde_api/models/get_application_response_application.rb +126 -57
- data/kinde_api/lib/kinde_api/models/get_applications_response.rb +57 -54
- data/kinde_api/lib/kinde_api/models/get_billing_agreements_response.rb +252 -0
- data/kinde_api/lib/kinde_api/models/get_billing_agreements_response_agreements_inner.rb +262 -0
- data/kinde_api/lib/kinde_api/models/get_billing_agreements_response_agreements_inner_entitlements_inner.rb +230 -0
- data/kinde_api/lib/kinde_api/models/get_billing_entitlements_response.rb +264 -0
- data/kinde_api/lib/kinde_api/models/get_billing_entitlements_response_entitlements_inner.rb +290 -0
- data/kinde_api/lib/kinde_api/models/get_billing_entitlements_response_plans_inner.rb +229 -0
- data/kinde_api/lib/kinde_api/models/get_business_response.rb +239 -0
- data/kinde_api/lib/kinde_api/models/get_business_response_business.rb +326 -0
- data/kinde_api/lib/kinde_api/models/get_categories_response.rb +251 -0
- data/kinde_api/lib/kinde_api/models/get_connections_response.rb +251 -0
- data/kinde_api/lib/kinde_api/models/get_environment_feature_flags_response.rb +57 -54
- data/kinde_api/lib/kinde_api/models/get_environment_response.rb +239 -0
- data/kinde_api/lib/kinde_api/models/get_environment_response_environment.rb +526 -0
- data/kinde_api/lib/kinde_api/models/get_environment_response_environment_background_color.rb +237 -0
- data/kinde_api/lib/kinde_api/models/get_environment_response_environment_link_color.rb +237 -0
- data/kinde_api/lib/kinde_api/models/get_environment_variable_response.rb +239 -0
- data/kinde_api/lib/kinde_api/models/get_environment_variables_response.rb +251 -0
- data/kinde_api/lib/kinde_api/models/get_event_response.rb +239 -0
- data/kinde_api/lib/kinde_api/models/get_event_response_event.rb +257 -0
- data/kinde_api/lib/kinde_api/models/get_event_types_response.rb +241 -0
- data/kinde_api/lib/kinde_api/models/get_identities_response.rb +251 -0
- data/kinde_api/lib/kinde_api/models/get_industries_response.rb +241 -0
- data/kinde_api/lib/kinde_api/models/get_industries_response_industries_inner.rb +230 -0
- data/kinde_api/lib/kinde_api/models/get_organization_feature_flags_response.rb +52 -50
- data/kinde_api/lib/kinde_api/models/get_organization_feature_flags_response_feature_flags_value.rb +52 -52
- data/kinde_api/lib/kinde_api/models/get_organization_response.rb +547 -0
- data/kinde_api/lib/kinde_api/models/get_organization_response_billing.rb +232 -0
- data/kinde_api/lib/kinde_api/models/get_organization_response_billing_agreements_inner.rb +230 -0
- data/kinde_api/lib/kinde_api/models/get_organization_users_response.rb +57 -54
- data/kinde_api/lib/kinde_api/models/get_organizations_response.rb +57 -54
- data/kinde_api/lib/kinde_api/models/get_organizations_user_permissions_response.rb +52 -50
- data/kinde_api/lib/kinde_api/models/get_organizations_user_roles_response.rb +57 -54
- data/kinde_api/lib/kinde_api/models/get_permissions_response.rb +57 -54
- data/kinde_api/lib/kinde_api/models/get_properties_response.rb +251 -0
- data/kinde_api/lib/kinde_api/models/get_property_values_response.rb +251 -0
- data/kinde_api/lib/kinde_api/models/get_redirect_callback_urls_response.rb +40 -42
- data/kinde_api/lib/kinde_api/models/get_role_response.rb +239 -0
- data/kinde_api/lib/kinde_api/models/get_role_response_role.rb +260 -0
- data/kinde_api/lib/kinde_api/models/get_roles_response.rb +57 -54
- data/kinde_api/lib/kinde_api/models/get_subscriber_response.rb +52 -50
- data/kinde_api/lib/kinde_api/models/get_subscribers_response.rb +57 -54
- data/kinde_api/lib/kinde_api/models/get_timezones_response.rb +241 -0
- data/kinde_api/lib/kinde_api/models/get_timezones_response_timezones_inner.rb +230 -0
- data/kinde_api/lib/kinde_api/models/get_user_mfa_response.rb +237 -0
- data/kinde_api/lib/kinde_api/models/get_user_mfa_response_mfa.rb +280 -0
- data/kinde_api/lib/kinde_api/models/get_user_sessions_response.rb +248 -0
- data/kinde_api/lib/kinde_api/models/get_user_sessions_response_sessions_inner.rb +331 -0
- data/kinde_api/lib/kinde_api/models/get_webhooks_response.rb +241 -0
- data/kinde_api/lib/kinde_api/models/identity.rb +300 -0
- data/kinde_api/lib/kinde_api/models/logout_redirect_urls.rb +60 -42
- data/kinde_api/lib/kinde_api/models/not_found_response.rb +219 -0
- data/kinde_api/lib/kinde_api/models/not_found_response_errors.rb +228 -0
- data/kinde_api/lib/kinde_api/models/organization_item_schema.rb +272 -0
- data/kinde_api/lib/kinde_api/models/organization_user.rb +122 -62
- data/kinde_api/lib/kinde_api/models/organization_user_permission.rb +73 -59
- data/kinde_api/lib/kinde_api/models/organization_user_permission_roles_inner.rb +47 -46
- data/kinde_api/lib/kinde_api/models/organization_user_role.rb +55 -50
- data/kinde_api/lib/kinde_api/models/organization_user_role_permissions.rb +55 -50
- data/kinde_api/lib/kinde_api/models/organization_user_role_permissions_permissions.rb +38 -41
- data/kinde_api/lib/kinde_api/models/permissions.rb +57 -54
- data/kinde_api/lib/kinde_api/models/property.rb +264 -0
- data/kinde_api/lib/kinde_api/models/property_value.rb +257 -0
- data/kinde_api/lib/kinde_api/models/read_env_logo_response.rb +242 -0
- data/kinde_api/lib/kinde_api/models/read_env_logo_response_logos_inner.rb +230 -0
- data/kinde_api/lib/kinde_api/models/read_logo_response.rb +242 -0
- data/kinde_api/lib/kinde_api/models/read_logo_response_logos_inner.rb +240 -0
- data/kinde_api/lib/kinde_api/models/redirect_callback_urls.rb +40 -42
- data/kinde_api/lib/kinde_api/models/replace_connection_request.rb +251 -0
- data/kinde_api/lib/kinde_api/models/replace_connection_request_options.rb +106 -0
- data/kinde_api/lib/kinde_api/models/replace_connection_request_options_one_of.rb +293 -0
- data/kinde_api/lib/kinde_api/models/replace_connection_request_options_one_of1.rb +313 -0
- data/kinde_api/lib/kinde_api/models/replace_logout_redirect_urls_request.rb +40 -42
- data/kinde_api/lib/kinde_api/models/replace_mfa_request.rb +276 -0
- data/kinde_api/lib/kinde_api/models/replace_organization_mfa_request.rb +249 -0
- data/kinde_api/lib/kinde_api/models/replace_redirect_callback_urls_request.rb +40 -42
- data/kinde_api/lib/kinde_api/models/role.rb +63 -53
- data/kinde_api/lib/kinde_api/models/role_permissions_response.rb +251 -0
- data/kinde_api/lib/kinde_api/models/role_scopes_response.rb +241 -0
- data/kinde_api/lib/kinde_api/models/roles.rb +68 -53
- data/kinde_api/lib/kinde_api/models/scopes.rb +250 -0
- data/kinde_api/lib/kinde_api/models/search_users_response.rb +241 -0
- data/kinde_api/lib/kinde_api/models/search_users_response_results_inner.rb +374 -0
- data/kinde_api/lib/kinde_api/models/set_user_password_request.rb +311 -0
- data/kinde_api/lib/kinde_api/models/subscriber.rb +63 -54
- data/kinde_api/lib/kinde_api/models/subscribers_subscriber.rb +71 -58
- data/kinde_api/lib/kinde_api/models/success_response.rb +47 -46
- data/kinde_api/lib/kinde_api/models/token_error_response.rb +44 -45
- data/kinde_api/lib/kinde_api/models/token_introspect.rb +63 -58
- data/kinde_api/lib/kinde_api/models/update_api_applications_request.rb +42 -44
- data/kinde_api/lib/kinde_api/models/update_api_applications_request_applications_inner.rb +48 -49
- data/kinde_api/lib/kinde_api/models/update_api_scope_request.rb +220 -0
- data/kinde_api/lib/kinde_api/models/update_application_request.rb +78 -54
- data/kinde_api/lib/kinde_api/models/update_application_tokens_request.rb +260 -0
- data/kinde_api/lib/kinde_api/models/update_applications_property_request.rb +224 -0
- data/kinde_api/lib/kinde_api/models/update_applications_property_request_value.rb +106 -0
- data/kinde_api/lib/kinde_api/models/update_business_request.rb +320 -0
- data/kinde_api/lib/kinde_api/models/update_category_request.rb +220 -0
- data/kinde_api/lib/kinde_api/models/update_connection_request.rb +251 -0
- data/kinde_api/lib/kinde_api/models/update_environement_feature_flag_override_request.rb +40 -43
- data/kinde_api/lib/kinde_api/models/update_environment_variable_request.rb +240 -0
- data/kinde_api/lib/kinde_api/models/update_environment_variable_response.rb +230 -0
- data/kinde_api/lib/kinde_api/models/update_identity_request.rb +220 -0
- data/kinde_api/lib/kinde_api/models/update_organization_properties_request.rb +225 -0
- data/kinde_api/lib/kinde_api/models/update_organization_request.rb +209 -91
- data/kinde_api/lib/kinde_api/models/update_organization_sessions_request.rb +284 -0
- data/kinde_api/lib/kinde_api/models/update_organization_users_request.rb +40 -42
- data/kinde_api/lib/kinde_api/models/update_organization_users_request_users_inner.rb +59 -55
- data/kinde_api/lib/kinde_api/models/update_organization_users_response.rb +76 -57
- data/kinde_api/lib/kinde_api/models/update_property_request.rb +265 -0
- data/kinde_api/lib/kinde_api/models/update_role_permissions_request.rb +40 -42
- data/kinde_api/lib/kinde_api/models/update_role_permissions_request_permissions_inner.rb +44 -45
- data/kinde_api/lib/kinde_api/models/update_role_permissions_response.rb +66 -56
- data/kinde_api/lib/kinde_api/models/update_roles_request.rb +61 -56
- data/kinde_api/lib/kinde_api/models/update_user_request.rb +75 -52
- data/kinde_api/lib/kinde_api/models/update_user_response.rb +75 -67
- data/kinde_api/lib/kinde_api/models/update_web_hook_request.rb +243 -0
- data/kinde_api/lib/kinde_api/models/update_webhook_response.rb +237 -0
- data/kinde_api/lib/kinde_api/models/update_webhook_response_webhook.rb +219 -0
- data/kinde_api/lib/kinde_api/models/user.rb +138 -97
- data/kinde_api/lib/kinde_api/models/user_identities_inner.rb +47 -46
- data/kinde_api/lib/kinde_api/models/user_identity.rb +44 -45
- data/kinde_api/lib/kinde_api/models/user_identity_result.rb +38 -41
- data/kinde_api/lib/kinde_api/models/user_profile_v2.rb +113 -79
- data/kinde_api/lib/kinde_api/models/users_response.rb +57 -54
- data/kinde_api/lib/kinde_api/models/users_response_users_inner.rb +138 -98
- data/kinde_api/lib/kinde_api/models/webhook.rb +267 -0
- data/kinde_api/lib/kinde_api/version.rb +12 -12
- data/kinde_api/lib/kinde_api.rb +188 -36
- data/kinde_api/spec/api/billing_agreements_api_spec.rb +62 -0
- data/kinde_api/spec/api/billing_entitlements_api_spec.rb +52 -0
- data/kinde_api/spec/api/billing_meter_usage_api_spec.rb +47 -0
- data/kinde_api/spec/api/connections_api_spec.rb +112 -0
- data/kinde_api/spec/api/environment_variables_api_spec.rb +95 -0
- data/kinde_api/spec/api/identities_api_spec.rb +72 -0
- data/kinde_api/spec/api/mfa_api_spec.rb +47 -0
- data/kinde_api/spec/api/properties_api_spec.rb +87 -0
- data/kinde_api/spec/api/property_categories_api_spec.rb +75 -0
- data/kinde_api/spec/api/search_api_spec.rb +52 -0
- data/kinde_api/spec/api/webhooks_api_spec.rb +106 -0
- data/kinde_api/spec/api_client_spec.rb +27 -21
- data/kinde_api/spec/configuration_spec.rb +14 -14
- data/kinde_api/spec/models/add_api_scope_request_spec.rb +40 -0
- data/kinde_api/spec/models/add_role_scope_request_spec.rb +34 -0
- data/kinde_api/spec/models/add_role_scope_response_spec.rb +40 -0
- data/kinde_api/spec/models/authorize_app_api_response_spec.rb +52 -0
- data/kinde_api/spec/models/category_spec.rb +40 -0
- data/kinde_api/spec/models/connection_connection_spec.rb +52 -0
- data/kinde_api/spec/models/connection_spec.rb +46 -0
- data/kinde_api/spec/models/create_api_scopes_response_scope_spec.rb +34 -0
- data/kinde_api/spec/models/create_api_scopes_response_spec.rb +46 -0
- data/kinde_api/spec/models/create_apis_response_api_spec.rb +34 -0
- data/kinde_api/spec/models/create_apis_response_spec.rb +46 -0
- data/kinde_api/spec/models/create_billing_agreement_request_spec.rb +52 -0
- data/kinde_api/spec/models/create_category_request_spec.rb +44 -0
- data/kinde_api/spec/models/create_category_response_category_spec.rb +34 -0
- data/kinde_api/spec/models/create_category_response_spec.rb +46 -0
- data/kinde_api/spec/models/create_connection_request_options_one_of1_spec.rb +82 -0
- data/kinde_api/spec/models/create_connection_request_options_one_of2_spec.rb +100 -0
- data/kinde_api/spec/models/create_connection_request_options_one_of_spec.rb +46 -0
- data/kinde_api/spec/models/create_connection_request_options_spec.rb +31 -0
- data/kinde_api/spec/models/create_connection_request_spec.rb +68 -0
- data/kinde_api/spec/models/create_connection_response_connection_spec.rb +34 -0
- data/kinde_api/spec/models/create_connection_response_spec.rb +46 -0
- data/kinde_api/spec/models/create_environment_variable_request_spec.rb +46 -0
- data/kinde_api/spec/models/create_environment_variable_response_environment_variable_spec.rb +34 -0
- data/kinde_api/spec/models/create_environment_variable_response_spec.rb +46 -0
- data/kinde_api/spec/models/create_identity_response_identity_spec.rb +34 -0
- data/kinde_api/spec/models/create_identity_response_spec.rb +46 -0
- data/kinde_api/spec/models/create_meter_usage_record_request_spec.rb +62 -0
- data/kinde_api/spec/models/create_meter_usage_record_response_spec.rb +40 -0
- data/kinde_api/spec/models/create_property_request_spec.rb +78 -0
- data/kinde_api/spec/models/create_property_response_property_spec.rb +34 -0
- data/kinde_api/spec/models/create_property_response_spec.rb +46 -0
- data/kinde_api/spec/models/create_roles_response_role_spec.rb +34 -0
- data/kinde_api/spec/models/create_roles_response_spec.rb +46 -0
- data/kinde_api/spec/models/create_user_identity_request_spec.rb +56 -0
- data/kinde_api/spec/models/create_web_hook_request_spec.rb +52 -0
- data/kinde_api/spec/models/create_webhook_response_spec.rb +46 -0
- data/kinde_api/spec/models/create_webhook_response_webhook_spec.rb +40 -0
- data/kinde_api/spec/models/delete_api_response_spec.rb +40 -0
- data/kinde_api/spec/models/delete_environment_variable_response_spec.rb +40 -0
- data/kinde_api/spec/models/delete_role_scope_response_spec.rb +40 -0
- data/kinde_api/spec/models/delete_webhook_response_spec.rb +40 -0
- data/kinde_api/spec/models/environment_variable_spec.rb +58 -0
- data/kinde_api/spec/models/event_type_spec.rb +58 -0
- data/kinde_api/spec/models/get_api_response_api_applications_inner_spec.rb +56 -0
- data/kinde_api/spec/models/get_api_response_api_scopes_inner_spec.rb +40 -0
- data/kinde_api/spec/models/get_api_response_api_spec.rb +64 -0
- data/kinde_api/spec/models/get_api_response_spec.rb +46 -0
- data/kinde_api/spec/models/get_api_scope_response_spec.rb +46 -0
- data/kinde_api/spec/models/get_api_scopes_response_scopes_inner_spec.rb +46 -0
- data/kinde_api/spec/models/get_api_scopes_response_spec.rb +46 -0
- data/kinde_api/spec/models/get_apis_response_apis_inner_scopes_inner_spec.rb +40 -0
- data/kinde_api/spec/models/get_apis_response_apis_inner_spec.rb +58 -0
- data/kinde_api/spec/models/get_apis_response_spec.rb +52 -0
- data/kinde_api/spec/models/get_billing_agreements_response_agreements_inner_entitlements_inner_spec.rb +40 -0
- data/kinde_api/spec/models/get_billing_agreements_response_agreements_inner_spec.rb +58 -0
- data/kinde_api/spec/models/get_billing_agreements_response_spec.rb +52 -0
- data/kinde_api/spec/models/get_billing_entitlements_response_entitlements_inner_spec.rb +76 -0
- data/kinde_api/spec/models/get_billing_entitlements_response_plans_inner_spec.rb +40 -0
- data/kinde_api/spec/models/get_billing_entitlements_response_spec.rb +58 -0
- data/kinde_api/spec/models/get_business_response_business_spec.rb +94 -0
- data/kinde_api/spec/models/get_business_response_spec.rb +46 -0
- data/kinde_api/spec/models/get_categories_response_spec.rb +52 -0
- data/kinde_api/spec/models/get_connections_response_spec.rb +52 -0
- data/kinde_api/spec/models/get_environment_response_environment_background_color_spec.rb +46 -0
- data/kinde_api/spec/models/get_environment_response_environment_link_color_spec.rb +46 -0
- data/kinde_api/spec/models/get_environment_response_environment_spec.rb +192 -0
- data/kinde_api/spec/models/get_environment_response_spec.rb +46 -0
- data/kinde_api/spec/models/get_environment_variable_response_spec.rb +46 -0
- data/kinde_api/spec/models/get_environment_variables_response_spec.rb +52 -0
- data/kinde_api/spec/models/get_event_response_event_spec.rb +58 -0
- data/kinde_api/spec/models/get_event_response_spec.rb +46 -0
- data/kinde_api/spec/models/get_event_types_response_spec.rb +46 -0
- data/kinde_api/spec/models/get_identities_response_spec.rb +52 -0
- data/kinde_api/spec/models/get_industries_response_industries_inner_spec.rb +40 -0
- data/kinde_api/spec/models/get_industries_response_spec.rb +46 -0
- data/kinde_api/spec/models/get_organization_response_billing_agreements_inner_spec.rb +40 -0
- data/kinde_api/spec/models/get_organization_response_billing_spec.rb +40 -0
- data/kinde_api/spec/models/get_organization_response_spec.rb +204 -0
- data/kinde_api/spec/models/get_properties_response_spec.rb +52 -0
- data/kinde_api/spec/models/get_property_values_response_spec.rb +52 -0
- data/kinde_api/spec/models/get_role_response_role_spec.rb +58 -0
- data/kinde_api/spec/models/get_role_response_spec.rb +46 -0
- data/kinde_api/spec/models/get_timezones_response_spec.rb +46 -0
- data/kinde_api/spec/models/get_timezones_response_timezones_inner_spec.rb +40 -0
- data/kinde_api/spec/models/get_user_mfa_response_mfa_spec.rb +70 -0
- data/kinde_api/spec/models/get_user_mfa_response_spec.rb +46 -0
- data/kinde_api/spec/models/get_user_sessions_response_sessions_inner_spec.rb +100 -0
- data/kinde_api/spec/models/get_user_sessions_response_spec.rb +52 -0
- data/kinde_api/spec/models/get_webhooks_response_spec.rb +46 -0
- data/kinde_api/spec/models/identity_spec.rb +82 -0
- data/kinde_api/spec/models/not_found_response_errors_spec.rb +40 -0
- data/kinde_api/spec/models/not_found_response_spec.rb +34 -0
- data/kinde_api/spec/models/organization_item_schema_spec.rb +64 -0
- data/kinde_api/spec/models/property_spec.rb +64 -0
- data/kinde_api/spec/models/property_value_spec.rb +58 -0
- data/kinde_api/spec/models/read_env_logo_response_logos_inner_spec.rb +40 -0
- data/kinde_api/spec/models/read_env_logo_response_spec.rb +46 -0
- data/kinde_api/spec/models/read_logo_response_logos_inner_spec.rb +46 -0
- data/kinde_api/spec/models/read_logo_response_spec.rb +46 -0
- data/kinde_api/spec/models/replace_connection_request_options_one_of1_spec.rb +88 -0
- data/kinde_api/spec/models/replace_connection_request_options_one_of_spec.rb +76 -0
- data/kinde_api/spec/models/replace_connection_request_options_spec.rb +31 -0
- data/kinde_api/spec/models/replace_connection_request_spec.rb +52 -0
- data/kinde_api/spec/models/replace_mfa_request_spec.rb +48 -0
- data/kinde_api/spec/models/replace_organization_mfa_request_spec.rb +38 -0
- data/kinde_api/spec/models/role_permissions_response_spec.rb +52 -0
- data/kinde_api/spec/models/role_scopes_response_spec.rb +46 -0
- data/kinde_api/spec/models/scopes_spec.rb +52 -0
- data/kinde_api/spec/models/search_users_response_results_inner_spec.rb +118 -0
- data/kinde_api/spec/models/search_users_response_spec.rb +46 -0
- data/kinde_api/spec/models/set_user_password_request_spec.rb +66 -0
- data/kinde_api/spec/models/update_api_scope_request_spec.rb +34 -0
- data/kinde_api/spec/models/update_application_tokens_request_spec.rb +58 -0
- data/kinde_api/spec/models/update_applications_property_request_spec.rb +34 -0
- data/kinde_api/spec/models/update_applications_property_request_value_spec.rb +31 -0
- data/kinde_api/spec/models/update_business_request_spec.rb +88 -0
- data/kinde_api/spec/models/update_category_request_spec.rb +34 -0
- data/kinde_api/spec/models/update_connection_request_spec.rb +52 -0
- data/kinde_api/spec/models/update_environment_variable_request_spec.rb +46 -0
- data/kinde_api/spec/models/update_environment_variable_response_spec.rb +40 -0
- data/kinde_api/spec/models/update_identity_request_spec.rb +34 -0
- data/kinde_api/spec/models/update_organization_properties_request_spec.rb +34 -0
- data/kinde_api/spec/models/update_organization_sessions_request_spec.rb +56 -0
- data/kinde_api/spec/models/update_property_request_spec.rb +52 -0
- data/kinde_api/spec/models/update_web_hook_request_spec.rb +46 -0
- data/kinde_api/spec/models/update_webhook_response_spec.rb +46 -0
- data/kinde_api/spec/models/update_webhook_response_webhook_spec.rb +34 -0
- data/kinde_api/spec/models/webhook_spec.rb +64 -0
- data/kinde_api/spec/spec_helper.rb +63 -61
- data/lib/kinde_sdk/client/entitlements.rb +86 -0
- data/lib/kinde_sdk/client/feature_flags.rb +246 -10
- data/lib/kinde_sdk/client/permissions.rb +197 -6
- data/lib/kinde_sdk/client/roles.rb +218 -0
- data/lib/kinde_sdk/client.rb +354 -14
- data/lib/kinde_sdk/configuration.rb +11 -1
- data/lib/kinde_sdk/current.rb +16 -0
- data/lib/kinde_sdk/engine.rb +11 -0
- data/lib/kinde_sdk/errors.rb +7 -0
- data/lib/kinde_sdk/internal/frontend_client.rb +111 -0
- data/lib/kinde_sdk/middleware.rb +16 -0
- data/lib/kinde_sdk/token_manager.rb +85 -0
- data/lib/kinde_sdk/token_store.rb +29 -0
- data/lib/kinde_sdk/version.rb +1 -1
- data/lib/kinde_sdk.rb +160 -25
- data/spec/examples.txt +29 -0
- data/spec/kinde_sdk_spec.rb +317 -98
- data/spec/spec_helper.rb +7 -4
- metadata +666 -10
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 535ff46d086ced73b9c96057f1cdf7bd582cede497aa3d299ff6cef98d7d3259
|
|
4
|
+
data.tar.gz: 8ae57192d2f173ef0a84902832aadb63a7b81ff8a4a4603da7061b30c4f58bde
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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
|