kinde-python-sdk 2.0.0b4__tar.gz → 2.0.0b6__tar.gz
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.
- {kinde_python_sdk-2.0.0b4/kinde_python_sdk.egg-info → kinde_python_sdk-2.0.0b6}/PKG-INFO +2 -2
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_fastapi/framework/fastapi_framework.py +3 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6/kinde_python_sdk.egg-info}/PKG-INFO +2 -2
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_python_sdk.egg-info/SOURCES.txt +4 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_python_sdk.egg-info/requires.txt +1 -1
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/__init__.py +1 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/auth/__init__.py +2 -1
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/auth/claims.py +28 -24
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/auth/feature_flags.py +28 -26
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/auth/login_options.py +1 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/auth/oauth.py +7 -40
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/auth/permissions.py +28 -28
- kinde_python_sdk-2.0.0b6/kinde_sdk/auth/profiles.py +112 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/core/exceptions.py +9 -1
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/core/framework/framework_factory.py +47 -25
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/management/api_client.py +4 -4
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/management/configuration.py +1 -1
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/management/management_token_manager.py +8 -6
- kinde_python_sdk-2.0.0b6/kinde_sdk/management/schemas.py +2476 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/pyproject.toml +2 -2
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/LICENSE +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/MANIFEST.in +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/README.md +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_fastapi/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_fastapi/examples/example_app.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_fastapi/examples/session.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_fastapi/framework/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_fastapi/framework/fastapi_framework_factory.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_fastapi/middleware/framework_middleware.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_fastapi/storage/fastapi_storage.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_fastapi/storage/fastapi_storage_factory.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_flask/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_flask/examples/example_app.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_flask/framework/flask_framework.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_flask/framework/flask_framework_factory.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_flask/middleware/framework_middleware.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_flask/storage/flask_storage_factory.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_python_sdk.egg-info/dependency_links.txt +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_python_sdk.egg-info/not-zip-safe +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_python_sdk.egg-info/top_level.txt +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/path_to_api.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_apis.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_apis_api_id.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_apis_api_id_applications.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_applications.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_applications_app_id_auth_logout_urls.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_applications_app_id_auth_redirect_urls.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_applications_application_id.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_applications_application_id_connections.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_applications_application_id_connections_connection_id.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_business.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_connected_apps_auth_url.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_connected_apps_revoke.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_connected_apps_token.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_connections.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_connections_connection_id.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_environment_feature_flags.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_environment_feature_flags_feature_flag_key.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_event_types.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_events_event_id.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_feature_flags.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_feature_flags_feature_flag_key.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_industries.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_organization.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_organization_org_code.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_organization_org_code_handle.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_organizations.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_organizations_org_code_feature_flags.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_organizations_org_code_feature_flags_feature_flag_key.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_organizations_org_code_properties.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_organizations_org_code_properties_property_key.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_organizations_org_code_users.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_organizations_org_code_users_user_id.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_organizations_org_code_users_user_id_permissions.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_organizations_org_code_users_user_id_permissions_permission_id.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_organizations_org_code_users_user_id_roles.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_organizations_org_code_users_user_id_roles_role_id.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_permissions.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_permissions_permission_id.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_properties.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_properties_property_id.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_property_categories.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_property_categories_category_id.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_roles.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_roles_role_id.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_roles_role_id_permissions.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_roles_role_id_permissions_permission_id.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_subscribers.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_subscribers_subscriber_id.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_timezones.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_user.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_users.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_users_user_id_feature_flags_feature_flag_key.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_users_user_id_password.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_users_user_id_properties.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_users_user_id_properties_property_key.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_users_user_id_refresh_claims.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_webhooks.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/api_v1_webhooks_webhook_id.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/oauth2_introspect.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/oauth2_revoke.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/oauth2_user_profile.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/paths/oauth2_v2_user_profile.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/tag_to_api.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/tags/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/tags/apis_api.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/tags/applications_api.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/tags/business_api.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/tags/callbacks_api.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/tags/connected_apps_api.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/tags/connections_api.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/tags/environments_api.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/tags/feature_flags_api.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/tags/industries_api.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/tags/o_auth_api.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/tags/organizations_api.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/tags/permissions_api.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/tags/properties_api.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/tags/property_categories_api.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/tags/roles_api.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/tags/subscribers_api.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/tags/timezones_api.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/tags/users_api.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/apis/tags/webhooks_api.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/auth/config_loader.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/auth/enums.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/auth/token_manager.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/auth/user_session.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/core/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/core/framework/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/core/framework/framework_context.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/core/framework/framework_interface.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/core/framework/null_framework.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/core/helpers.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/core/storage/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/core/storage/framework_aware_storage.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/core/storage/local_storage.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/core/storage/memory_storage.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/core/storage/storage_factory.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/core/storage/storage_interface.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/core/storage/storage_manager.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/management/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/management/management_client.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/add_organization_users_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/api.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/api_result.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/apis.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/applications.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/category.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/connected_apps_access_token.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/connected_apps_auth_url.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/connection.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/create_application_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/create_category_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/create_connection_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/create_organization_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/create_property_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/create_subscriber_success_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/create_user_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/create_webhook_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/delete_webhook_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/error.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/error_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/event_type.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/get_application_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/get_applications_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/get_categories_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/get_connections_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/get_environment_feature_flags_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/get_event_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/get_event_types_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/get_organization_feature_flags_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/get_organization_users_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/get_organizations_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/get_organizations_user_permissions_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/get_organizations_user_roles_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/get_permissions_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/get_properties_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/get_property_values_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/get_redirect_callback_urls_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/get_roles_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/get_subscriber_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/get_subscribers_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/get_webhooks_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/logout_redirect_urls.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/model_property.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/organization.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/organization_user.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/organization_user_permission.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/organization_user_role.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/organization_user_role_permissions.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/organization_users.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/permissions.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/property_value.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/redirect_callback_urls.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/role.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/roles.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/roles_permission_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/subscriber.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/subscribers_subscriber.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/success_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/token_error_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/token_introspect.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/update_organization_users_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/update_role_permissions_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/update_user_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/update_webhook_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/user.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/user_identity.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/user_profile.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/user_profile_v2.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/users.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/users_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/model/webhook.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/models/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_apis/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_apis/get.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_apis/post.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_apis_api_id/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_apis_api_id/delete.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_apis_api_id/get.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_apis_api_id_applications/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_apis_api_id_applications/patch.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_applications/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_applications/get.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_applications/post.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_applications_app_id_auth_logout_urls/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_applications_app_id_auth_logout_urls/delete.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_applications_app_id_auth_logout_urls/get.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_applications_app_id_auth_logout_urls/post.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_applications_app_id_auth_logout_urls/put.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_applications_app_id_auth_redirect_urls/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_applications_app_id_auth_redirect_urls/delete.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_applications_app_id_auth_redirect_urls/get.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_applications_app_id_auth_redirect_urls/post.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_applications_app_id_auth_redirect_urls/put.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_applications_application_id/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_applications_application_id/delete.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_applications_application_id/get.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_applications_application_id/patch.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_applications_application_id_connections/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_applications_application_id_connections/get.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_applications_application_id_connections_connection_id/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_applications_application_id_connections_connection_id/delete.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_applications_application_id_connections_connection_id/post.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_business/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_business/get.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_business/patch.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_connected_apps_auth_url/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_connected_apps_auth_url/get.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_connected_apps_revoke/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_connected_apps_revoke/post.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_connected_apps_token/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_connected_apps_token/get.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_connections/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_connections/get.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_connections/post.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_connections_connection_id/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_connections_connection_id/delete.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_connections_connection_id/get.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_connections_connection_id/patch.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_environment_feature_flags/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_environment_feature_flags/delete.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_environment_feature_flags/get.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_environment_feature_flags_feature_flag_key/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_environment_feature_flags_feature_flag_key/delete.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_environment_feature_flags_feature_flag_key/patch.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_event_types/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_event_types/get.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_events_event_id/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_events_event_id/get.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_feature_flags/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_feature_flags/post.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_feature_flags_feature_flag_key/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_feature_flags_feature_flag_key/delete.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_feature_flags_feature_flag_key/put.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_industries/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_industries/get.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_organization/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_organization/get.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_organization/post.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_organization_org_code/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_organization_org_code/delete.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_organization_org_code/patch.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_organization_org_code_handle/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_organization_org_code_handle/delete.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_organizations/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_organizations/get.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_organizations_org_code_feature_flags/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_organizations_org_code_feature_flags/delete.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_organizations_org_code_feature_flags/get.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_organizations_org_code_feature_flags_feature_flag_key/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_organizations_org_code_feature_flags_feature_flag_key/delete.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_organizations_org_code_feature_flags_feature_flag_key/patch.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_organizations_org_code_properties/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_organizations_org_code_properties/get.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_organizations_org_code_properties/patch.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_organizations_org_code_properties_property_key/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_organizations_org_code_properties_property_key/put.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_organizations_org_code_users/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_organizations_org_code_users/get.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_organizations_org_code_users/patch.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_organizations_org_code_users/post.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_organizations_org_code_users_user_id/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_organizations_org_code_users_user_id/delete.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_organizations_org_code_users_user_id_permissions/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_organizations_org_code_users_user_id_permissions/get.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_organizations_org_code_users_user_id_permissions/post.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_organizations_org_code_users_user_id_permissions_permission_id/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_organizations_org_code_users_user_id_permissions_permission_id/delete.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_organizations_org_code_users_user_id_roles/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_organizations_org_code_users_user_id_roles/get.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_organizations_org_code_users_user_id_roles/post.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_organizations_org_code_users_user_id_roles_role_id/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_organizations_org_code_users_user_id_roles_role_id/delete.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_permissions/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_permissions/get.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_permissions/post.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_permissions_permission_id/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_permissions_permission_id/delete.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_permissions_permission_id/patch.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_properties/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_properties/get.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_properties/post.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_properties_property_id/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_properties_property_id/delete.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_properties_property_id/put.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_property_categories/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_property_categories/get.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_property_categories/post.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_property_categories_category_id/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_property_categories_category_id/put.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_roles/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_roles/get.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_roles/post.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_roles_role_id/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_roles_role_id/delete.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_roles_role_id/patch.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_roles_role_id_permissions/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_roles_role_id_permissions/get.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_roles_role_id_permissions/patch.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_roles_role_id_permissions_permission_id/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_roles_role_id_permissions_permission_id/delete.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_subscribers/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_subscribers/get.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_subscribers/post.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_subscribers_subscriber_id/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_subscribers_subscriber_id/get.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_timezones/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_timezones/get.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_user/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_user/delete.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_user/get.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_user/patch.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_user/post.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_users/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_users/get.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_users_user_id_feature_flags_feature_flag_key/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_users_user_id_feature_flags_feature_flag_key/patch.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_users_user_id_password/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_users_user_id_password/put.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_users_user_id_properties/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_users_user_id_properties/get.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_users_user_id_properties/patch.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_users_user_id_properties_property_key/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_users_user_id_properties_property_key/put.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_users_user_id_refresh_claims/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_users_user_id_refresh_claims/post.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_webhooks/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_webhooks/get.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_webhooks/patch.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_webhooks/post.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_webhooks_webhook_id/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/api_v1_webhooks_webhook_id/delete.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/oauth2_introspect/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/oauth2_introspect/post.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/oauth2_revoke/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/oauth2_revoke/post.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/oauth2_user_profile/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/oauth2_user_profile/get.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/oauth2_v2_user_profile/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/paths/oauth2_v2_user_profile/get.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_kinde_api_client.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_add_organization_users_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_api.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_api_result.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_apis.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_applications.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_category.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_connected_apps_access_token.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_connected_apps_auth_url.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_connection.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_create_application_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_create_category_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_create_connection_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_create_organization_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_create_property_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_create_subscriber_success_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_create_user_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_create_webhook_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_delete_webhook_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_error.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_error_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_event_type.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_get_application_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_get_applications_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_get_categories_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_get_connections_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_get_environment_feature_flags_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_get_event_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_get_event_types_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_get_organization_feature_flags_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_get_organization_users_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_get_organizations_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_get_organizations_user_permissions_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_get_organizations_user_roles_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_get_permissions_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_get_properties_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_get_property_values_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_get_redirect_callback_urls_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_get_roles_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_get_subscriber_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_get_subscribers_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_get_webhooks_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_logout_redirect_urls.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_model_property.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_organization.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_organization_user.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_organization_user_permission.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_organization_user_role.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_organization_user_role_permissions.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_organization_users.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_permissions.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_property_value.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_redirect_callback_urls.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_role.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_roles.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_roles_permission_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_subscriber.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_subscribers_subscriber.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_success_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_token_error_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_token_introspect.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_update_organization_users_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_update_role_permissions_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_update_user_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_update_webhook_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_user.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_user_identity.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_user_profile.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_user_profile_v2.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_users.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_users_response.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_sdk/test/test_models/test_webhook.py +0 -0
- {kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: kinde-python-sdk
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.0b6
|
|
4
4
|
Summary: Connect your app to the Kinde platform
|
|
5
5
|
Author-email: Kinde Engineering <engineering@kinde.com>
|
|
6
6
|
Project-URL: Homepage, https://github.com/kinde-oss/kinde-python-sdk
|
|
@@ -21,7 +21,7 @@ Requires-Dist: urllib3<3.0,>=2.2.0
|
|
|
21
21
|
Requires-Dist: python-dateutil<3.0,>=2.9.0
|
|
22
22
|
Requires-Dist: Authlib<2.0,>=1.3.0
|
|
23
23
|
Requires-Dist: pyjwt<3.0,>=2.10.0
|
|
24
|
-
Requires-Dist: requests<3.0,>=2.32.
|
|
24
|
+
Requires-Dist: requests<3.0,>=2.32.2
|
|
25
25
|
Requires-Dist: typing-extensions<5.0,>=4.11.0
|
|
26
26
|
Requires-Dist: frozendict<3.0,>=2.4.3
|
|
27
27
|
Requires-Dist: certifi<2025.0.0,>=2024.2.2
|
{kinde_python_sdk-2.0.0b4 → kinde_python_sdk-2.0.0b6}/kinde_fastapi/framework/fastapi_framework.py
RENAMED
|
@@ -139,12 +139,15 @@ class FastAPIFramework(FrameworkInterface):
|
|
|
139
139
|
"""Handle the OAuth callback from Kinde."""
|
|
140
140
|
try:
|
|
141
141
|
# Generate a unique user ID for the session
|
|
142
|
+
logger.warning(f"[Callback] Request session is: {request.session}")
|
|
142
143
|
user_id = request.session.get("user_id") or str(uuid.uuid4())
|
|
143
144
|
|
|
144
145
|
# Use OAuth's handle_redirect method to process the callback
|
|
146
|
+
logger.warning(f"[Callback] code[{code}] state[{state}] user_id[{user_id}]")
|
|
145
147
|
result = await self._oauth.handle_redirect(code, user_id, state)
|
|
146
148
|
|
|
147
149
|
# Store user ID in session
|
|
150
|
+
logger.warning(f"[Callback] Storing user ID in session: {user_id}")
|
|
148
151
|
request.session["user_id"] = user_id
|
|
149
152
|
|
|
150
153
|
# Create response with explicit session cookie settings
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: kinde-python-sdk
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.0b6
|
|
4
4
|
Summary: Connect your app to the Kinde platform
|
|
5
5
|
Author-email: Kinde Engineering <engineering@kinde.com>
|
|
6
6
|
Project-URL: Homepage, https://github.com/kinde-oss/kinde-python-sdk
|
|
@@ -21,7 +21,7 @@ Requires-Dist: urllib3<3.0,>=2.2.0
|
|
|
21
21
|
Requires-Dist: python-dateutil<3.0,>=2.9.0
|
|
22
22
|
Requires-Dist: Authlib<2.0,>=1.3.0
|
|
23
23
|
Requires-Dist: pyjwt<3.0,>=2.10.0
|
|
24
|
-
Requires-Dist: requests<3.0,>=2.32.
|
|
24
|
+
Requires-Dist: requests<3.0,>=2.32.2
|
|
25
25
|
Requires-Dist: typing-extensions<5.0,>=4.11.0
|
|
26
26
|
Requires-Dist: frozendict<3.0,>=2.4.3
|
|
27
27
|
Requires-Dist: certifi<2025.0.0,>=2024.2.2
|
|
@@ -112,6 +112,7 @@ pyproject.toml
|
|
|
112
112
|
./kinde_sdk/auth/login_options.py
|
|
113
113
|
./kinde_sdk/auth/oauth.py
|
|
114
114
|
./kinde_sdk/auth/permissions.py
|
|
115
|
+
./kinde_sdk/auth/profiles.py
|
|
115
116
|
./kinde_sdk/auth/token_manager.py
|
|
116
117
|
./kinde_sdk/auth/user_session.py
|
|
117
118
|
./kinde_sdk/core/__init__.py
|
|
@@ -134,6 +135,7 @@ pyproject.toml
|
|
|
134
135
|
./kinde_sdk/management/configuration.py
|
|
135
136
|
./kinde_sdk/management/management_client.py
|
|
136
137
|
./kinde_sdk/management/management_token_manager.py
|
|
138
|
+
./kinde_sdk/management/schemas.py
|
|
137
139
|
./kinde_sdk/model/__init__.py
|
|
138
140
|
./kinde_sdk/model/add_organization_users_response.py
|
|
139
141
|
./kinde_sdk/model/api.py
|
|
@@ -565,6 +567,7 @@ kinde_sdk/auth/feature_flags.py
|
|
|
565
567
|
kinde_sdk/auth/login_options.py
|
|
566
568
|
kinde_sdk/auth/oauth.py
|
|
567
569
|
kinde_sdk/auth/permissions.py
|
|
570
|
+
kinde_sdk/auth/profiles.py
|
|
568
571
|
kinde_sdk/auth/token_manager.py
|
|
569
572
|
kinde_sdk/auth/user_session.py
|
|
570
573
|
kinde_sdk/core/__init__.py
|
|
@@ -587,6 +590,7 @@ kinde_sdk/management/api_client.py
|
|
|
587
590
|
kinde_sdk/management/configuration.py
|
|
588
591
|
kinde_sdk/management/management_client.py
|
|
589
592
|
kinde_sdk/management/management_token_manager.py
|
|
593
|
+
kinde_sdk/management/schemas.py
|
|
590
594
|
kinde_sdk/model/__init__.py
|
|
591
595
|
kinde_sdk/model/add_organization_users_response.py
|
|
592
596
|
kinde_sdk/model/api.py
|
|
@@ -4,5 +4,6 @@ from .user_session import UserSession
|
|
|
4
4
|
from .permissions import permissions
|
|
5
5
|
from .claims import claims
|
|
6
6
|
from .feature_flags import feature_flags
|
|
7
|
+
from .profiles import profiles
|
|
7
8
|
|
|
8
|
-
__all__ = ["OAuth", "TokenManager", "UserSession", "permissions", "claims", "feature_flags"]
|
|
9
|
+
__all__ = ["OAuth", "TokenManager", "UserSession", "permissions", "claims", "feature_flags", "profiles"]
|
|
@@ -1,18 +1,37 @@
|
|
|
1
1
|
from typing import Dict, Any, Optional
|
|
2
2
|
import logging
|
|
3
|
-
from kinde_sdk.
|
|
3
|
+
from kinde_sdk.core.framework.framework_factory import FrameworkFactory
|
|
4
|
+
from kinde_sdk.auth.user_session import UserSession
|
|
4
5
|
|
|
5
6
|
class Claims:
|
|
6
7
|
def __init__(self):
|
|
7
8
|
self._logger = logging.getLogger("kinde_sdk")
|
|
8
9
|
self._logger.setLevel(logging.INFO)
|
|
9
|
-
self.
|
|
10
|
+
self._framework = None
|
|
11
|
+
self._session_manager = UserSession()
|
|
10
12
|
|
|
11
|
-
def
|
|
12
|
-
"""Get the
|
|
13
|
-
if not self.
|
|
14
|
-
self.
|
|
15
|
-
return self.
|
|
13
|
+
def _get_framework(self):
|
|
14
|
+
"""Get the framework instance using singleton pattern."""
|
|
15
|
+
if not self._framework:
|
|
16
|
+
self._framework = FrameworkFactory.get_framework_instance()
|
|
17
|
+
return self._framework
|
|
18
|
+
|
|
19
|
+
def _get_token_manager(self) -> Optional[Any]:
|
|
20
|
+
"""
|
|
21
|
+
Get the token manager for the current user.
|
|
22
|
+
|
|
23
|
+
Returns:
|
|
24
|
+
Optional[Any]: The token manager if available, None otherwise
|
|
25
|
+
"""
|
|
26
|
+
framework = self._get_framework()
|
|
27
|
+
if not framework:
|
|
28
|
+
return None
|
|
29
|
+
|
|
30
|
+
user_id = framework.get_user_id()
|
|
31
|
+
if not user_id:
|
|
32
|
+
return None
|
|
33
|
+
|
|
34
|
+
return self._session_manager.get_token_manager(user_id)
|
|
16
35
|
|
|
17
36
|
async def get_claim(self, claim_name: str, token_type: str = "access_token") -> Dict[str, Any]:
|
|
18
37
|
"""
|
|
@@ -29,16 +48,7 @@ class Claims:
|
|
|
29
48
|
"value": Any
|
|
30
49
|
}
|
|
31
50
|
"""
|
|
32
|
-
|
|
33
|
-
if not oauth.is_authenticated():
|
|
34
|
-
return {
|
|
35
|
-
"name": claim_name,
|
|
36
|
-
"value": None
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
user_id = oauth._framework.get_user_id()
|
|
40
|
-
token_manager = oauth._session_manager.get_token_manager(user_id)
|
|
41
|
-
|
|
51
|
+
token_manager = self._get_token_manager()
|
|
42
52
|
if not token_manager:
|
|
43
53
|
return {
|
|
44
54
|
"name": claim_name,
|
|
@@ -63,13 +73,7 @@ class Claims:
|
|
|
63
73
|
Returns:
|
|
64
74
|
Dict containing all claims from the token
|
|
65
75
|
"""
|
|
66
|
-
|
|
67
|
-
if not oauth.is_authenticated():
|
|
68
|
-
return {}
|
|
69
|
-
|
|
70
|
-
user_id = oauth._framework.get_user_id()
|
|
71
|
-
token_manager = oauth._session_manager.get_token_manager(user_id)
|
|
72
|
-
|
|
76
|
+
token_manager = self._get_token_manager()
|
|
73
77
|
if not token_manager:
|
|
74
78
|
return {}
|
|
75
79
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from typing import Dict, Any, Optional, TypeVar, Generic, Union
|
|
2
2
|
import logging
|
|
3
|
-
from kinde_sdk.
|
|
3
|
+
from kinde_sdk.core.framework.framework_factory import FrameworkFactory
|
|
4
|
+
from kinde_sdk.auth.user_session import UserSession
|
|
4
5
|
|
|
5
6
|
T = TypeVar('T')
|
|
6
7
|
|
|
@@ -15,13 +16,31 @@ class FeatureFlags:
|
|
|
15
16
|
def __init__(self):
|
|
16
17
|
self._logger = logging.getLogger("kinde_sdk")
|
|
17
18
|
self._logger.setLevel(logging.INFO)
|
|
18
|
-
self.
|
|
19
|
+
self._framework = None
|
|
20
|
+
self._session_manager = UserSession()
|
|
19
21
|
|
|
20
|
-
def
|
|
21
|
-
"""Get the
|
|
22
|
-
if not self.
|
|
23
|
-
self.
|
|
24
|
-
return self.
|
|
22
|
+
def _get_framework(self):
|
|
23
|
+
"""Get the framework instance using singleton pattern."""
|
|
24
|
+
if not self._framework:
|
|
25
|
+
self._framework = FrameworkFactory.get_framework_instance()
|
|
26
|
+
return self._framework
|
|
27
|
+
|
|
28
|
+
def _get_token_manager(self) -> Optional[Any]:
|
|
29
|
+
"""
|
|
30
|
+
Get the token manager for the current user.
|
|
31
|
+
|
|
32
|
+
Returns:
|
|
33
|
+
Optional[Any]: The token manager if available, None otherwise
|
|
34
|
+
"""
|
|
35
|
+
framework = self._get_framework()
|
|
36
|
+
if not framework:
|
|
37
|
+
return None
|
|
38
|
+
|
|
39
|
+
user_id = framework.get_user_id()
|
|
40
|
+
if not user_id:
|
|
41
|
+
return None
|
|
42
|
+
|
|
43
|
+
return self._session_manager.get_token_manager(user_id)
|
|
25
44
|
|
|
26
45
|
def _parse_flag_value(self, flag_data: Dict[str, Any], expected_type: Optional[str] = None) -> FeatureFlag:
|
|
27
46
|
"""
|
|
@@ -72,18 +91,7 @@ class FeatureFlags:
|
|
|
72
91
|
Returns:
|
|
73
92
|
FeatureFlag object containing the flag value and metadata
|
|
74
93
|
"""
|
|
75
|
-
|
|
76
|
-
if not oauth.is_authenticated():
|
|
77
|
-
return FeatureFlag(
|
|
78
|
-
code=flag_code,
|
|
79
|
-
type="unknown",
|
|
80
|
-
value=default_value,
|
|
81
|
-
is_default=True
|
|
82
|
-
)
|
|
83
|
-
|
|
84
|
-
user_id = oauth._framework.get_user_id()
|
|
85
|
-
token_manager = oauth._session_manager.get_token_manager(user_id)
|
|
86
|
-
|
|
94
|
+
token_manager = self._get_token_manager()
|
|
87
95
|
if not token_manager:
|
|
88
96
|
return FeatureFlag(
|
|
89
97
|
code=flag_code,
|
|
@@ -112,13 +120,7 @@ class FeatureFlags:
|
|
|
112
120
|
Returns:
|
|
113
121
|
Dict mapping flag codes to FeatureFlag objects
|
|
114
122
|
"""
|
|
115
|
-
|
|
116
|
-
if not oauth.is_authenticated():
|
|
117
|
-
return {}
|
|
118
|
-
|
|
119
|
-
user_id = oauth._framework.get_user_id()
|
|
120
|
-
token_manager = oauth._session_manager.get_token_manager(user_id)
|
|
121
|
-
|
|
123
|
+
token_manager = self._get_token_manager()
|
|
122
124
|
if not token_manager:
|
|
123
125
|
return {}
|
|
124
126
|
|
|
@@ -21,42 +21,6 @@ from kinde_sdk.core.exceptions import (
|
|
|
21
21
|
)
|
|
22
22
|
|
|
23
23
|
class OAuth:
|
|
24
|
-
_instance = None
|
|
25
|
-
_initialized = False
|
|
26
|
-
|
|
27
|
-
def __new__(cls, *args, **kwargs):
|
|
28
|
-
if cls._instance is None:
|
|
29
|
-
cls._instance = super(OAuth, cls).__new__(cls)
|
|
30
|
-
return cls._instance
|
|
31
|
-
|
|
32
|
-
@classmethod
|
|
33
|
-
def get_instance(cls) -> 'OAuth':
|
|
34
|
-
"""Get the singleton instance of OAuth."""
|
|
35
|
-
if cls._instance is None:
|
|
36
|
-
raise KindeConfigurationException("OAuth instance not initialized. Please create an instance first.")
|
|
37
|
-
return cls._instance
|
|
38
|
-
|
|
39
|
-
@classmethod
|
|
40
|
-
def _reset(cls) -> None:
|
|
41
|
-
"""Reset the singleton instance and its state.
|
|
42
|
-
This is primarily used for testing to ensure a clean state between tests."""
|
|
43
|
-
if cls._instance:
|
|
44
|
-
# Clear any stored state
|
|
45
|
-
if hasattr(cls._instance, '_session_manager'):
|
|
46
|
-
cls._instance._session_manager = None
|
|
47
|
-
if hasattr(cls._instance, '_storage_manager'):
|
|
48
|
-
cls._instance._storage_manager = None
|
|
49
|
-
if hasattr(cls._instance, '_framework'):
|
|
50
|
-
cls._instance._framework = None
|
|
51
|
-
if hasattr(cls._instance, '_storage'):
|
|
52
|
-
cls._instance._storage = None
|
|
53
|
-
if hasattr(cls._instance, '_config'):
|
|
54
|
-
cls._instance._config = None
|
|
55
|
-
|
|
56
|
-
# Reset class variables
|
|
57
|
-
cls._instance = None
|
|
58
|
-
cls._initialized = False
|
|
59
|
-
|
|
60
24
|
def __init__(
|
|
61
25
|
self,
|
|
62
26
|
client_id: Optional[str] = None,
|
|
@@ -128,9 +92,6 @@ class OAuth:
|
|
|
128
92
|
self.proxy = None
|
|
129
93
|
self.proxy_headers = None
|
|
130
94
|
|
|
131
|
-
# Mark as initialized
|
|
132
|
-
self._initialized = True
|
|
133
|
-
|
|
134
95
|
def _initialize_framework(self) -> None:
|
|
135
96
|
"""
|
|
136
97
|
Initialize the framework-specific components.
|
|
@@ -292,6 +253,8 @@ class OAuth:
|
|
|
292
253
|
LoginOptions.REDIRECT_URL: "redirect_url",
|
|
293
254
|
LoginOptions.HAS_SUCCESS_PAGE: "has_success_page",
|
|
294
255
|
LoginOptions.WORKFLOW_DEPLOYMENT_ID: "workflow_deployment_id",
|
|
256
|
+
# Registration params
|
|
257
|
+
LoginOptions.PLAN_INTEREST: "plan_interest",
|
|
295
258
|
}
|
|
296
259
|
|
|
297
260
|
# Base search parameters with defaults
|
|
@@ -425,6 +388,7 @@ class OAuth:
|
|
|
425
388
|
- redirect_url: URL to redirect after authentication
|
|
426
389
|
- has_success_page: Whether to show success page
|
|
427
390
|
- workflow_deployment_id: Workflow deployment ID
|
|
391
|
+
- plan_interest: Optional string indicating the plan of interest
|
|
428
392
|
- auth_params: Additional auth parameters
|
|
429
393
|
|
|
430
394
|
Returns:
|
|
@@ -591,14 +555,17 @@ class OAuth:
|
|
|
591
555
|
}
|
|
592
556
|
|
|
593
557
|
# Add client secret if available (for non-PKCE flow)
|
|
594
|
-
if self.client_secret
|
|
558
|
+
if self.client_secret:
|
|
595
559
|
data["client_secret"] = self.client_secret
|
|
596
560
|
|
|
597
561
|
# Add code verifier for PKCE flow
|
|
598
562
|
if code_verifier:
|
|
599
563
|
data["code_verifier"] = code_verifier
|
|
600
564
|
|
|
565
|
+
self._logger.warning(f"[Exchange code for tokens] [{self.token_url}] [{data}]")
|
|
566
|
+
|
|
601
567
|
response = requests.post(self.token_url, data=data)
|
|
568
|
+
self._logger.warning(f"[Exchange code for tokens] [{response.status_code}] [{response.text}]")
|
|
602
569
|
if response.status_code != 200:
|
|
603
570
|
raise KindeTokenException(f"Token exchange failed: {response.text}")
|
|
604
571
|
|
|
@@ -1,18 +1,37 @@
|
|
|
1
1
|
from typing import Dict, List, Optional, Any
|
|
2
2
|
import logging
|
|
3
|
-
from kinde_sdk.
|
|
3
|
+
from kinde_sdk.core.framework.framework_factory import FrameworkFactory
|
|
4
|
+
from kinde_sdk.auth.user_session import UserSession
|
|
4
5
|
|
|
5
6
|
class Permissions:
|
|
6
7
|
def __init__(self):
|
|
7
8
|
self._logger = logging.getLogger("kinde_sdk")
|
|
8
9
|
self._logger.setLevel(logging.INFO)
|
|
9
|
-
self.
|
|
10
|
+
self._framework = None
|
|
11
|
+
self._session_manager = UserSession()
|
|
10
12
|
|
|
11
|
-
def
|
|
12
|
-
"""Get the
|
|
13
|
-
if not self.
|
|
14
|
-
self.
|
|
15
|
-
return self.
|
|
13
|
+
def _get_framework(self):
|
|
14
|
+
"""Get the framework instance using singleton pattern."""
|
|
15
|
+
if not self._framework:
|
|
16
|
+
self._framework = FrameworkFactory.get_framework_instance()
|
|
17
|
+
return self._framework
|
|
18
|
+
|
|
19
|
+
def _get_token_manager(self) -> Optional[Any]:
|
|
20
|
+
"""
|
|
21
|
+
Get the token manager for the current user.
|
|
22
|
+
|
|
23
|
+
Returns:
|
|
24
|
+
Optional[Any]: The token manager if available, None otherwise
|
|
25
|
+
"""
|
|
26
|
+
framework = self._get_framework()
|
|
27
|
+
if not framework:
|
|
28
|
+
return None
|
|
29
|
+
|
|
30
|
+
user_id = framework.get_user_id()
|
|
31
|
+
if not user_id:
|
|
32
|
+
return None
|
|
33
|
+
|
|
34
|
+
return self._session_manager.get_token_manager(user_id)
|
|
16
35
|
|
|
17
36
|
async def get_permission(self, permission_key: str) -> Dict[str, Any]:
|
|
18
37
|
"""
|
|
@@ -29,17 +48,7 @@ class Permissions:
|
|
|
29
48
|
"isGranted": bool
|
|
30
49
|
}
|
|
31
50
|
"""
|
|
32
|
-
|
|
33
|
-
if not oauth.is_authenticated():
|
|
34
|
-
return {
|
|
35
|
-
"permissionKey": permission_key,
|
|
36
|
-
"orgCode": None,
|
|
37
|
-
"isGranted": False
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
user_id = oauth._framework.get_user_id()
|
|
41
|
-
token_manager = oauth._session_manager.get_token_manager(user_id)
|
|
42
|
-
|
|
51
|
+
token_manager = self._get_token_manager()
|
|
43
52
|
if not token_manager:
|
|
44
53
|
return {
|
|
45
54
|
"permissionKey": permission_key,
|
|
@@ -68,16 +77,7 @@ class Permissions:
|
|
|
68
77
|
"permissions": List[str]
|
|
69
78
|
}
|
|
70
79
|
"""
|
|
71
|
-
|
|
72
|
-
if not oauth.is_authenticated():
|
|
73
|
-
return {
|
|
74
|
-
"orgCode": None,
|
|
75
|
-
"permissions": []
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
user_id = oauth._framework.get_user_id()
|
|
79
|
-
token_manager = oauth._session_manager.get_token_manager(user_id)
|
|
80
|
-
|
|
80
|
+
token_manager = self._get_token_manager()
|
|
81
81
|
if not token_manager:
|
|
82
82
|
return {
|
|
83
83
|
"orgCode": None,
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
from typing import Dict, Any, Optional
|
|
2
|
+
import logging
|
|
3
|
+
import urllib.parse
|
|
4
|
+
from urllib.parse import urlparse
|
|
5
|
+
import httpx
|
|
6
|
+
from kinde_sdk.core.framework.framework_factory import FrameworkFactory
|
|
7
|
+
from kinde_sdk.auth.user_session import UserSession
|
|
8
|
+
|
|
9
|
+
class Profiles:
|
|
10
|
+
def __init__(self):
|
|
11
|
+
self._logger = logging.getLogger("kinde_sdk")
|
|
12
|
+
self._logger.setLevel(logging.INFO)
|
|
13
|
+
self._framework = None
|
|
14
|
+
self._session_manager = UserSession()
|
|
15
|
+
|
|
16
|
+
def _get_framework(self):
|
|
17
|
+
"""Get the framework instance using singleton pattern."""
|
|
18
|
+
if not self._framework:
|
|
19
|
+
self._framework = FrameworkFactory.get_framework_instance()
|
|
20
|
+
return self._framework
|
|
21
|
+
|
|
22
|
+
def _get_token_manager(self) -> Optional[Any]:
|
|
23
|
+
"""
|
|
24
|
+
Get the token manager for the current user.
|
|
25
|
+
|
|
26
|
+
Returns:
|
|
27
|
+
Optional[Any]: The token manager if available, None otherwise
|
|
28
|
+
"""
|
|
29
|
+
framework = self._get_framework()
|
|
30
|
+
if not framework:
|
|
31
|
+
return None
|
|
32
|
+
|
|
33
|
+
user_id = framework.get_user_id()
|
|
34
|
+
if not user_id:
|
|
35
|
+
return None
|
|
36
|
+
|
|
37
|
+
return self._session_manager.get_token_manager(user_id)
|
|
38
|
+
|
|
39
|
+
def _sanitize_url(self, url: str) -> str:
|
|
40
|
+
"""
|
|
41
|
+
Sanitize the URL by ensuring it has a scheme and removing trailing slashes.
|
|
42
|
+
|
|
43
|
+
Args:
|
|
44
|
+
url: The URL to sanitize
|
|
45
|
+
|
|
46
|
+
Returns:
|
|
47
|
+
str: The sanitized URL
|
|
48
|
+
"""
|
|
49
|
+
if not url.startswith(('http://', 'https://')):
|
|
50
|
+
url = 'https://' + url
|
|
51
|
+
return url.rstrip('/')
|
|
52
|
+
|
|
53
|
+
async def generate_profile_url(self, domain: str, return_url: str, sub_nav: str) -> Dict[str, str]:
|
|
54
|
+
"""
|
|
55
|
+
Generates a URL to the user profile portal.
|
|
56
|
+
|
|
57
|
+
Args:
|
|
58
|
+
domain: The domain of the Kinde instance
|
|
59
|
+
return_url: URL to redirect to after completing the profile flow
|
|
60
|
+
sub_nav: Sub-navigation section to display
|
|
61
|
+
|
|
62
|
+
Returns:
|
|
63
|
+
Dict containing the URL to redirect to:
|
|
64
|
+
{
|
|
65
|
+
"url": str
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
Raises:
|
|
69
|
+
Exception: If active storage is not found
|
|
70
|
+
Exception: If access token is not found
|
|
71
|
+
Exception: If the API request fails
|
|
72
|
+
Exception: If the response contains an invalid URL
|
|
73
|
+
"""
|
|
74
|
+
token_manager = self._get_token_manager()
|
|
75
|
+
if not token_manager:
|
|
76
|
+
raise Exception("generate_profile_url: Active storage not found")
|
|
77
|
+
|
|
78
|
+
token = token_manager.get_access_token()
|
|
79
|
+
if not token:
|
|
80
|
+
raise Exception("generate_profile_url: Access Token not found")
|
|
81
|
+
|
|
82
|
+
sanitized_domain = self._sanitize_url(domain)
|
|
83
|
+
encoded_return_url = urllib.parse.quote(return_url)
|
|
84
|
+
|
|
85
|
+
url = f"{sanitized_domain}/account_api/v1/portal_link?return_url={encoded_return_url}&sub_nav={sub_nav}"
|
|
86
|
+
|
|
87
|
+
async with httpx.AsyncClient() as client:
|
|
88
|
+
response = await client.get(
|
|
89
|
+
url,
|
|
90
|
+
headers={"Authorization": f"Bearer {token}"}
|
|
91
|
+
)
|
|
92
|
+
|
|
93
|
+
if not response.is_success:
|
|
94
|
+
raise Exception(f"Failed to fetch profile URL: {response.status_code} {response.reason_phrase}")
|
|
95
|
+
|
|
96
|
+
result = response.json()
|
|
97
|
+
if not result.get("url") or not isinstance(result["url"], str):
|
|
98
|
+
raise Exception("Invalid URL received from API")
|
|
99
|
+
|
|
100
|
+
try:
|
|
101
|
+
# Validate the URL format
|
|
102
|
+
parsed_url = urlparse(result["url"])
|
|
103
|
+
if not all([parsed_url.scheme, parsed_url.netloc]):
|
|
104
|
+
raise ValueError("Invalid URL format")
|
|
105
|
+
|
|
106
|
+
return {"url": result["url"]}
|
|
107
|
+
except Exception as e:
|
|
108
|
+
self._logger.error(f"Error parsing URL: {e}")
|
|
109
|
+
raise Exception(f"Invalid URL format received from API: {result['url']}")
|
|
110
|
+
|
|
111
|
+
# Create a singleton instance
|
|
112
|
+
profiles = Profiles()
|
|
@@ -16,4 +16,12 @@ class KindeTokenException(KindeException):
|
|
|
16
16
|
|
|
17
17
|
class KindeRetrieveException(KindeException):
|
|
18
18
|
"""Raised when there is an error retrieving data."""
|
|
19
|
-
pass
|
|
19
|
+
pass
|
|
20
|
+
|
|
21
|
+
class ApiValueError(KindeException):
|
|
22
|
+
"""Raised when there is an error with API values."""
|
|
23
|
+
pass
|
|
24
|
+
|
|
25
|
+
class ApiTypeError(KindeException):
|
|
26
|
+
"""Raised when there is a type error with API values."""
|
|
27
|
+
pass
|