scalekit-sdk-python 2.4.13__tar.gz → 2.4.15__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.
- {scalekit_sdk_python-2.4.13/scalekit_sdk_python.egg-info → scalekit_sdk_python-2.4.15}/PKG-INFO +6 -6
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/client.py +12 -13
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/core.py +5 -5
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/auth/auth_pb2.py +33 -33
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/auth/auth_pb2.pyi +2 -2
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/auth/auth_pb2_grpc.py +6 -6
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/auth/passwordless_pb2.py +23 -23
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/clients/clients_pb2.py +181 -173
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/clients/clients_pb2.pyi +16 -8
- scalekit_sdk_python-2.4.15/scalekit/v1/commons/commons_pb2.py +138 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/commons/commons_pb2.pyi +28 -4
- scalekit_sdk_python-2.4.15/scalekit/v1/connected_accounts/connected_accounts_pb2.py +261 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/connected_accounts/connected_accounts_pb2_grpc.py +13 -7
- scalekit_sdk_python-2.4.15/scalekit/v1/connections/connections_pb2.py +655 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/connections/connections_pb2.pyi +26 -36
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/connections/connections_pb2_grpc.py +0 -33
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/directories/directories_pb2.py +8 -8
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/events/events_pb2.py +4 -4
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/events/events_pb2.pyi +2 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/interceptors/interceptors_pb2.py +59 -59
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/interceptors/interceptors_pb2.pyi +2 -0
- scalekit_sdk_python-2.4.15/scalekit/v1/members/members_pb2.py +114 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/members/members_pb2.pyi +5 -2
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/organizations/organizations_pb2.py +11 -11
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/roles/roles_pb2.py +7 -7
- scalekit_sdk_python-2.4.15/scalekit/v1/tokens/tokens_pb2.py +172 -0
- scalekit_sdk_python-2.4.15/scalekit/v1/tokens/tokens_pb2.pyi +177 -0
- scalekit_sdk_python-2.4.15/scalekit/v1/tokens/tokens_pb2_grpc.py +246 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/tools/tools_pb2.py +29 -29
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/tools/tools_pb2_grpc.py +2 -1
- scalekit_sdk_python-2.4.15/scalekit/v1/users/users_pb2.py +443 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/users/users_pb2.pyi +4 -4
- scalekit_sdk_python-2.4.15/scalekit/v1/workspaces/__init__.py +0 -0
- scalekit_sdk_python-2.4.15/scalekit/v1/workspaces/workspaces_pb2.py +214 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/workspaces/workspaces_pb2.pyi +73 -28
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/workspaces/workspaces_pb2_grpc.py +66 -2
- scalekit_sdk_python-2.4.15/scalekit/webauthn.py +85 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15/scalekit_sdk_python.egg-info}/PKG-INFO +6 -6
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit_sdk_python.egg-info/SOURCES.txt +7 -1
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit_sdk_python.egg-info/requires.txt +5 -5
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/setup.py +6 -6
- scalekit_sdk_python-2.4.15/tests/test_webauthn_credentials.py +148 -0
- scalekit_sdk_python-2.4.13/scalekit/v1/commons/commons_pb2.py +0 -116
- scalekit_sdk_python-2.4.13/scalekit/v1/connected_accounts/connected_accounts_pb2.py +0 -209
- scalekit_sdk_python-2.4.13/scalekit/v1/connections/connections_pb2.py +0 -661
- scalekit_sdk_python-2.4.13/scalekit/v1/members/members_pb2.py +0 -111
- scalekit_sdk_python-2.4.13/scalekit/v1/users/users_pb2.py +0 -443
- scalekit_sdk_python-2.4.13/scalekit/v1/workspaces/workspaces_pb2.py +0 -196
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/LICENSE +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/README.md +0 -0
- {scalekit_sdk_python-2.4.13/scalekit/v1/workspaces → scalekit_sdk_python-2.4.15/buf}/__init__.py +0 -0
- {scalekit_sdk_python-2.4.13/scalekit/v1/webhooks → scalekit_sdk_python-2.4.15/buf/validate}/__init__.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/buf/validate/expression_pb2.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/buf/validate/expression_pb2.pyi +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/buf/validate/expression_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.4.13/scalekit/v1/users → scalekit_sdk_python-2.4.15/buf/validate/priv}/__init__.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/buf/validate/priv/private_pb2.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/buf/validate/priv/private_pb2.pyi +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/buf/validate/priv/private_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/buf/validate/validate_pb2.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/buf/validate/validate_pb2.pyi +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/buf/validate/validate_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/__init__.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/actions/__init__.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/actions/actions.py +0 -0
- {scalekit_sdk_python-2.4.13/scalekit/v1/user_attributes → scalekit_sdk_python-2.4.15/scalekit/actions/frameworks}/__init__.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/actions/frameworks/google_adk.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/actions/frameworks/langchain.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/actions/frameworks/types/__init__.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/actions/frameworks/types/google_adk_tool.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/actions/frameworks/util.py +0 -0
- {scalekit_sdk_python-2.4.13/scalekit/v1/tools → scalekit_sdk_python-2.4.15/scalekit/actions/models}/__init__.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/actions/models/mcp_config.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/actions/models/mcp_instance.py +0 -0
- {scalekit_sdk_python-2.4.13/scalekit/v1/sessions → scalekit_sdk_python-2.4.15/scalekit/actions/models/requests}/__init__.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/actions/models/requests/create_connected_account_request.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/actions/models/requests/mcp_request.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/actions/models/requests/tool_request.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/actions/models/requests/update_connected_account_request.py +0 -0
- {scalekit_sdk_python-2.4.13/scalekit/v1/secrets → scalekit_sdk_python-2.4.15/scalekit/actions/models/responses}/__init__.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/actions/models/responses/create_connected_account_response.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/actions/models/responses/create_mcp_config_response.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/actions/models/responses/create_mcp_response.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/actions/models/responses/delete_connected_account_response.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/actions/models/responses/delete_mcp_config_response.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/actions/models/responses/delete_mcp_instance_response.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/actions/models/responses/ensure_mcp_instance_response.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/actions/models/responses/execute_tool_response.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/actions/models/responses/get_connected_account_auth_response.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/actions/models/responses/get_mcp_instance_auth_state_response.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/actions/models/responses/get_mcp_instance_response.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/actions/models/responses/get_mcp_response.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/actions/models/responses/list_connected_accounts_response.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/actions/models/responses/list_mcp_configs_response.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/actions/models/responses/list_mcp_instances_response.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/actions/models/responses/magic_link_response.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/actions/models/responses/update_connected_account_response.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/actions/models/responses/update_mcp_config_response.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/actions/models/responses/update_mcp_instance_response.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/actions/models/tool_input_output.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/actions/models/tool_mapping.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/actions/modifier.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/actions/types.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/auth.py +0 -0
- {scalekit_sdk_python-2.4.13/scalekit/v1/roles → scalekit_sdk_python-2.4.15/scalekit/common}/__init__.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/common/exceptions.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/common/scalekit.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/common/user.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/connected_accounts.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/connection.py +0 -0
- {scalekit_sdk_python-2.4.13/scalekit/v1/providers → scalekit_sdk_python-2.4.15/scalekit/constants}/__init__.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/constants/user.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/directory.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/domain.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/m2m_client.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/mcp.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/organization.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/passwordless.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/permissions.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/role.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/sessions.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/tools.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/users.py +0 -0
- {scalekit_sdk_python-2.4.13/scalekit/v1/organizations → scalekit_sdk_python-2.4.15/scalekit/utils}/__init__.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/utils/directory.py +0 -0
- {scalekit_sdk_python-2.4.13/scalekit/v1/options → scalekit_sdk_python-2.4.15/scalekit/v1}/__init__.py +0 -0
- {scalekit_sdk_python-2.4.13/scalekit/v1/migrations → scalekit_sdk_python-2.4.15/scalekit/v1/auditlogs}/__init__.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/auditlogs/auditlogs_pb2.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/auditlogs/auditlogs_pb2.pyi +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/auditlogs/auditlogs_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.4.13/scalekit/v1/members → scalekit_sdk_python-2.4.15/scalekit/v1/auth}/__init__.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/auth/passwordless_pb2.pyi +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/auth/passwordless_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/auth/totp_pb2.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/auth/totp_pb2.pyi +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/auth/totp_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/auth/webauthn_pb2.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/auth/webauthn_pb2.pyi +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/auth/webauthn_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.4.13/scalekit/v1/mcp → scalekit_sdk_python-2.4.15/scalekit/v1/clients}/__init__.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/clients/clients_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.4.13/scalekit/v1/interceptors → scalekit_sdk_python-2.4.15/scalekit/v1/commons}/__init__.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/commons/commons_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.4.13/scalekit/v1/events → scalekit_sdk_python-2.4.15/scalekit/v1/connected_accounts}/__init__.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/connected_accounts/connected_accounts_pb2.pyi +0 -0
- {scalekit_sdk_python-2.4.13/scalekit/v1/errdetails → scalekit_sdk_python-2.4.15/scalekit/v1/connections}/__init__.py +0 -0
- {scalekit_sdk_python-2.4.13/scalekit/v1/environments → scalekit_sdk_python-2.4.15/scalekit/v1/directories}/__init__.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/directories/directories_pb2.pyi +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/directories/directories_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.4.13/scalekit/v1/emails → scalekit_sdk_python-2.4.15/scalekit/v1/domains}/__init__.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/domains/domains_pb2.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/domains/domains_pb2.pyi +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/domains/domains_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.4.13/scalekit/v1/domains → scalekit_sdk_python-2.4.15/scalekit/v1/emails}/__init__.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/emails/emails_pb2.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/emails/emails_pb2.pyi +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/emails/emails_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.4.13/scalekit/v1/directories → scalekit_sdk_python-2.4.15/scalekit/v1/environments}/__init__.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/environments/environments_pb2.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/environments/environments_pb2.pyi +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/environments/environments_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.4.13/scalekit/v1/connections → scalekit_sdk_python-2.4.15/scalekit/v1/errdetails}/__init__.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/errdetails/errdetails_pb2.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/errdetails/errdetails_pb2.pyi +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/errdetails/errdetails_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.4.13/scalekit/v1/connected_accounts → scalekit_sdk_python-2.4.15/scalekit/v1/events}/__init__.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/events/events_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.4.13/scalekit/v1/commons → scalekit_sdk_python-2.4.15/scalekit/v1/interceptors}/__init__.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/interceptors/interceptors_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.4.13/scalekit/v1/clients → scalekit_sdk_python-2.4.15/scalekit/v1/mcp}/__init__.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/mcp/mcp_pb2.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/mcp/mcp_pb2.pyi +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/mcp/mcp_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.4.13/scalekit/v1/auth → scalekit_sdk_python-2.4.15/scalekit/v1/members}/__init__.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/members/members_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.4.13/scalekit/v1/auditlogs → scalekit_sdk_python-2.4.15/scalekit/v1/migrations}/__init__.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/migrations/migrations_pb2.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/migrations/migrations_pb2.pyi +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/migrations/migrations_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.4.13/scalekit/v1 → scalekit_sdk_python-2.4.15/scalekit/v1/options}/__init__.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/options/options_pb2.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/options/options_pb2.pyi +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/options/options_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.4.13/scalekit/utils → scalekit_sdk_python-2.4.15/scalekit/v1/organizations}/__init__.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/organizations/organizations_pb2.pyi +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/organizations/organizations_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.4.13/scalekit/constants → scalekit_sdk_python-2.4.15/scalekit/v1/providers}/__init__.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/providers/providers_pb2.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/providers/providers_pb2.pyi +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/providers/providers_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.4.13/scalekit/common → scalekit_sdk_python-2.4.15/scalekit/v1/roles}/__init__.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/roles/roles_pb2.pyi +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/roles/roles_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.4.13/scalekit/actions/models/responses → scalekit_sdk_python-2.4.15/scalekit/v1/secrets}/__init__.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/secrets/secrets_pb2.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/secrets/secrets_pb2.pyi +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/secrets/secrets_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.4.13/scalekit/actions/models/requests → scalekit_sdk_python-2.4.15/scalekit/v1/sessions}/__init__.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/sessions/sessions_pb2.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/sessions/sessions_pb2.pyi +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/sessions/sessions_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.4.13/scalekit/actions/models → scalekit_sdk_python-2.4.15/scalekit/v1/tokens}/__init__.py +0 -0
- {scalekit_sdk_python-2.4.13/scalekit/actions/frameworks → scalekit_sdk_python-2.4.15/scalekit/v1/tools}/__init__.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/tools/tools_pb2.pyi +0 -0
- {scalekit_sdk_python-2.4.13/buf/validate/priv → scalekit_sdk_python-2.4.15/scalekit/v1/user_attributes}/__init__.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/user_attributes/user_attributes_pb2.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/user_attributes/user_attributes_pb2.pyi +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/user_attributes/user_attributes_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.4.13/buf/validate → scalekit_sdk_python-2.4.15/scalekit/v1/users}/__init__.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/users/users_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.4.13/buf → scalekit_sdk_python-2.4.15/scalekit/v1/webhooks}/__init__.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/webhooks/webhooks_pb2.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/webhooks/webhooks_pb2.pyi +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/webhooks/webhooks_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit_sdk_python.egg-info/dependency_links.txt +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit_sdk_python.egg-info/top_level.txt +0 -0
- {scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/setup.cfg +0 -0
{scalekit_sdk_python-2.4.13/scalekit_sdk_python.egg-info → scalekit_sdk_python-2.4.15}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: scalekit-sdk-python
|
|
3
|
-
Version: 2.4.
|
|
3
|
+
Version: 2.4.15
|
|
4
4
|
Summary: Scalekit official Python SDK
|
|
5
5
|
Home-page: https://github.com/scalekit-inc/scalekit-sdk-python
|
|
6
6
|
Author: Team Scalekit
|
|
@@ -12,21 +12,21 @@ Classifier: Operating System :: OS Independent
|
|
|
12
12
|
Description-Content-Type: text/markdown
|
|
13
13
|
License-File: LICENSE
|
|
14
14
|
Requires-Dist: grpcio>=1.64.1
|
|
15
|
-
Requires-Dist: protobuf
|
|
15
|
+
Requires-Dist: protobuf<=6.32.0,>=5.26.1
|
|
16
16
|
Requires-Dist: google>=3.0
|
|
17
17
|
Requires-Dist: requests>=2.32.3
|
|
18
|
-
Requires-Dist: PyJWT<2.
|
|
18
|
+
Requires-Dist: PyJWT<2.11,>=2.8
|
|
19
19
|
Requires-Dist: cffi>=1.15.1
|
|
20
20
|
Requires-Dist: cryptography==45.0.6
|
|
21
|
-
Requires-Dist: setuptools
|
|
21
|
+
Requires-Dist: setuptools<81.0,>=78.1.1
|
|
22
22
|
Requires-Dist: grpcio-status<1.67,>=1.64
|
|
23
23
|
Requires-Dist: protoc-gen-openapiv2>=0.0.1
|
|
24
24
|
Requires-Dist: googleapis-common-protos<1.66.0,>=1.56.1
|
|
25
25
|
Requires-Dist: deprecation>=2.1.0
|
|
26
|
-
Requires-Dist: python-dotenv
|
|
26
|
+
Requires-Dist: python-dotenv~=1.1.1
|
|
27
27
|
Requires-Dist: Faker~=25.8.0
|
|
28
28
|
Requires-Dist: pydantic>=2.10.6
|
|
29
|
-
Requires-Dist: mcp>=1.
|
|
29
|
+
Requires-Dist: mcp>=1.23.0
|
|
30
30
|
Dynamic: author
|
|
31
31
|
Dynamic: author-email
|
|
32
32
|
Dynamic: classifier
|
|
@@ -24,6 +24,7 @@ from scalekit.passwordless import PasswordlessClient
|
|
|
24
24
|
from scalekit.mcp import McpClient
|
|
25
25
|
from scalekit.sessions import SessionsClient
|
|
26
26
|
from scalekit.auth import AuthClient
|
|
27
|
+
from scalekit.webauthn import WebAuthnClient
|
|
27
28
|
from scalekit.common.scalekit import (
|
|
28
29
|
AuthorizationUrlOptions,
|
|
29
30
|
CodeAuthenticationOptions,
|
|
@@ -78,6 +79,7 @@ class ScalekitClient:
|
|
|
78
79
|
self.passwordless = PasswordlessClient(self.core_client)
|
|
79
80
|
self.sessions = SessionsClient(self.core_client)
|
|
80
81
|
self.auth = AuthClient(self.core_client)
|
|
82
|
+
self.webauthn = WebAuthnClient(self.core_client)
|
|
81
83
|
except Exception as exp:
|
|
82
84
|
raise exp
|
|
83
85
|
|
|
@@ -139,7 +141,6 @@ class ScalekitClient:
|
|
|
139
141
|
"""
|
|
140
142
|
try:
|
|
141
143
|
response = self.core_client.authenticate(
|
|
142
|
-
json.dumps(
|
|
143
144
|
{
|
|
144
145
|
"code": code,
|
|
145
146
|
"redirect_uri": redirect_uri,
|
|
@@ -148,12 +149,13 @@ class ScalekitClient:
|
|
|
148
149
|
"client_secret": self.core_client.client_secret,
|
|
149
150
|
"code_verifier": options.code_verifier,
|
|
150
151
|
}
|
|
151
|
-
)
|
|
152
152
|
)
|
|
153
153
|
response = json.loads(response.content)
|
|
154
154
|
id_token = response["id_token"]
|
|
155
155
|
access_token = response["access_token"]
|
|
156
156
|
refresh_token = response.get("refresh_token")
|
|
157
|
+
expires_in = response.get("expires_in")
|
|
158
|
+
|
|
157
159
|
# Validate id_token
|
|
158
160
|
claims = self.validate_token(id_token, options=None)
|
|
159
161
|
user = {}
|
|
@@ -170,7 +172,8 @@ class ScalekitClient:
|
|
|
170
172
|
"access_token": access_token,
|
|
171
173
|
"refresh_token": refresh_token,
|
|
172
174
|
"connection_id": connection_id,
|
|
173
|
-
"organization_id": organization_id
|
|
175
|
+
"organization_id": organization_id,
|
|
176
|
+
"expires_in": expires_in
|
|
174
177
|
}
|
|
175
178
|
|
|
176
179
|
except jwt.exceptions.InvalidTokenError as exp:
|
|
@@ -211,13 +214,11 @@ class ScalekitClient:
|
|
|
211
214
|
"""
|
|
212
215
|
try:
|
|
213
216
|
response = self.core_client.authenticate(
|
|
214
|
-
json.dumps(
|
|
215
217
|
{
|
|
216
218
|
"grant_type": GrantType.ClientCredentials.value,
|
|
217
219
|
"client_id": client_id,
|
|
218
220
|
"client_secret": client_secret,
|
|
219
221
|
}
|
|
220
|
-
)
|
|
221
222
|
)
|
|
222
223
|
response = json.loads(response.content)
|
|
223
224
|
return response
|
|
@@ -514,14 +515,12 @@ class ScalekitClient:
|
|
|
514
515
|
"""
|
|
515
516
|
try:
|
|
516
517
|
response = self.core_client.authenticate(
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
}
|
|
524
|
-
)
|
|
518
|
+
{
|
|
519
|
+
"refresh_token": refresh_token,
|
|
520
|
+
"grant_type": GrantType.RefreshToken.value,
|
|
521
|
+
"client_id": self.core_client.client_id,
|
|
522
|
+
"client_secret": self.core_client.client_secret,
|
|
523
|
+
}
|
|
525
524
|
)
|
|
526
525
|
response = json.loads(response.content)
|
|
527
526
|
return {
|
|
@@ -26,8 +26,8 @@ class WithCall(Protocol):
|
|
|
26
26
|
class CoreClient:
|
|
27
27
|
"""Class definition for Core Client"""
|
|
28
28
|
|
|
29
|
-
sdk_version = "Scalekit-Python/2.4.
|
|
30
|
-
api_version = "
|
|
29
|
+
sdk_version = "Scalekit-Python/2.4.15"
|
|
30
|
+
api_version = "20251215"
|
|
31
31
|
user_agent = f"{sdk_version} Python/{platform.python_version()} ({platform.system()}; {platform.architecture()}"
|
|
32
32
|
|
|
33
33
|
def __init__(self, env_url, client_id, client_secret):
|
|
@@ -83,13 +83,13 @@ class CoreClient:
|
|
|
83
83
|
"client_secret": self.client_secret,
|
|
84
84
|
}
|
|
85
85
|
|
|
86
|
-
response = self.authenticate(data=
|
|
86
|
+
response = self.authenticate(data=params)
|
|
87
87
|
if response.status_code != 200:
|
|
88
88
|
raise ScalekitServerException.promote(response)
|
|
89
89
|
response = json.loads(response.content)
|
|
90
90
|
self.access_token = response["access_token"]
|
|
91
91
|
|
|
92
|
-
def authenticate(self, data:
|
|
92
|
+
def authenticate(self, data: dict):
|
|
93
93
|
"""
|
|
94
94
|
Method to execute post request for authentication with given user params
|
|
95
95
|
|
|
@@ -100,7 +100,7 @@ class CoreClient:
|
|
|
100
100
|
response = requests.post(
|
|
101
101
|
self.env_url + TOKEN_ENDPOINT,
|
|
102
102
|
headers=self.get_headers(headers=headers),
|
|
103
|
-
data=
|
|
103
|
+
data=data,
|
|
104
104
|
verify=True,
|
|
105
105
|
)
|
|
106
106
|
if response.status_code != 200:
|
|
@@ -25,7 +25,7 @@ from scalekit.v1.connections import connections_pb2 as scalekit_dot_v1_dot_conne
|
|
|
25
25
|
from scalekit.v1.options import options_pb2 as scalekit_dot_v1_dot_options_dot_options__pb2
|
|
26
26
|
|
|
27
27
|
|
|
28
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bscalekit/v1/auth/auth.proto\x12\x10scalekit.v1.auth\x1a\x1b\x62uf/validate/validate.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1bgoogle/api/visibility.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\x1a!scalekit/v1/commons/commons.proto\x1a)scalekit/v1/connections/connections.proto\x1a!scalekit/v1/options/options.proto\"0\n\x16ListAuthMethodsRequest\x12\x16\n\x06intent\x18\x01 \x01(\tR\x06intent\"Z\n\x17ListAuthMethodsResponse\x12?\n\x0c\x61uth_methods\x18\x01 \x03(\x0b\x32\x1c.scalekit.v1.auth.AuthMethodR\x0b\x61uthMethods\"\x89\t\n\nAuthMethod\x12}\n\rconnection_id\x18\x01 \x01(\tBX\x92\x41L22Unique identifier for the connection to be toggledJ\x16\"conn_121312434123312\"\xbaH\x06r\x04\x10\x01\x18 R\x0c\x63onnectionId\x12P\n\x0f\x63onnection_type\x18\x02 \x01(\x0e\x32\'.scalekit.v1.connections.ConnectionTypeR\x0e\x63onnectionType\x12\x1a\n\x08provider\x18\x03 \x01(\tR\x08provider\x12\x93\x01\n\x13\x61uth_initiation_uri\x18\x04 \x01(\tBc\x92\x41V2\x1eURI to initiate the connectionJ4\"https://sso.acmecorp.com/sso/v1/oidc/conn_123/init\"\xbaH\x07r\x05\x10\x01\x18\xff\x01R\x11\x61uthInitiationUri\x12z\n\x11passwordless_type\x18\x05 \x01(\x0e\x32).scalekit.v1.connections.PasswordlessTypeB\x1d\x92\x41\x1a\x32\x11Passwordless typeJ\x05\"OTP\"H\x00R\x10passwordlessType\x88\x01\x01\x12W\n\x15\x63ode_challenge_length\x18\x06 \x01(\rB\x1e\x92\x41\x1b\x32\x16Length of the OTP codeJ\x01\x36H\x01R\x13\x63odeChallengeLength\x88\x01\x01\x12\xa3\x01\n!enable_webauthn_auto_registration\x18\x07 \x01(\x08\x42S\x92\x41P2GIndicates if WebAuthn auto-registration is enabled for this auth method:\x05\x66\x61lseH\x02R\x1e\x65nableWebauthnAutoRegistration\x88\x01\x01\x12\x63\n\x13show_passkey_button\x18\x08 \x01(\x08\x42.\x92\x41+2#Show passkey button on login screen:\x04trueH\x03R\x11showPasskeyButton\x88\x01\x01\x12\x83\x01\n!enable_webauthn_conditional_login\x18\t \x01(\x08\x42\x33\x92\x41\x30\x32(Allow autofill of passkeys in login page:\x04trueH\x04R\x1e\x65nableWebauthnConditionalLogin\x88\x01\x01\x42\x14\n\x12_passwordless_typeB\x18\n\x16_code_challenge_lengthB$\n\"_enable_webauthn_auto_registrationB\x16\n\x14_show_passkey_buttonB$\n\"_enable_webauthn_conditional_login\"m\n\x1a\x44iscoveryAuthMethodRequest\x12O\n\x11\x64iscovery_request\x18\x02 \x01(\x0b\x32\".scalekit.v1.auth.DiscoveryRequestR\x10\x64iscoveryRequest\"\xb3\x01\n\x10\x44iscoveryRequest\x12\x63\n\x05\x65mail\x18\x01 \x01(\tBM\x92\x41\x41\x32*user identifier like email or phone numberJ\x13\"john@acmecorp.com\"\xbaH\x06r\x04\x10\x03\x18\x64R\x05\x65mail\x12:\n\x06intent\x18\x02 \x01(\x0e\x32\x18.scalekit.v1.auth.IntentB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x06intent\"\\\n\x1b\x44iscoveryAuthMethodResponse\x12=\n\x0b\x61uth_method\x18\x01 \x01(\x0b\x32\x1c.scalekit.v1.auth.AuthMethodR\nauthMethod\"\x1e\n\x1cGetAuthCustomizationsRequest\"o\n\x1dGetAuthCustomizationsResponse\x12N\n\x16\x63ustomization_settings\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructR\x15\x63ustomizationSettings\"N\n\x17GetAuthFeaturesResponse\x12\x33\n\x08\x66\x65\x61tures\x18\x01 \x01(\x0b\x32\x17.google.protobuf.StructR\x08\x66\x65\x61tures\"R\n\x19VerifyPasswordLessRequest\x12\x35\n\x07otp_req\x18\x02 \x01(\x0b\x32\x1c.scalekit.v1.auth.OTPRequestR\x06otpReq\"\x1c\n\x1aVerifyPasswordLessResponse\"i\n\nOTPRequest\x12[\n\x0e\x63ode_challenge\x18\x01 \x01(\tB4\x92\x41(2\x1cOTP sent to the user\'s emailJ\x08\"123456\"\xbaH\x06r\x04\x10\x05\x18\x06R\rcodeChallenge\"\xd4\x01\n\x1dListUserOrganizationsResponse\x12\x44\n\rorganizations\x18\x01 \x03(\x0b\x32\x1e.scalekit.v1.auth.OrganizationR\rorganizations\x12\x31\n\x04user\x18\x02 \x01(\x0b\x32\x1d.scalekit.v1.auth.UserDetailsR\x04user\x12:\n\x06intent\x18\x03 \x01(\x0e\x32\x18.scalekit.v1.auth.IntentB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x06intent\"\x8b\x04\n\x0cOrganization\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12+\n\x11membership_status\x18\x03 \x01(\tR\x10membershipStatus\x12=\n\x18invitation_inviter_email\x18\x04 \x01(\tH\x00R\x16invitationInviterEmail\x88\x01\x01\x12U\n\x16invitation_accepted_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01R\x14invitationAcceptedAt\x88\x01\x01\x12S\n\x15invitation_created_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x02R\x13invitationCreatedAt\x88\x01\x01\x12S\n\x15invitation_expires_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x03R\x13invitationExpiresAt\x88\x01\x01\x42\x1b\n\x19_invitation_inviter_emailB\x19\n\x17_invitation_accepted_atB\x18\n\x16_invitation_created_atB\x18\n\x16_invitation_expires_at\"_\n\x0bUserDetails\x12\x14\n\x05\x65mail\x18\x01 \x01(\tR\x05\x65mail\x12\x1d\n\nfirst_name\x18\x02 \x01(\tR\tfirstName\x12\x1b\n\tlast_name\x18\x03 \x01(\tR\x08lastName\"\xc4\x01\n\x19SignupOrganizationRequest\x12+\n\x11organization_name\x18\x01 \x01(\tR\x10organizationName\x12\x1d\n\nfirst_name\x18\x02 \x01(\tR\tfirstName\x12\x1b\n\tlast_name\x18\x03 \x01(\tR\x08lastName\x12\x1b\n\tfull_name\x18\x04 \x01(\tR\x08\x66ullName\x12!\n\x0cphone_number\x18\x05 \x01(\tR\x0bphoneNumber\"r\n\x1aSignupOrganizationResponse\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12+\n\x11organization_name\x18\x02 \x01(\tR\x10organizationName\"\xd6\x02\n\x1dUpdateLoginUserDetailsRequest\x12v\n\rconnection_id\x18\x01 \x01(\tBQ\x92\x41\x45\x32+Connection ID. Unique ID for the connectionJ\x16\"conn_121312434123312\"\xbaH\x06r\x04\x10\x01\x18 R\x0c\x63onnectionId\x12\x90\x01\n\x10login_request_id\x18\x02 \x01(\tBf\x92\x41]2BLogin Request ID that was shared as part of authorization initiateJ\x17\"lri_73415099636808061\"\xbaH\x03\xc8\x01\x01R\x0eloginRequestId\x12*\n\x04user\x18\x03 \x01(\x0b\x32\x16.scalekit.v1.auth.UserR\x04user\"\x90\x0c\n\x04User\x12\x83\x01\n\x03sub\x18\x01 \x01(\tBq\x92\x41g2WSubject identifier for the user (typically a unique user ID from the identity provider)J\x0c\"1234567890\"\xbaH\x04r\x02\x10\x01R\x03sub\x12R\n\x05\x65mail\x18\x02 \x01(\tB<\x92\x41\x32\x32\x1cUser\'s primary email addressJ\x12\"user@example.com\"\xbaH\x04r\x02\x10\x01R\x05\x65mail\x12=\n\ngiven_name\x18\x03 \x01(\tB\x1e\x92\x41\x1b\x32\x11User\'s first nameJ\x06\"John\"R\tgivenName\x12=\n\x0b\x66\x61mily_name\x18\x04 \x01(\tB\x1c\x92\x41\x19\x32\x10User\'s last nameJ\x05\"Doe\"R\nfamilyName\x12\x88\x01\n\x0e\x65mail_verified\x18\x05 \x01(\x08\x42\x61\x92\x41^2VIndicates whether the user\'s email address has been verified by the identity provider.J\x04trueR\remailVerified\x12\x63\n\x0cphone_number\x18\x06 \x01(\tB@\x92\x41=2,User\'s primary phone number in E.164 format.J\r\"+1234567890\"R\x0bphoneNumber\x12\x95\x01\n\x15phone_number_verified\x18\x07 \x01(\x08\x42\x61\x92\x41^2UIndicates whether the user\'s phone number has been verified by the identity provider.J\x05\x66\x61lseR\x13phoneNumberVerified\x12\x42\n\x04name\x18\x08 \x01(\tB.\x92\x41+2\x1d\x46ull display name of the userJ\n\"John Doe\"R\x04name\x12\x62\n\x12preferred_username\x18\t \x01(\tB3\x92\x41\x30\x32#User\'s preferred username or handleJ\t\"johndoe\"R\x11preferredUsername\x12\x62\n\x07picture\x18\n \x01(\tBH\x92\x41\x45\x32!URL to the user\'s profile pictureJ \"https://example.com/avatar.jpg\"R\x07picture\x12X\n\x06gender\x18\x0b \x01(\tB@\x92\x41=23User\'s gender as reported by the identity provider.J\x06\"male\"R\x06gender\x12\x65\n\x06locale\x18\x0c \x01(\tBM\x92\x41J2?User\'s locale or language preference (IETF BCP 47 language tag)J\x07\"en-US\"R\x06locale\x12\x66\n\x06groups\x18\r \x03(\tBN\x92\x41K2/List of group names or IDs the user belongs to.J\x18[\"admins\", \"developers\"]R\x06groups\x12\xf2\x01\n\x11\x63ustom_attributes\x18\x0e \x01(\x0b\x32\x17.google.protobuf.StructB\xab\x01\x92\x41\xa7\x01\x32mCustom attributes for the user, represented as a key-value map. Used for additional identity provider claims.J6{\"department\": \"Engineering\", \"employee_id\": \"E12345\"}R\x10\x63ustomAttributes\"R\n\x14GetAuthStateResponse\x12:\n\nauth_state\x18\x01 \x01(\x0e\x32\x1b.scalekit.v1.auth.AuthStateR\tauthState\"\x8c\x01\n\x13GetAuthErrorRequest\x12u\n\x08\x65rror_id\x18\x01 \x01(\tBZ\x92\x41H2.Unique identifier for the authentication errorJ\x16\"err_1234567890abcdef\"\xbaH\x0cr\n\x10\x01\x18@:\x04\x65rr_R\x07\x65rrorId\"Y\n\x14GetAuthErrorResponse\x12\x14\n\x05\x65rror\x18\x01 \x01(\tR\x05\x65rror\x12+\n\x11\x65rror_description\x18\x02 \x01(\tR\x10\x65rrorDescription*:\n\x06Intent\x12\x16\n\x12INTENT_UNSPECIFIED\x10\x00\x12\x0b\n\x07sign_in\x10\x01\x12\x0b\n\x07sign_up\x10\x02*\xb5\x03\n\tAuthState\x12\x1a\n\x16\x41UTH_STATE_UNSPECIFIED\x10\x00\x12\x1e\n\x1a\x41UTHENTICATION_IN_PROGRESS\x10\x01\x12\x19\n\x15ORGANIZATION_SWITCHER\x10\x02\x12\x19\n\x15ORGANIZATION_SELECTED\x10\x03\x12\x17\n\x13ORGANIZATION_SIGNUP\x10\x04\x12 \n\x1cORGANIZATION_SWITCHER_SIGNUP\x10\x05\x12\x1c\n\x18OTP_VERIFICATION_PENDING\x10\x06\x12\x13\n\x0fMAGIC_LINK_SENT\x10\x07\x12&\n\"LINK_SENT_OTP_VERIFICATION_PENDING\x10\x08\x12\x10\n\x0cOTP_VERIFIED\x10\t\x12\x11\n\rLINK_VERIFIED\x10\n\x12\x15\n\x11SSO_AUTHENTICATED\x10\x0b\x12\x14\n\x10ORG_USER_CREATED\x10\x0c\x12\x1c\n\x18\x41UTHENTICATION_COMPLETED\x10\r\x12\x19\n\x15\x41UTHENTICATION_FAILED\x10\x0e\x12\x15\n\x11WEBAUTHN_VERIFIED\x10\x0f\x32\xa1\x10\n\x0b\x41uthService\x12\x98\x01\n\x0fListAuthMethods\x12(.scalekit.v1.auth.ListAuthMethodsRequest\x1a).scalekit.v1.auth.ListAuthMethodsResponse\"0\x82\xb5\x18\x02\x18\x01\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02\x15\x12\x13/api/v1/authmethods\x12\xba\x01\n\x13\x44iscoveryAuthMethod\x12,.scalekit.v1.auth.DiscoveryAuthMethodRequest\x1a-.scalekit.v1.auth.DiscoveryAuthMethodResponse\"F\x82\xb5\x18\x02\x18\x01\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02+\"\x16/api/v1/auth:discovery:\x11\x64iscovery_request\x12\xba\x01\n\x15VerifyPasswordLessOtp\x12+.scalekit.v1.auth.VerifyPasswordLessRequest\x1a,.scalekit.v1.auth.VerifyPasswordLessResponse\"F\x82\xb5\x18\x02\x18\x01\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02+\" /api/v1/auth/passwordless:verify:\x07otp_req\x12\x83\x01\n\x12ResendPasswordless\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"=\x82\xb5\x18\x02\x18\x01\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02\"\" /api/v1/auth/passwordless:resend\x12\x99\x01\n\x15ListUserOrganizations\x12\x16.google.protobuf.Empty\x1a/.scalekit.v1.auth.ListUserOrganizationsResponse\"7\x82\xb5\x18\x02\x18\x01\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02\x1c\x12\x1a/api/v1/auth:organizations\x12\xa4\x01\n\x12SignupOrganization\x12+.scalekit.v1.auth.SignupOrganizationRequest\x1a,.scalekit.v1.auth.SignupOrganizationResponse\"3\x82\xb5\x18\x02\x18\x01\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02\x18\"\x13/api/v1/auth:signup:\x01*\x12\x7f\n\x0cGetAuthState\x12\x16.google.protobuf.Empty\x1a&.scalekit.v1.auth.GetAuthStateResponse\"/\x82\xb5\x18\x02\x18\x01\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02\x14\x12\x12/api/v1/auth/state\x12\xb6\x01\n\x0cGetAuthError\x12%.scalekit.v1.auth.GetAuthErrorRequest\x1a&.scalekit.v1.auth.GetAuthErrorResponse\"W\x82\xb5\x18\x02\x18\x01\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02<\x12\x19/api/v1/errors/{error_id}Z\x1f\x12\x1d/api/v1/auth/error/{error_id}\x12j\n\x06Logout\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"0\x82\xb5\x18\x02\x18\x01\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02\x15\"\x13/api/v1/auth/logout\x12\xb2\x01\n\x15GetAuthCustomizations\x12..scalekit.v1.auth.GetAuthCustomizationsRequest\x1a/.scalekit.v1.auth.GetAuthCustomizationsResponse\"8\x82\xb5\x18\x02\x18\x01\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02\x1d\x12\x1b/api/v1/auth:customizations\x12\x88\x01\n\x0fGetAuthFeatures\x12\x16.google.protobuf.Empty\x1a).scalekit.v1.auth.GetAuthFeaturesResponse\"2\x82\xb5\x18\x02\x18\x01\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02\x17\x12\x15/api/v1/auth:features\x12\xcd\x02\n\x16UpdateLoginUserDetails\x12/.scalekit.v1.auth.UpdateLoginUserDetailsRequest\x1a\x16.google.protobuf.Empty\"\xe9\x01\x92\x41z\n\x0b\x43onnections\x12%Update User Details for login request\x1a%Update User Details for login requestJ\x1d\n\x03\x32\x30\x30\x12\x16\n\x14\x44\x65leted Successfully\x82\xb5\x18\x02\x18\x04\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02Q\"I/api/v1/connections/{connection_id}/auth-requests/{login_request_id}/user:\x04userB0Z.github.com/scalekit-inc/scalekit/pkg/grpc/authb\x06proto3')
|
|
28
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bscalekit/v1/auth/auth.proto\x12\x10scalekit.v1.auth\x1a\x1b\x62uf/validate/validate.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1bgoogle/api/visibility.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\x1a!scalekit/v1/commons/commons.proto\x1a)scalekit/v1/connections/connections.proto\x1a!scalekit/v1/options/options.proto\"0\n\x16ListAuthMethodsRequest\x12\x16\n\x06intent\x18\x01 \x01(\tR\x06intent\"Z\n\x17ListAuthMethodsResponse\x12?\n\x0c\x61uth_methods\x18\x01 \x03(\x0b\x32\x1c.scalekit.v1.auth.AuthMethodR\x0b\x61uthMethods\"\x89\t\n\nAuthMethod\x12}\n\rconnection_id\x18\x01 \x01(\tBX\x92\x41L22Unique identifier for the connection to be toggledJ\x16\"conn_121312434123312\"\xbaH\x06r\x04\x10\x01\x18 R\x0c\x63onnectionId\x12P\n\x0f\x63onnection_type\x18\x02 \x01(\x0e\x32\'.scalekit.v1.connections.ConnectionTypeR\x0e\x63onnectionType\x12\x1a\n\x08provider\x18\x03 \x01(\tR\x08provider\x12\x93\x01\n\x13\x61uth_initiation_uri\x18\x04 \x01(\tBc\x92\x41V2\x1eURI to initiate the connectionJ4\"https://sso.acmecorp.com/sso/v1/oidc/conn_123/init\"\xbaH\x07r\x05\x10\x01\x18\xff\x01R\x11\x61uthInitiationUri\x12z\n\x11passwordless_type\x18\x05 \x01(\x0e\x32).scalekit.v1.connections.PasswordlessTypeB\x1d\x92\x41\x1a\x32\x11Passwordless typeJ\x05\"OTP\"H\x00R\x10passwordlessType\x88\x01\x01\x12W\n\x15\x63ode_challenge_length\x18\x06 \x01(\rB\x1e\x92\x41\x1b\x32\x16Length of the OTP codeJ\x01\x36H\x01R\x13\x63odeChallengeLength\x88\x01\x01\x12\xa3\x01\n!enable_webauthn_auto_registration\x18\x07 \x01(\x08\x42S\x92\x41P2GIndicates if WebAuthn auto-registration is enabled for this auth method:\x05\x66\x61lseH\x02R\x1e\x65nableWebauthnAutoRegistration\x88\x01\x01\x12\x63\n\x13show_passkey_button\x18\x08 \x01(\x08\x42.\x92\x41+2#Show passkey button on login screen:\x04trueH\x03R\x11showPasskeyButton\x88\x01\x01\x12\x83\x01\n!enable_webauthn_conditional_login\x18\t \x01(\x08\x42\x33\x92\x41\x30\x32(Allow autofill of passkeys in login page:\x04trueH\x04R\x1e\x65nableWebauthnConditionalLogin\x88\x01\x01\x42\x14\n\x12_passwordless_typeB\x18\n\x16_code_challenge_lengthB$\n\"_enable_webauthn_auto_registrationB\x16\n\x14_show_passkey_buttonB$\n\"_enable_webauthn_conditional_login\"m\n\x1a\x44iscoveryAuthMethodRequest\x12O\n\x11\x64iscovery_request\x18\x02 \x01(\x0b\x32\".scalekit.v1.auth.DiscoveryRequestR\x10\x64iscoveryRequest\"\xb3\x01\n\x10\x44iscoveryRequest\x12\x63\n\x05\x65mail\x18\x01 \x01(\tBM\x92\x41\x41\x32*user identifier like email or phone numberJ\x13\"john@acmecorp.com\"\xbaH\x06r\x04\x10\x03\x18\x64R\x05\x65mail\x12:\n\x06intent\x18\x02 \x01(\x0e\x32\x18.scalekit.v1.auth.IntentB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x06intent\"\\\n\x1b\x44iscoveryAuthMethodResponse\x12=\n\x0b\x61uth_method\x18\x01 \x01(\x0b\x32\x1c.scalekit.v1.auth.AuthMethodR\nauthMethod\"\x1e\n\x1cGetAuthCustomizationsRequest\"o\n\x1dGetAuthCustomizationsResponse\x12N\n\x16\x63ustomization_settings\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructR\x15\x63ustomizationSettings\"N\n\x17GetAuthFeaturesResponse\x12\x33\n\x08\x66\x65\x61tures\x18\x01 \x01(\x0b\x32\x17.google.protobuf.StructR\x08\x66\x65\x61tures\"U\n\x1cVerifyPasswordLessOtpRequest\x12\x35\n\x07otp_req\x18\x02 \x01(\x0b\x32\x1c.scalekit.v1.auth.OTPRequestR\x06otpReq\"\x1f\n\x1dVerifyPasswordLessOtpResponse\"i\n\nOTPRequest\x12[\n\x0e\x63ode_challenge\x18\x01 \x01(\tB4\x92\x41(2\x1cOTP sent to the user\'s emailJ\x08\"123456\"\xbaH\x06r\x04\x10\x05\x18\x06R\rcodeChallenge\"\xd4\x01\n\x1dListUserOrganizationsResponse\x12\x44\n\rorganizations\x18\x01 \x03(\x0b\x32\x1e.scalekit.v1.auth.OrganizationR\rorganizations\x12\x31\n\x04user\x18\x02 \x01(\x0b\x32\x1d.scalekit.v1.auth.UserDetailsR\x04user\x12:\n\x06intent\x18\x03 \x01(\x0e\x32\x18.scalekit.v1.auth.IntentB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x06intent\"\x8b\x04\n\x0cOrganization\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12+\n\x11membership_status\x18\x03 \x01(\tR\x10membershipStatus\x12=\n\x18invitation_inviter_email\x18\x04 \x01(\tH\x00R\x16invitationInviterEmail\x88\x01\x01\x12U\n\x16invitation_accepted_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01R\x14invitationAcceptedAt\x88\x01\x01\x12S\n\x15invitation_created_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x02R\x13invitationCreatedAt\x88\x01\x01\x12S\n\x15invitation_expires_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x03R\x13invitationExpiresAt\x88\x01\x01\x42\x1b\n\x19_invitation_inviter_emailB\x19\n\x17_invitation_accepted_atB\x18\n\x16_invitation_created_atB\x18\n\x16_invitation_expires_at\"_\n\x0bUserDetails\x12\x14\n\x05\x65mail\x18\x01 \x01(\tR\x05\x65mail\x12\x1d\n\nfirst_name\x18\x02 \x01(\tR\tfirstName\x12\x1b\n\tlast_name\x18\x03 \x01(\tR\x08lastName\"\xc4\x01\n\x19SignupOrganizationRequest\x12+\n\x11organization_name\x18\x01 \x01(\tR\x10organizationName\x12\x1d\n\nfirst_name\x18\x02 \x01(\tR\tfirstName\x12\x1b\n\tlast_name\x18\x03 \x01(\tR\x08lastName\x12\x1b\n\tfull_name\x18\x04 \x01(\tR\x08\x66ullName\x12!\n\x0cphone_number\x18\x05 \x01(\tR\x0bphoneNumber\"r\n\x1aSignupOrganizationResponse\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12+\n\x11organization_name\x18\x02 \x01(\tR\x10organizationName\"\xd6\x02\n\x1dUpdateLoginUserDetailsRequest\x12v\n\rconnection_id\x18\x01 \x01(\tBQ\x92\x41\x45\x32+Connection ID. Unique ID for the connectionJ\x16\"conn_121312434123312\"\xbaH\x06r\x04\x10\x01\x18 R\x0c\x63onnectionId\x12\x90\x01\n\x10login_request_id\x18\x02 \x01(\tBf\x92\x41]2BLogin Request ID that was shared as part of authorization initiateJ\x17\"lri_73415099636808061\"\xbaH\x03\xc8\x01\x01R\x0eloginRequestId\x12*\n\x04user\x18\x03 \x01(\x0b\x32\x16.scalekit.v1.auth.UserR\x04user\"\x90\x0c\n\x04User\x12\x83\x01\n\x03sub\x18\x01 \x01(\tBq\x92\x41g2WSubject identifier for the user (typically a unique user ID from the identity provider)J\x0c\"1234567890\"\xbaH\x04r\x02\x10\x01R\x03sub\x12R\n\x05\x65mail\x18\x02 \x01(\tB<\x92\x41\x32\x32\x1cUser\'s primary email addressJ\x12\"user@example.com\"\xbaH\x04r\x02\x10\x01R\x05\x65mail\x12=\n\ngiven_name\x18\x03 \x01(\tB\x1e\x92\x41\x1b\x32\x11User\'s first nameJ\x06\"John\"R\tgivenName\x12=\n\x0b\x66\x61mily_name\x18\x04 \x01(\tB\x1c\x92\x41\x19\x32\x10User\'s last nameJ\x05\"Doe\"R\nfamilyName\x12\x88\x01\n\x0e\x65mail_verified\x18\x05 \x01(\x08\x42\x61\x92\x41^2VIndicates whether the user\'s email address has been verified by the identity provider.J\x04trueR\remailVerified\x12\x63\n\x0cphone_number\x18\x06 \x01(\tB@\x92\x41=2,User\'s primary phone number in E.164 format.J\r\"+1234567890\"R\x0bphoneNumber\x12\x95\x01\n\x15phone_number_verified\x18\x07 \x01(\x08\x42\x61\x92\x41^2UIndicates whether the user\'s phone number has been verified by the identity provider.J\x05\x66\x61lseR\x13phoneNumberVerified\x12\x42\n\x04name\x18\x08 \x01(\tB.\x92\x41+2\x1d\x46ull display name of the userJ\n\"John Doe\"R\x04name\x12\x62\n\x12preferred_username\x18\t \x01(\tB3\x92\x41\x30\x32#User\'s preferred username or handleJ\t\"johndoe\"R\x11preferredUsername\x12\x62\n\x07picture\x18\n \x01(\tBH\x92\x41\x45\x32!URL to the user\'s profile pictureJ \"https://example.com/avatar.jpg\"R\x07picture\x12X\n\x06gender\x18\x0b \x01(\tB@\x92\x41=23User\'s gender as reported by the identity provider.J\x06\"male\"R\x06gender\x12\x65\n\x06locale\x18\x0c \x01(\tBM\x92\x41J2?User\'s locale or language preference (IETF BCP 47 language tag)J\x07\"en-US\"R\x06locale\x12\x66\n\x06groups\x18\r \x03(\tBN\x92\x41K2/List of group names or IDs the user belongs to.J\x18[\"admins\", \"developers\"]R\x06groups\x12\xf2\x01\n\x11\x63ustom_attributes\x18\x0e \x01(\x0b\x32\x17.google.protobuf.StructB\xab\x01\x92\x41\xa7\x01\x32mCustom attributes for the user, represented as a key-value map. Used for additional identity provider claims.J6{\"department\": \"Engineering\", \"employee_id\": \"E12345\"}R\x10\x63ustomAttributes\"R\n\x14GetAuthStateResponse\x12:\n\nauth_state\x18\x01 \x01(\x0e\x32\x1b.scalekit.v1.auth.AuthStateR\tauthState\"\x8c\x01\n\x13GetAuthErrorRequest\x12u\n\x08\x65rror_id\x18\x01 \x01(\tBZ\x92\x41H2.Unique identifier for the authentication errorJ\x16\"err_1234567890abcdef\"\xbaH\x0cr\n\x10\x01\x18@:\x04\x65rr_R\x07\x65rrorId\"Y\n\x14GetAuthErrorResponse\x12\x14\n\x05\x65rror\x18\x01 \x01(\tR\x05\x65rror\x12+\n\x11\x65rror_description\x18\x02 \x01(\tR\x10\x65rrorDescription*:\n\x06Intent\x12\x16\n\x12INTENT_UNSPECIFIED\x10\x00\x12\x0b\n\x07sign_in\x10\x01\x12\x0b\n\x07sign_up\x10\x02*\xb5\x03\n\tAuthState\x12\x1a\n\x16\x41UTH_STATE_UNSPECIFIED\x10\x00\x12\x1e\n\x1a\x41UTHENTICATION_IN_PROGRESS\x10\x01\x12\x19\n\x15ORGANIZATION_SWITCHER\x10\x02\x12\x19\n\x15ORGANIZATION_SELECTED\x10\x03\x12\x17\n\x13ORGANIZATION_SIGNUP\x10\x04\x12 \n\x1cORGANIZATION_SWITCHER_SIGNUP\x10\x05\x12\x1c\n\x18OTP_VERIFICATION_PENDING\x10\x06\x12\x13\n\x0fMAGIC_LINK_SENT\x10\x07\x12&\n\"LINK_SENT_OTP_VERIFICATION_PENDING\x10\x08\x12\x10\n\x0cOTP_VERIFIED\x10\t\x12\x11\n\rLINK_VERIFIED\x10\n\x12\x15\n\x11SSO_AUTHENTICATED\x10\x0b\x12\x14\n\x10ORG_USER_CREATED\x10\x0c\x12\x1c\n\x18\x41UTHENTICATION_COMPLETED\x10\r\x12\x19\n\x15\x41UTHENTICATION_FAILED\x10\x0e\x12\x15\n\x11WEBAUTHN_VERIFIED\x10\x0f\x32\xa7\x10\n\x0b\x41uthService\x12\x98\x01\n\x0fListAuthMethods\x12(.scalekit.v1.auth.ListAuthMethodsRequest\x1a).scalekit.v1.auth.ListAuthMethodsResponse\"0\x82\xb5\x18\x02\x18\x01\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02\x15\x12\x13/api/v1/authmethods\x12\xba\x01\n\x13\x44iscoveryAuthMethod\x12,.scalekit.v1.auth.DiscoveryAuthMethodRequest\x1a-.scalekit.v1.auth.DiscoveryAuthMethodResponse\"F\x82\xb5\x18\x02\x18\x01\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02+\"\x16/api/v1/auth:discovery:\x11\x64iscovery_request\x12\xc0\x01\n\x15VerifyPasswordLessOtp\x12..scalekit.v1.auth.VerifyPasswordLessOtpRequest\x1a/.scalekit.v1.auth.VerifyPasswordLessOtpResponse\"F\x82\xb5\x18\x02\x18\x01\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02+\" /api/v1/auth/passwordless:verify:\x07otp_req\x12\x83\x01\n\x12ResendPasswordless\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"=\x82\xb5\x18\x02\x18\x01\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02\"\" /api/v1/auth/passwordless:resend\x12\x99\x01\n\x15ListUserOrganizations\x12\x16.google.protobuf.Empty\x1a/.scalekit.v1.auth.ListUserOrganizationsResponse\"7\x82\xb5\x18\x02\x18\x01\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02\x1c\x12\x1a/api/v1/auth:organizations\x12\xa4\x01\n\x12SignupOrganization\x12+.scalekit.v1.auth.SignupOrganizationRequest\x1a,.scalekit.v1.auth.SignupOrganizationResponse\"3\x82\xb5\x18\x02\x18\x01\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02\x18\"\x13/api/v1/auth:signup:\x01*\x12\x7f\n\x0cGetAuthState\x12\x16.google.protobuf.Empty\x1a&.scalekit.v1.auth.GetAuthStateResponse\"/\x82\xb5\x18\x02\x18\x01\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02\x14\x12\x12/api/v1/auth/state\x12\xb6\x01\n\x0cGetAuthError\x12%.scalekit.v1.auth.GetAuthErrorRequest\x1a&.scalekit.v1.auth.GetAuthErrorResponse\"W\x82\xb5\x18\x02\x18\x01\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02<\x12\x19/api/v1/errors/{error_id}Z\x1f\x12\x1d/api/v1/auth/error/{error_id}\x12j\n\x06Logout\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"0\x82\xb5\x18\x02\x18\x01\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02\x15\"\x13/api/v1/auth/logout\x12\xb2\x01\n\x15GetAuthCustomizations\x12..scalekit.v1.auth.GetAuthCustomizationsRequest\x1a/.scalekit.v1.auth.GetAuthCustomizationsResponse\"8\x82\xb5\x18\x02\x18\x01\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02\x1d\x12\x1b/api/v1/auth:customizations\x12\x88\x01\n\x0fGetAuthFeatures\x12\x16.google.protobuf.Empty\x1a).scalekit.v1.auth.GetAuthFeaturesResponse\"2\x82\xb5\x18\x02\x18\x01\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02\x17\x12\x15/api/v1/auth:features\x12\xcd\x02\n\x16UpdateLoginUserDetails\x12/.scalekit.v1.auth.UpdateLoginUserDetailsRequest\x1a\x16.google.protobuf.Empty\"\xe9\x01\x92\x41z\n\x0b\x43onnections\x12%Update User Details for login request\x1a%Update User Details for login requestJ\x1d\n\x03\x32\x30\x30\x12\x16\n\x14\x44\x65leted Successfully\x82\xb5\x18\x02\x18\x04\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02Q\"I/api/v1/connections/{connection_id}/auth-requests/{login_request_id}/user:\x04userB0Z.github.com/scalekit-inc/scalekit/pkg/grpc/authb\x06proto3')
|
|
29
29
|
|
|
30
30
|
_globals = globals()
|
|
31
31
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
@@ -113,10 +113,10 @@ if not _descriptor._USE_C_DESCRIPTORS:
|
|
|
113
113
|
_globals['_AUTHSERVICE'].methods_by_name['GetAuthFeatures']._serialized_options = b'\202\265\030\002\030\001\372\322\344\223\002\t\022\007PREVIEW\202\323\344\223\002\027\022\025/api/v1/auth:features'
|
|
114
114
|
_globals['_AUTHSERVICE'].methods_by_name['UpdateLoginUserDetails']._loaded_options = None
|
|
115
115
|
_globals['_AUTHSERVICE'].methods_by_name['UpdateLoginUserDetails']._serialized_options = b'\222Az\n\013Connections\022%Update User Details for login request\032%Update User Details for login requestJ\035\n\003200\022\026\n\024Deleted Successfully\202\265\030\002\030\004\372\322\344\223\002\t\022\007PREVIEW\202\323\344\223\002Q\"I/api/v1/connections/{connection_id}/auth-requests/{login_request_id}/user:\004user'
|
|
116
|
-
_globals['_INTENT']._serialized_start=
|
|
117
|
-
_globals['_INTENT']._serialized_end=
|
|
118
|
-
_globals['_AUTHSTATE']._serialized_start=
|
|
119
|
-
_globals['_AUTHSTATE']._serialized_end=
|
|
116
|
+
_globals['_INTENT']._serialized_start=5939
|
|
117
|
+
_globals['_INTENT']._serialized_end=5997
|
|
118
|
+
_globals['_AUTHSTATE']._serialized_start=6000
|
|
119
|
+
_globals['_AUTHSTATE']._serialized_end=6437
|
|
120
120
|
_globals['_LISTAUTHMETHODSREQUEST']._serialized_start=423
|
|
121
121
|
_globals['_LISTAUTHMETHODSREQUEST']._serialized_end=471
|
|
122
122
|
_globals['_LISTAUTHMETHODSRESPONSE']._serialized_start=473
|
|
@@ -135,32 +135,32 @@ if not _descriptor._USE_C_DESCRIPTORS:
|
|
|
135
135
|
_globals['_GETAUTHCUSTOMIZATIONSRESPONSE']._serialized_end=2259
|
|
136
136
|
_globals['_GETAUTHFEATURESRESPONSE']._serialized_start=2261
|
|
137
137
|
_globals['_GETAUTHFEATURESRESPONSE']._serialized_end=2339
|
|
138
|
-
_globals['
|
|
139
|
-
_globals['
|
|
140
|
-
_globals['
|
|
141
|
-
_globals['
|
|
142
|
-
_globals['_OTPREQUEST']._serialized_start=
|
|
143
|
-
_globals['_OTPREQUEST']._serialized_end=
|
|
144
|
-
_globals['_LISTUSERORGANIZATIONSRESPONSE']._serialized_start=
|
|
145
|
-
_globals['_LISTUSERORGANIZATIONSRESPONSE']._serialized_end=
|
|
146
|
-
_globals['_ORGANIZATION']._serialized_start=
|
|
147
|
-
_globals['_ORGANIZATION']._serialized_end=
|
|
148
|
-
_globals['_USERDETAILS']._serialized_start=
|
|
149
|
-
_globals['_USERDETAILS']._serialized_end=
|
|
150
|
-
_globals['_SIGNUPORGANIZATIONREQUEST']._serialized_start=
|
|
151
|
-
_globals['_SIGNUPORGANIZATIONREQUEST']._serialized_end=
|
|
152
|
-
_globals['_SIGNUPORGANIZATIONRESPONSE']._serialized_start=
|
|
153
|
-
_globals['_SIGNUPORGANIZATIONRESPONSE']._serialized_end=
|
|
154
|
-
_globals['_UPDATELOGINUSERDETAILSREQUEST']._serialized_start=
|
|
155
|
-
_globals['_UPDATELOGINUSERDETAILSREQUEST']._serialized_end=
|
|
156
|
-
_globals['_USER']._serialized_start=
|
|
157
|
-
_globals['_USER']._serialized_end=
|
|
158
|
-
_globals['_GETAUTHSTATERESPONSE']._serialized_start=
|
|
159
|
-
_globals['_GETAUTHSTATERESPONSE']._serialized_end=
|
|
160
|
-
_globals['_GETAUTHERRORREQUEST']._serialized_start=
|
|
161
|
-
_globals['_GETAUTHERRORREQUEST']._serialized_end=
|
|
162
|
-
_globals['_GETAUTHERRORRESPONSE']._serialized_start=
|
|
163
|
-
_globals['_GETAUTHERRORRESPONSE']._serialized_end=
|
|
164
|
-
_globals['_AUTHSERVICE']._serialized_start=
|
|
165
|
-
_globals['_AUTHSERVICE']._serialized_end=
|
|
138
|
+
_globals['_VERIFYPASSWORDLESSOTPREQUEST']._serialized_start=2341
|
|
139
|
+
_globals['_VERIFYPASSWORDLESSOTPREQUEST']._serialized_end=2426
|
|
140
|
+
_globals['_VERIFYPASSWORDLESSOTPRESPONSE']._serialized_start=2428
|
|
141
|
+
_globals['_VERIFYPASSWORDLESSOTPRESPONSE']._serialized_end=2459
|
|
142
|
+
_globals['_OTPREQUEST']._serialized_start=2461
|
|
143
|
+
_globals['_OTPREQUEST']._serialized_end=2566
|
|
144
|
+
_globals['_LISTUSERORGANIZATIONSRESPONSE']._serialized_start=2569
|
|
145
|
+
_globals['_LISTUSERORGANIZATIONSRESPONSE']._serialized_end=2781
|
|
146
|
+
_globals['_ORGANIZATION']._serialized_start=2784
|
|
147
|
+
_globals['_ORGANIZATION']._serialized_end=3307
|
|
148
|
+
_globals['_USERDETAILS']._serialized_start=3309
|
|
149
|
+
_globals['_USERDETAILS']._serialized_end=3404
|
|
150
|
+
_globals['_SIGNUPORGANIZATIONREQUEST']._serialized_start=3407
|
|
151
|
+
_globals['_SIGNUPORGANIZATIONREQUEST']._serialized_end=3603
|
|
152
|
+
_globals['_SIGNUPORGANIZATIONRESPONSE']._serialized_start=3605
|
|
153
|
+
_globals['_SIGNUPORGANIZATIONRESPONSE']._serialized_end=3719
|
|
154
|
+
_globals['_UPDATELOGINUSERDETAILSREQUEST']._serialized_start=3722
|
|
155
|
+
_globals['_UPDATELOGINUSERDETAILSREQUEST']._serialized_end=4064
|
|
156
|
+
_globals['_USER']._serialized_start=4067
|
|
157
|
+
_globals['_USER']._serialized_end=5619
|
|
158
|
+
_globals['_GETAUTHSTATERESPONSE']._serialized_start=5621
|
|
159
|
+
_globals['_GETAUTHSTATERESPONSE']._serialized_end=5703
|
|
160
|
+
_globals['_GETAUTHERRORREQUEST']._serialized_start=5706
|
|
161
|
+
_globals['_GETAUTHERRORREQUEST']._serialized_end=5846
|
|
162
|
+
_globals['_GETAUTHERRORRESPONSE']._serialized_start=5848
|
|
163
|
+
_globals['_GETAUTHERRORRESPONSE']._serialized_end=5937
|
|
164
|
+
_globals['_AUTHSERVICE']._serialized_start=6440
|
|
165
|
+
_globals['_AUTHSERVICE']._serialized_end=8527
|
|
166
166
|
# @@protoc_insertion_point(module_scope)
|
|
@@ -131,13 +131,13 @@ class GetAuthFeaturesResponse(_message.Message):
|
|
|
131
131
|
features: _struct_pb2.Struct
|
|
132
132
|
def __init__(self, features: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ...) -> None: ...
|
|
133
133
|
|
|
134
|
-
class
|
|
134
|
+
class VerifyPasswordLessOtpRequest(_message.Message):
|
|
135
135
|
__slots__ = ("otp_req",)
|
|
136
136
|
OTP_REQ_FIELD_NUMBER: _ClassVar[int]
|
|
137
137
|
otp_req: OTPRequest
|
|
138
138
|
def __init__(self, otp_req: _Optional[_Union[OTPRequest, _Mapping]] = ...) -> None: ...
|
|
139
139
|
|
|
140
|
-
class
|
|
140
|
+
class VerifyPasswordLessOtpResponse(_message.Message):
|
|
141
141
|
__slots__ = ()
|
|
142
142
|
def __init__(self) -> None: ...
|
|
143
143
|
|
|
@@ -27,8 +27,8 @@ class AuthServiceStub(object):
|
|
|
27
27
|
)
|
|
28
28
|
self.VerifyPasswordLessOtp = channel.unary_unary(
|
|
29
29
|
'/scalekit.v1.auth.AuthService/VerifyPasswordLessOtp',
|
|
30
|
-
request_serializer=scalekit_dot_v1_dot_auth_dot_auth__pb2.
|
|
31
|
-
response_deserializer=scalekit_dot_v1_dot_auth_dot_auth__pb2.
|
|
30
|
+
request_serializer=scalekit_dot_v1_dot_auth_dot_auth__pb2.VerifyPasswordLessOtpRequest.SerializeToString,
|
|
31
|
+
response_deserializer=scalekit_dot_v1_dot_auth_dot_auth__pb2.VerifyPasswordLessOtpResponse.FromString,
|
|
32
32
|
)
|
|
33
33
|
self.ResendPasswordless = channel.unary_unary(
|
|
34
34
|
'/scalekit.v1.auth.AuthService/ResendPasswordless',
|
|
@@ -167,8 +167,8 @@ def add_AuthServiceServicer_to_server(servicer, server):
|
|
|
167
167
|
),
|
|
168
168
|
'VerifyPasswordLessOtp': grpc.unary_unary_rpc_method_handler(
|
|
169
169
|
servicer.VerifyPasswordLessOtp,
|
|
170
|
-
request_deserializer=scalekit_dot_v1_dot_auth_dot_auth__pb2.
|
|
171
|
-
response_serializer=scalekit_dot_v1_dot_auth_dot_auth__pb2.
|
|
170
|
+
request_deserializer=scalekit_dot_v1_dot_auth_dot_auth__pb2.VerifyPasswordLessOtpRequest.FromString,
|
|
171
|
+
response_serializer=scalekit_dot_v1_dot_auth_dot_auth__pb2.VerifyPasswordLessOtpResponse.SerializeToString,
|
|
172
172
|
),
|
|
173
173
|
'ResendPasswordless': grpc.unary_unary_rpc_method_handler(
|
|
174
174
|
servicer.ResendPasswordless,
|
|
@@ -271,8 +271,8 @@ class AuthService(object):
|
|
|
271
271
|
timeout=None,
|
|
272
272
|
metadata=None):
|
|
273
273
|
return grpc.experimental.unary_unary(request, target, '/scalekit.v1.auth.AuthService/VerifyPasswordLessOtp',
|
|
274
|
-
scalekit_dot_v1_dot_auth_dot_auth__pb2.
|
|
275
|
-
scalekit_dot_v1_dot_auth_dot_auth__pb2.
|
|
274
|
+
scalekit_dot_v1_dot_auth_dot_auth__pb2.VerifyPasswordLessOtpRequest.SerializeToString,
|
|
275
|
+
scalekit_dot_v1_dot_auth_dot_auth__pb2.VerifyPasswordLessOtpResponse.FromString,
|
|
276
276
|
options, channel_credentials,
|
|
277
277
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
278
278
|
|
{scalekit_sdk_python-2.4.13 → scalekit_sdk_python-2.4.15}/scalekit/v1/auth/passwordless_pb2.py
RENAMED
|
@@ -23,7 +23,7 @@ from scalekit.v1.commons import commons_pb2 as scalekit_dot_v1_dot_commons_dot_c
|
|
|
23
23
|
from scalekit.v1.options import options_pb2 as scalekit_dot_v1_dot_options_dot_options__pb2
|
|
24
24
|
|
|
25
25
|
|
|
26
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#scalekit/v1/auth/passwordless.proto\x12\x1dscalekit.v1.auth.passwordless\x1a\x1b\x62uf/validate/validate.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\x1a!scalekit/v1/commons/commons.proto\x1a!scalekit/v1/options/options.proto\"\
|
|
26
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#scalekit/v1/auth/passwordless.proto\x12\x1dscalekit.v1.auth.passwordless\x1a\x1b\x62uf/validate/validate.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\x1a!scalekit/v1/commons/commons.proto\x1a!scalekit/v1/options/options.proto\"\xd9\x10\n\x17SendPasswordlessRequest\x12\xaf\x01\n\x05\x65mail\x18\x01 \x01(\tB\x98\x01\x92\x41\x85\x01\x32kEmail address where the passwordless authentication credentials will be sent. Must be a valid email format.J\x16\"john.doe@example.com\"\xbaH\x0cr\x07\x10\x01\x18\xc0\x02`\x01\xc8\x01\x01R\x05\x65mail\x12\xa6\x02\n\x08template\x18\x02 \x01(\x0e\x32+.scalekit.v1.auth.passwordless.TemplateTypeB\xd7\x01\x92\x41\xcb\x01\x32\xbe\x01Specifies the authentication intent for the passwordless request. Use SIGNIN for existing users or SIGNUP for new user registration. This affects the email template and user experience flow.J\x08\"SIGNIN\"\xbaH\x05\x82\x01\x02\x10\x01H\x00R\x08template\x88\x01\x01\x12\xa9\x02\n\x12magiclink_auth_uri\x18\x03 \x01(\tB\xf5\x01\x92\x41\xe4\x01\x32\xaf\x01Your application\'s callback URL where users will be redirected after clicking the magic link in their email. The link token will be appended as a query parameter as link_tokenJ0\"https://yourapp.com/auth/passwordless/callback\"\xe0\x41\x01\xbaH\x07r\x05\x10\x01\x18\xe8\x07H\x01R\x10magiclinkAuthUri\x88\x01\x01\x12\x9b\x02\n\x05state\x18\x04 \x01(\tB\xff\x01\x92\x41\xee\x01\x32\xd9\x01\x43ustom state parameter that will be returned unchanged in the verification response. Use this to maintain application state between the authentication request and callback, such as the intended destination after loginJ\x10\"d62ivasry29lso\"\xe0\x41\x01\xbaH\x07r\x05\x10\x01\x18\xe8\x07H\x02R\x05state\x88\x01\x01\x12\xa6\x01\n\nexpires_in\x18\x05 \x01(\rB\x81\x01\x92\x41{2tTime in seconds until the passwordless authentication expires. If not specified, defaults to 300 seconds (5 minutes)J\x03\x33\x30\x30\xe0\x41\x01H\x03R\texpiresIn\x88\x01\x01\x12\xec\x05\n\x12template_variables\x18\x06 \x03(\x0b\x32M.scalekit.v1.auth.passwordless.SendPasswordlessRequest.TemplateVariablesEntryB\xed\x04\x92\x41\xcf\x04\x32\x9a\x04\x41 set of key-value pairs to personalize the email template.\n\n* You may include up to 30 key-value pairs.\n* The following variable names are reserved by the system and cannot be supplied: `otp`, `expiry_time_relative`, `link`, `expire_time`, `expiry_time`.\n* Every variable referenced in your email template must be included as a key-value pair.\n\nUse these variables to insert custom information, such as a team name, URL or the user\'s employee ID. All variables are interpolated before the email is sent, regardless of the email provider.J0{\"custom_variable_key\": \"custom_variable_value\"}\xe0\x41\x01\xbaH\x14\x9a\x01\x11\x10\x1e\"\x06r\x04\x10\x02\x18\x19*\x05r\x03\x18\x80\x02R\x11templateVariables\x1a\x44\n\x16TemplateVariablesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x42\x0b\n\t_templateB\x15\n\x13_magiclink_auth_uriB\x08\n\x06_stateB\r\n\x0b_expires_in\"\x9c\x07\n\x18SendPasswordlessResponse\x12\xc5\x01\n\x0f\x61uth_request_id\x18\x01 \x01(\tB\x9c\x01\x92\x41\x95\x01\x32]Unique identifier for this passwordless authentication request. Use this ID to resend emails.J4\"h5Y8kT5RVwaea5WEgW4n-6C-aO_-fuTUW7Vb9-Rh3AcY9qxZqQ\"\xe0\x41\x03R\rauthRequestId\x12\xcc\x01\n\nexpires_at\x18\x02 \x01(\x03\x42\xac\x01\x92\x41\xa5\x01\x32\x96\x01Unix timestamp (seconds since epoch) when the passwordless authentication will expire. After this time, the OTP or magic link will no longer be valid.J\n1748696575\xe0\x41\x03R\texpiresAt\x12\xbe\x01\n\nexpires_in\x18\x03 \x01(\rB\x9e\x01\x92\x41\x97\x01\x32\x8f\x01Number of seconds from now until the passwordless authentication expires. This is a convenience field calculated from the expires_at timestamp.J\x03\x33\x30\x30\xe0\x41\x03R\texpiresIn\x12\xa7\x02\n\x11passwordless_type\x18\x04 \x01(\x0e\x32/.scalekit.v1.auth.passwordless.PasswordlessTypeB\xc8\x01\x92\x41\xbc\x01\x32\xb2\x01Type of passwordless authentication that was sent via email. OTP sends a numeric code, LINK sends a clickable magic link, and LINK_OTP provides both options for user convenience.J\x05\"OTP\"\xbaH\x05\x82\x01\x02\x10\x01R\x10passwordlessType\"\xb4\x06\n\x19VerifyPasswordLessRequest\x12\xbd\x01\n\x04\x63ode\x18\x01 \x01(\tB\xa6\x01\x92\x41\x99\x01\x32\x8c\x01The Verification Code (OTP) received via email. This is typically a 6-digit numeric code that users enter manually to verify their identity.J\x08\"123456\"\xbaH\x06r\x04\x10\x01\x18\x14H\x00R\x04\x63ode\x12\x8a\x02\n\nlink_token\x18\x02 \x01(\tB\xe8\x01\x92\x41\xdb\x01\x32\xb0\x01The unique token from the magic link URL received via email. Extract this token when users click the magic link and are redirected to your application to later verify the user.J&\"afe9d61c-d80d-4020-a8ee-61765ab71cb3\"\xbaH\x06r\x04\x10\x01\x18\x64H\x00R\tlinkToken\x12\xa2\x02\n\x0f\x61uth_request_id\x18\x03 \x01(\tB\xf4\x01\x92\x41\xe8\x01\x32\xaf\x01The authentication request identifier returned from the send passwordless email endpoint. Required when verifying OTP codes to link the verification with the original request.J4\"h5Y8kT5RVwaea5WEgW4n-6C-aO_-fuTUW7Vb9-Rh3AcY9qxZqQ\"\xbaH\x05r\x03\x18\xc8\x01H\x01R\rauthRequestId\x88\x01\x01\x42\x11\n\x0f\x61uth_credentialB\x12\n\x10_auth_request_id\"\xc1\x02\n\x19ResendPasswordlessRequest\x12\xa3\x02\n\x0f\x61uth_request_id\x18\x01 \x01(\tB\xfa\x01\x92\x41\xe9\x01\x32\xb0\x01The authentication request identifier from the original send passwordless email request. Use this to resend the Verification Code (OTP) or Magic Link to the same email address.J4\"h5Y8kT5RVwaea5WEgW4n-6C-aO_-fuTUW7Vb9-Rh3AcY9qxZqQ\"\xbaH\nr\x05\x10\x01\x18\xc8\x01\xc8\x01\x01R\rauthRequestId\"\x94\x07\n\x1aVerifyPasswordLessResponse\x12\xbc\x01\n\x05\x65mail\x18\x01 \x01(\tB\xa5\x01\x92\x41\x9e\x01\x32\x83\x01\x45mail address of the successfully authenticated user. This confirms which email account was verified through the passwordless flow.J\x16\"john.doe@example.com\"\xe0\x41\x03R\x05\x65mail\x12\xe8\x01\n\x05state\x18\x02 \x01(\tB\xcc\x01\x92\x41\xc5\x01\x32\xad\x01The custom state parameter that was provided in the original authentication request, returned unchanged. Use this to restore your application\'s context after authentication.J\x13\"kdt7yiag28t341fr1\"\xe0\x41\x03H\x00R\x05state\x88\x01\x01\x12\xcb\x01\n\x08template\x18\x03 \x01(\x0e\x32+.scalekit.v1.auth.passwordless.TemplateTypeB}\x92\x41r2fSpecifies which email template to choose. For User Signin choose SIGNIN and for User Signup use SIGNUPJ\x08\"SIGNIN\"\xbaH\x05\x82\x01\x02\x10\x01H\x01R\x08template\x88\x01\x01\x12\xe6\x01\n\x11passwordless_type\x18\x04 \x01(\x0e\x32/.scalekit.v1.auth.passwordless.PasswordlessTypeB\x87\x01\x92\x41|2sThe type of passwordless authentication that was successfully verified, confirming which method the user completed.J\x05\"OTP\"\xbaH\x05\x82\x01\x02\x10\x01R\x10passwordlessTypeB\x08\n\x06_stateB\x0b\n\t_template*7\n\x0cTemplateType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06SIGNIN\x10\x01\x12\n\n\x06SIGNUP\x10\x02*V\n\x10PasswordlessType\x12!\n\x1dPASSWORDLESS_TYPE_UNSPECIFIED\x10\x00\x12\x07\n\x03OTP\x10\x01\x12\x08\n\x04LINK\x10\x02\x12\x0c\n\x08LINK_OTP\x10\x03\x32\xa8\x0e\n\x13PasswordlessService\x12\xb3\x04\n\x15SendPasswordlessEmail\x12\x36.scalekit.v1.auth.passwordless.SendPasswordlessRequest\x1a\x37.scalekit.v1.auth.passwordless.SendPasswordlessResponse\"\xa8\x03\x92\x41\xf4\x02\n\x10Magic link & OTP\x12\x17Send passwordless email\x1atSend a verification email containing either a verification code (OTP), magic link, or both to a user\'s email addressJ\xd0\x01\n\x03\x32\x30\x30\x12\xc8\x01\n\x8d\x01Successfully sent passwordless authentication email. Returns the authentication request details including expiration time and auth request ID\x12\x36\n4\x1a\x32#/definitions/passwordlessSendPasswordlessResponse\x82\xb5\x18\x02\x18\x04\x82\xd3\xe4\x93\x02$\"\x1f/api/v1/passwordless/email/send:\x01*\x12\xd8\x03\n\x17VerifyPasswordlessEmail\x12\x38.scalekit.v1.auth.passwordless.VerifyPasswordLessRequest\x1a\x39.scalekit.v1.auth.passwordless.VerifyPasswordLessResponse\"\xc7\x02\x92\x41\x91\x02\n\x10Magic link & OTP\x12\x19Verify passwordless email\x1aMVerify a user\'s identity using either a verification code or magic link tokenJ\x92\x01\n\x03\x32\x30\x30\x12\x8a\x01\nISuccessfully verified the passwordless authentication. Returns user email\x12=\n;\x1a\x39.scalekit.v1.auth.passwordless.VerifyPasswordLessResponse\x82\xb5\x18\x02\x18\x04\x82\xd3\xe4\x93\x02&\"!/api/v1/passwordless/email/verify:\x01*\x12\xa4\x04\n\x17ResendPasswordlessEmail\x12\x38.scalekit.v1.auth.passwordless.ResendPasswordlessRequest\x1a\x37.scalekit.v1.auth.passwordless.SendPasswordlessResponse\"\x95\x03\x92\x41\xdf\x02\n\x10Magic link & OTP\x12\x19Resend passwordless email\x1a\x62Resend a verification email if the user didn\'t receive it or if the previous code/link has expiredJ\xcb\x01\n\x03\x32\x30\x30\x12\xc3\x01\n\x83\x01Successfully resent the passwordless authentication email. Returns updated authentication request details with new expiration time.\x12;\n9\x1a\x37.scalekit.v1.auth.passwordless.SendPasswordlessResponse\x82\xb5\x18\x02\x18\x04\x82\xd3\xe4\x93\x02&\"!/api/v1/passwordless/email/resend:\x01*\x1a\xd8\x01\x92\x41\xd4\x01\n\x10Magic link & OTP\x12\xbf\x01\x45ndpoints for sending and verifying passwordless authentication emails. These APIs allow users to authenticate without passwords by receiving a verification code or magic link in their email.B=Z;github.com/scalekit-inc/scalekit/pkg/grpc/auth/passwordlessb\x06proto3')
|
|
27
27
|
|
|
28
28
|
_globals = globals()
|
|
29
29
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
@@ -44,7 +44,7 @@ if not _descriptor._USE_C_DESCRIPTORS:
|
|
|
44
44
|
_globals['_SENDPASSWORDLESSREQUEST'].fields_by_name['expires_in']._loaded_options = None
|
|
45
45
|
_globals['_SENDPASSWORDLESSREQUEST'].fields_by_name['expires_in']._serialized_options = b'\222A{2tTime in seconds until the passwordless authentication expires. If not specified, defaults to 300 seconds (5 minutes)J\003300\340A\001'
|
|
46
46
|
_globals['_SENDPASSWORDLESSREQUEST'].fields_by_name['template_variables']._loaded_options = None
|
|
47
|
-
_globals['_SENDPASSWORDLESSREQUEST'].fields_by_name['template_variables']._serialized_options = b'\222A\317\0042\232\004A set of key-value pairs to personalize the email template.\n\n* You may include up to 30 key-value pairs.\n* The following variable names are reserved by the system and cannot be supplied: `otp`, `expiry_time_relative`, `link`, `expire_time`, `expiry_time`.\n* Every variable referenced in your email template must be included as a key-value pair.\n\nUse these variables to insert custom information, such as a team name, URL or the user\'s employee ID. All variables are interpolated before the email is sent, regardless of the email provider.J0{\"custom_variable_key\": \"custom_variable_value\"}\340A\001\272H\
|
|
47
|
+
_globals['_SENDPASSWORDLESSREQUEST'].fields_by_name['template_variables']._serialized_options = b'\222A\317\0042\232\004A set of key-value pairs to personalize the email template.\n\n* You may include up to 30 key-value pairs.\n* The following variable names are reserved by the system and cannot be supplied: `otp`, `expiry_time_relative`, `link`, `expire_time`, `expiry_time`.\n* Every variable referenced in your email template must be included as a key-value pair.\n\nUse these variables to insert custom information, such as a team name, URL or the user\'s employee ID. All variables are interpolated before the email is sent, regardless of the email provider.J0{\"custom_variable_key\": \"custom_variable_value\"}\340A\001\272H\024\232\001\021\020\036\"\006r\004\020\002\030\031*\005r\003\030\200\002'
|
|
48
48
|
_globals['_SENDPASSWORDLESSRESPONSE'].fields_by_name['auth_request_id']._loaded_options = None
|
|
49
49
|
_globals['_SENDPASSWORDLESSRESPONSE'].fields_by_name['auth_request_id']._serialized_options = b'\222A\225\0012]Unique identifier for this passwordless authentication request. Use this ID to resend emails.J4\"h5Y8kT5RVwaea5WEgW4n-6C-aO_-fuTUW7Vb9-Rh3AcY9qxZqQ\"\340A\003'
|
|
50
50
|
_globals['_SENDPASSWORDLESSRESPONSE'].fields_by_name['expires_at']._loaded_options = None
|
|
@@ -70,29 +70,29 @@ if not _descriptor._USE_C_DESCRIPTORS:
|
|
|
70
70
|
_globals['_VERIFYPASSWORDLESSRESPONSE'].fields_by_name['passwordless_type']._loaded_options = None
|
|
71
71
|
_globals['_VERIFYPASSWORDLESSRESPONSE'].fields_by_name['passwordless_type']._serialized_options = b'\222A|2sThe type of passwordless authentication that was successfully verified, confirming which method the user completed.J\005\"OTP\"\272H\005\202\001\002\020\001'
|
|
72
72
|
_globals['_PASSWORDLESSSERVICE']._loaded_options = None
|
|
73
|
-
_globals['_PASSWORDLESSSERVICE']._serialized_options = b'\222A\
|
|
73
|
+
_globals['_PASSWORDLESSSERVICE']._serialized_options = b'\222A\324\001\n\020Magic link & OTP\022\277\001Endpoints for sending and verifying passwordless authentication emails. These APIs allow users to authenticate without passwords by receiving a verification code or magic link in their email.'
|
|
74
74
|
_globals['_PASSWORDLESSSERVICE'].methods_by_name['SendPasswordlessEmail']._loaded_options = None
|
|
75
|
-
_globals['_PASSWORDLESSSERVICE'].methods_by_name['SendPasswordlessEmail']._serialized_options = b'\222A\
|
|
75
|
+
_globals['_PASSWORDLESSSERVICE'].methods_by_name['SendPasswordlessEmail']._serialized_options = b'\222A\364\002\n\020Magic link & OTP\022\027Send passwordless email\032tSend a verification email containing either a verification code (OTP), magic link, or both to a user\'s email addressJ\320\001\n\003200\022\310\001\n\215\001Successfully sent passwordless authentication email. Returns the authentication request details including expiration time and auth request ID\0226\n4\0322#/definitions/passwordlessSendPasswordlessResponse\202\265\030\002\030\004\202\323\344\223\002$\"\037/api/v1/passwordless/email/send:\001*'
|
|
76
76
|
_globals['_PASSWORDLESSSERVICE'].methods_by_name['VerifyPasswordlessEmail']._loaded_options = None
|
|
77
|
-
_globals['_PASSWORDLESSSERVICE'].methods_by_name['VerifyPasswordlessEmail']._serialized_options = b'\222A\
|
|
77
|
+
_globals['_PASSWORDLESSSERVICE'].methods_by_name['VerifyPasswordlessEmail']._serialized_options = b'\222A\221\002\n\020Magic link & OTP\022\031Verify passwordless email\032MVerify a user\'s identity using either a verification code or magic link tokenJ\222\001\n\003200\022\212\001\nISuccessfully verified the passwordless authentication. Returns user email\022=\n;\0329.scalekit.v1.auth.passwordless.VerifyPasswordLessResponse\202\265\030\002\030\004\202\323\344\223\002&\"!/api/v1/passwordless/email/verify:\001*'
|
|
78
78
|
_globals['_PASSWORDLESSSERVICE'].methods_by_name['ResendPasswordlessEmail']._loaded_options = None
|
|
79
|
-
_globals['_PASSWORDLESSSERVICE'].methods_by_name['ResendPasswordlessEmail']._serialized_options = b'\222A\
|
|
80
|
-
_globals['_TEMPLATETYPE']._serialized_start=
|
|
81
|
-
_globals['_TEMPLATETYPE']._serialized_end=
|
|
82
|
-
_globals['_PASSWORDLESSTYPE']._serialized_start=
|
|
83
|
-
_globals['_PASSWORDLESSTYPE']._serialized_end=
|
|
79
|
+
_globals['_PASSWORDLESSSERVICE'].methods_by_name['ResendPasswordlessEmail']._serialized_options = b'\222A\337\002\n\020Magic link & OTP\022\031Resend passwordless email\032bResend a verification email if the user didn\'t receive it or if the previous code/link has expiredJ\313\001\n\003200\022\303\001\n\203\001Successfully resent the passwordless authentication email. Returns updated authentication request details with new expiration time.\022;\n9\0327.scalekit.v1.auth.passwordless.SendPasswordlessResponse\202\265\030\002\030\004\202\323\344\223\002&\"!/api/v1/passwordless/email/resend:\001*'
|
|
80
|
+
_globals['_TEMPLATETYPE']._serialized_start=5505
|
|
81
|
+
_globals['_TEMPLATETYPE']._serialized_end=5560
|
|
82
|
+
_globals['_PASSWORDLESSTYPE']._serialized_start=5562
|
|
83
|
+
_globals['_PASSWORDLESSTYPE']._serialized_end=5648
|
|
84
84
|
_globals['_SENDPASSWORDLESSREQUEST']._serialized_start=373
|
|
85
|
-
_globals['_SENDPASSWORDLESSREQUEST']._serialized_end=
|
|
86
|
-
_globals['_SENDPASSWORDLESSREQUEST_TEMPLATEVARIABLESENTRY']._serialized_start=
|
|
87
|
-
_globals['_SENDPASSWORDLESSREQUEST_TEMPLATEVARIABLESENTRY']._serialized_end=
|
|
88
|
-
_globals['_SENDPASSWORDLESSRESPONSE']._serialized_start=
|
|
89
|
-
_globals['_SENDPASSWORDLESSRESPONSE']._serialized_end=
|
|
90
|
-
_globals['_VERIFYPASSWORDLESSREQUEST']._serialized_start=
|
|
91
|
-
_globals['_VERIFYPASSWORDLESSREQUEST']._serialized_end=
|
|
92
|
-
_globals['_RESENDPASSWORDLESSREQUEST']._serialized_start=
|
|
93
|
-
_globals['_RESENDPASSWORDLESSREQUEST']._serialized_end=
|
|
94
|
-
_globals['_VERIFYPASSWORDLESSRESPONSE']._serialized_start=
|
|
95
|
-
_globals['_VERIFYPASSWORDLESSRESPONSE']._serialized_end=
|
|
96
|
-
_globals['_PASSWORDLESSSERVICE']._serialized_start=
|
|
97
|
-
_globals['_PASSWORDLESSSERVICE']._serialized_end=
|
|
85
|
+
_globals['_SENDPASSWORDLESSREQUEST']._serialized_end=2510
|
|
86
|
+
_globals['_SENDPASSWORDLESSREQUEST_TEMPLATEVARIABLESENTRY']._serialized_start=2381
|
|
87
|
+
_globals['_SENDPASSWORDLESSREQUEST_TEMPLATEVARIABLESENTRY']._serialized_end=2449
|
|
88
|
+
_globals['_SENDPASSWORDLESSRESPONSE']._serialized_start=2513
|
|
89
|
+
_globals['_SENDPASSWORDLESSRESPONSE']._serialized_end=3437
|
|
90
|
+
_globals['_VERIFYPASSWORDLESSREQUEST']._serialized_start=3440
|
|
91
|
+
_globals['_VERIFYPASSWORDLESSREQUEST']._serialized_end=4260
|
|
92
|
+
_globals['_RESENDPASSWORDLESSREQUEST']._serialized_start=4263
|
|
93
|
+
_globals['_RESENDPASSWORDLESSREQUEST']._serialized_end=4584
|
|
94
|
+
_globals['_VERIFYPASSWORDLESSRESPONSE']._serialized_start=4587
|
|
95
|
+
_globals['_VERIFYPASSWORDLESSRESPONSE']._serialized_end=5503
|
|
96
|
+
_globals['_PASSWORDLESSSERVICE']._serialized_start=5651
|
|
97
|
+
_globals['_PASSWORDLESSSERVICE']._serialized_end=7483
|
|
98
98
|
# @@protoc_insertion_point(module_scope)
|