scalekit-sdk-python 2.2.1__tar.gz → 2.2.2__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.
Files changed (144) hide show
  1. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/PKG-INFO +1 -1
  2. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/core.py +2 -2
  3. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/m2m_client.py +24 -0
  4. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/auditlogs/auditlogs_pb2.py +6 -6
  5. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/auditlogs/auditlogs_pb2.pyi +6 -4
  6. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/auth/auth_pb2.py +42 -42
  7. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/auth/auth_pb2.pyi +2 -2
  8. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/auth/passwordless_pb2.py +5 -5
  9. scalekit_sdk_python-2.2.2/scalekit/v1/clients/clients_pb2.py +670 -0
  10. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/clients/clients_pb2.pyi +104 -46
  11. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/clients/clients_pb2_grpc.py +132 -0
  12. scalekit_sdk_python-2.2.2/scalekit/v1/connected_accounts/connected_accounts_pb2.py +165 -0
  13. scalekit_sdk_python-2.2.2/scalekit/v1/connected_accounts/connected_accounts_pb2.pyi +243 -0
  14. scalekit_sdk_python-2.2.2/scalekit/v1/connected_accounts/connected_accounts_pb2_grpc.py +233 -0
  15. scalekit_sdk_python-2.2.2/scalekit/v1/connections/connections_pb2.py +564 -0
  16. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/connections/connections_pb2.pyi +91 -14
  17. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/connections/connections_pb2_grpc.py +57 -24
  18. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/domains/domains_pb2.py +18 -18
  19. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/domains/domains_pb2.pyi +4 -2
  20. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/environments/environments_pb2.py +27 -13
  21. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/environments/environments_pb2.pyi +35 -0
  22. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/environments/environments_pb2_grpc.py +33 -0
  23. scalekit_sdk_python-2.2.2/scalekit/v1/errdetails/errdetails_pb2.py +46 -0
  24. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/errdetails/errdetails_pb2.pyi +12 -2
  25. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/events/events_pb2.py +4 -4
  26. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/events/events_pb2.pyi +4 -0
  27. scalekit_sdk_python-2.2.2/scalekit/v1/invites/invites_pb2.py +47 -0
  28. scalekit_sdk_python-2.2.2/scalekit/v1/invites/invites_pb2.pyi +65 -0
  29. scalekit_sdk_python-2.2.2/scalekit/v1/invites/invites_pb2_grpc.py +99 -0
  30. scalekit_sdk_python-2.2.2/scalekit/v1/migrations/migrations_pb2.py +54 -0
  31. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/migrations/migrations_pb2.pyi +31 -1
  32. scalekit_sdk_python-2.2.2/scalekit/v1/migrations/migrations_pb2_grpc.py +66 -0
  33. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/organizations/organizations_pb2.py +102 -74
  34. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/organizations/organizations_pb2.pyi +34 -0
  35. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/organizations/organizations_pb2_grpc.py +67 -0
  36. scalekit_sdk_python-2.2.2/scalekit/v1/providers/providers_pb2.py +93 -0
  37. scalekit_sdk_python-2.2.2/scalekit/v1/providers/providers_pb2.pyi +114 -0
  38. scalekit_sdk_python-2.2.2/scalekit/v1/providers/providers_pb2_grpc.py +168 -0
  39. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/roles/roles_pb2.py +2 -2
  40. scalekit_sdk_python-2.2.2/scalekit/v1/tools/tools_pb2.py +147 -0
  41. scalekit_sdk_python-2.2.2/scalekit/v1/tools/tools_pb2.pyi +140 -0
  42. scalekit_sdk_python-2.2.2/scalekit/v1/tools/tools_pb2_grpc.py +232 -0
  43. scalekit_sdk_python-2.2.2/scalekit/v1/user_attributes/__init__.py +0 -0
  44. scalekit_sdk_python-2.2.2/scalekit/v1/users/__init__.py +0 -0
  45. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/users/users_pb2.py +75 -75
  46. scalekit_sdk_python-2.2.2/scalekit/v1/webhooks/__init__.py +0 -0
  47. scalekit_sdk_python-2.2.2/scalekit/v1/workspaces/__init__.py +0 -0
  48. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit_sdk_python.egg-info/PKG-INFO +1 -1
  49. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit_sdk_python.egg-info/SOURCES.txt +16 -0
  50. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/setup.py +1 -1
  51. scalekit_sdk_python-2.2.1/scalekit/v1/clients/clients_pb2.py +0 -618
  52. scalekit_sdk_python-2.2.1/scalekit/v1/connections/connections_pb2.py +0 -513
  53. scalekit_sdk_python-2.2.1/scalekit/v1/errdetails/errdetails_pb2.py +0 -44
  54. scalekit_sdk_python-2.2.1/scalekit/v1/migrations/migrations_pb2.py +0 -50
  55. scalekit_sdk_python-2.2.1/scalekit/v1/migrations/migrations_pb2_grpc.py +0 -166
  56. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/LICENSE +0 -0
  57. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/README.md +0 -0
  58. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/buf/__init__.py +0 -0
  59. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/buf/validate/__init__.py +0 -0
  60. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/buf/validate/expression_pb2.py +0 -0
  61. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/buf/validate/expression_pb2.pyi +0 -0
  62. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/buf/validate/expression_pb2_grpc.py +0 -0
  63. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/buf/validate/priv/__init__.py +0 -0
  64. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/buf/validate/priv/private_pb2.py +0 -0
  65. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/buf/validate/priv/private_pb2.pyi +0 -0
  66. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/buf/validate/priv/private_pb2_grpc.py +0 -0
  67. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/buf/validate/validate_pb2.py +0 -0
  68. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/buf/validate/validate_pb2.pyi +0 -0
  69. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/buf/validate/validate_pb2_grpc.py +0 -0
  70. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/__init__.py +0 -0
  71. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/client.py +0 -0
  72. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/common/__init__.py +0 -0
  73. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/common/scalekit.py +0 -0
  74. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/common/user.py +0 -0
  75. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/connection.py +0 -0
  76. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/constants/__init__.py +0 -0
  77. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/constants/user.py +0 -0
  78. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/directory.py +0 -0
  79. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/domain.py +0 -0
  80. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/organization.py +0 -0
  81. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/role.py +0 -0
  82. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/users.py +0 -0
  83. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/utils/__init__.py +0 -0
  84. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/utils/directory.py +0 -0
  85. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/__init__.py +0 -0
  86. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/auditlogs/__init__.py +0 -0
  87. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/auditlogs/auditlogs_pb2_grpc.py +0 -0
  88. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/auth/__init__.py +0 -0
  89. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/auth/auth_pb2_grpc.py +0 -0
  90. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/auth/passwordless_pb2.pyi +0 -0
  91. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/auth/passwordless_pb2_grpc.py +0 -0
  92. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/clients/__init__.py +0 -0
  93. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/commons/__init__.py +0 -0
  94. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/commons/commons_pb2.py +0 -0
  95. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/commons/commons_pb2.pyi +0 -0
  96. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/commons/commons_pb2_grpc.py +0 -0
  97. {scalekit_sdk_python-2.2.1/scalekit/v1/connections → scalekit_sdk_python-2.2.2/scalekit/v1/connected_accounts}/__init__.py +0 -0
  98. {scalekit_sdk_python-2.2.1/scalekit/v1/directories → scalekit_sdk_python-2.2.2/scalekit/v1/connections}/__init__.py +0 -0
  99. {scalekit_sdk_python-2.2.1/scalekit/v1/domains → scalekit_sdk_python-2.2.2/scalekit/v1/directories}/__init__.py +0 -0
  100. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/directories/directories_pb2.py +0 -0
  101. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/directories/directories_pb2.pyi +0 -0
  102. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/directories/directories_pb2_grpc.py +0 -0
  103. {scalekit_sdk_python-2.2.1/scalekit/v1/emails → scalekit_sdk_python-2.2.2/scalekit/v1/domains}/__init__.py +0 -0
  104. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/domains/domains_pb2_grpc.py +0 -0
  105. {scalekit_sdk_python-2.2.1/scalekit/v1/environments → scalekit_sdk_python-2.2.2/scalekit/v1/emails}/__init__.py +0 -0
  106. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/emails/emails_pb2.py +0 -0
  107. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/emails/emails_pb2.pyi +0 -0
  108. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/emails/emails_pb2_grpc.py +0 -0
  109. {scalekit_sdk_python-2.2.1/scalekit/v1/errdetails → scalekit_sdk_python-2.2.2/scalekit/v1/environments}/__init__.py +0 -0
  110. {scalekit_sdk_python-2.2.1/scalekit/v1/events → scalekit_sdk_python-2.2.2/scalekit/v1/errdetails}/__init__.py +0 -0
  111. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/errdetails/errdetails_pb2_grpc.py +0 -0
  112. {scalekit_sdk_python-2.2.1/scalekit/v1/members → scalekit_sdk_python-2.2.2/scalekit/v1/events}/__init__.py +0 -0
  113. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/events/events_pb2_grpc.py +0 -0
  114. {scalekit_sdk_python-2.2.1/scalekit/v1/migrations → scalekit_sdk_python-2.2.2/scalekit/v1/invites}/__init__.py +0 -0
  115. {scalekit_sdk_python-2.2.1/scalekit/v1/options → scalekit_sdk_python-2.2.2/scalekit/v1/members}/__init__.py +0 -0
  116. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/members/members_pb2.py +0 -0
  117. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/members/members_pb2.pyi +0 -0
  118. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/members/members_pb2_grpc.py +0 -0
  119. {scalekit_sdk_python-2.2.1/scalekit/v1/organizations → scalekit_sdk_python-2.2.2/scalekit/v1/migrations}/__init__.py +0 -0
  120. {scalekit_sdk_python-2.2.1/scalekit/v1/roles → scalekit_sdk_python-2.2.2/scalekit/v1/options}/__init__.py +0 -0
  121. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/options/options_pb2.py +0 -0
  122. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/options/options_pb2.pyi +0 -0
  123. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/options/options_pb2_grpc.py +0 -0
  124. {scalekit_sdk_python-2.2.1/scalekit/v1/user_attributes → scalekit_sdk_python-2.2.2/scalekit/v1/organizations}/__init__.py +0 -0
  125. {scalekit_sdk_python-2.2.1/scalekit/v1/users → scalekit_sdk_python-2.2.2/scalekit/v1/providers}/__init__.py +0 -0
  126. {scalekit_sdk_python-2.2.1/scalekit/v1/webhooks → scalekit_sdk_python-2.2.2/scalekit/v1/roles}/__init__.py +0 -0
  127. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/roles/roles_pb2.pyi +0 -0
  128. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/roles/roles_pb2_grpc.py +0 -0
  129. {scalekit_sdk_python-2.2.1/scalekit/v1/workspaces → scalekit_sdk_python-2.2.2/scalekit/v1/tools}/__init__.py +0 -0
  130. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/user_attributes/user_attributes_pb2.py +0 -0
  131. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/user_attributes/user_attributes_pb2.pyi +0 -0
  132. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/user_attributes/user_attributes_pb2_grpc.py +0 -0
  133. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/users/users_pb2.pyi +0 -0
  134. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/users/users_pb2_grpc.py +0 -0
  135. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/webhooks/webhooks_pb2.py +0 -0
  136. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/webhooks/webhooks_pb2.pyi +0 -0
  137. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/webhooks/webhooks_pb2_grpc.py +0 -0
  138. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/workspaces/workspaces_pb2.py +0 -0
  139. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/workspaces/workspaces_pb2.pyi +0 -0
  140. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit/v1/workspaces/workspaces_pb2_grpc.py +0 -0
  141. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit_sdk_python.egg-info/dependency_links.txt +0 -0
  142. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit_sdk_python.egg-info/requires.txt +0 -0
  143. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/scalekit_sdk_python.egg-info/top_level.txt +0 -0
  144. {scalekit_sdk_python-2.2.1 → scalekit_sdk_python-2.2.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: scalekit-sdk-python
3
- Version: 2.2.1
3
+ Version: 2.2.2
4
4
  Summary: Scalekit official Python SDK
5
5
  Home-page: https://github.com/scalekit-inc/scalekit-sdk-python
6
6
  Author: Team Scalekit
@@ -27,8 +27,8 @@ class WithCall(Protocol):
27
27
  class CoreClient:
28
28
  """Class definition for Core Client"""
29
29
 
30
- sdk_version = "Scalekit-Python/2.2.1"
31
- api_version = "20250710"
30
+ sdk_version = "Scalekit-Python/2.2.2"
31
+ api_version = "20250718"
32
32
  user_agent = f"{sdk_version} Python/{platform.python_version()} ({platform.system()}; {platform.architecture()}"
33
33
 
34
34
  def __init__(self, env_url, client_id, client_secret):
@@ -117,3 +117,27 @@ class M2MClient:
117
117
  DeleteOrganizationClientSecretRequest(
118
118
  organization_id=organization_id, client_id=client_id, secret_id=secret_id)
119
119
  )
120
+
121
+ def list_organization_clients(
122
+ self, organization_id: str, page_size: Optional[int] = None, page_token: Optional[str] = None
123
+ ) -> ListOrganizationClientsResponse:
124
+ """
125
+ Method to list organization clients
126
+
127
+ :param organization_id : Organization id to list clients for
128
+ :type : ``` str ```
129
+ :param page_size : Page size for pagination (between 10 and 100)
130
+ :type : ``` int ```
131
+ :param page_token : Page token for pagination
132
+ :type : ``` str ```
133
+ :returns:
134
+ List Organization Clients Response
135
+ """
136
+ return self.core_client.grpc_exec(
137
+ self.client_service.ListOrganizationClients.with_call,
138
+ ListOrganizationClientsRequest(
139
+ organization_id=organization_id,
140
+ page_size=page_size,
141
+ page_token=page_token
142
+ )
143
+ )
@@ -18,7 +18,7 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__
18
18
  from scalekit.v1.options import options_pb2 as scalekit_dot_v1_dot_options_dot_options__pb2
19
19
 
20
20
 
21
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%scalekit/v1/auditlogs/auditlogs.proto\x12\x15scalekit.v1.auditlogs\x1a\x1b\x62uf/validate/validate.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a!scalekit/v1/options/options.proto\"\xf0\x01\n\x12ListAuthLogRequest\x12\x1b\n\tpage_size\x18\x01 \x01(\rR\x08pageSize\x12\x1d\n\npage_token\x18\x02 \x01(\tR\tpageToken\x12\x14\n\x05\x65mail\x18\x03 \x01(\tR\x05\x65mail\x12\x16\n\x06status\x18\x04 \x01(\tR\x06status\x12\x39\n\nstart_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartTime\x12\x35\n\x08\x65nd_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x07\x65ndTime\"\xa7\x01\n\x13ListAuthLogResponse\x12&\n\x0fnext_page_token\x18\x01 \x01(\tR\rnextPageToken\x12\x1d\n\ntotal_size\x18\x02 \x01(\rR\ttotalSize\x12I\n\x0c\x61uthRequests\x18\x03 \x03(\x0b\x32%.scalekit.v1.auditlogs.AuthLogRequestR\x0c\x61uthRequests\"\xd3\x02\n\x0e\x41uthLogRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12%\n\x0e\x65nvironment_id\x18\x02 \x01(\tR\renvironmentId\x12#\n\rconnection_id\x18\x03 \x01(\tR\x0c\x63onnectionId\x12&\n\x0f\x61uth_request_id\x18\x04 \x01(\tR\rauthRequestId\x12\x14\n\x05\x65mail\x18\x05 \x01(\tR\x05\x65mail\x12\'\n\x0f\x63onnection_type\x18\x06 \x01(\tR\x0e\x63onnectionType\x12/\n\x13\x63onnection_provider\x18\x07 \x01(\tR\x12\x63onnectionProvider\x12\x16\n\x06status\x18\x08 \x01(\tR\x06status\x12\x1c\n\ttimestamp\x18\t \x01(\tR\ttimestamp2\xb2\x01\n\x10\x41uditLogsService\x12\x9d\x01\n\x10ListAuthRequests\x12).scalekit.v1.auditlogs.ListAuthLogRequest\x1a*.scalekit.v1.auditlogs.ListAuthLogResponse\"2\x82\xb5\x18\x02\x18T\x82\xd3\xe4\x93\x02&\x12$/api/v1/logs/authentication/requestsB5Z3github.com/scalekit-inc/scalekit/pkg/grpc/auditlogsb\x06proto3')
21
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%scalekit/v1/auditlogs/auditlogs.proto\x12\x15scalekit.v1.auditlogs\x1a\x1b\x62uf/validate/validate.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a!scalekit/v1/options/options.proto\"\xf0\x01\n\x12ListAuthLogRequest\x12\x1b\n\tpage_size\x18\x01 \x01(\rR\x08pageSize\x12\x1d\n\npage_token\x18\x02 \x01(\tR\tpageToken\x12\x14\n\x05\x65mail\x18\x03 \x01(\tR\x05\x65mail\x12\x16\n\x06status\x18\x04 \x01(\tR\x06status\x12\x39\n\nstart_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartTime\x12\x35\n\x08\x65nd_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x07\x65ndTime\"\xd7\x01\n\x13ListAuthLogResponse\x12&\n\x0fnext_page_token\x18\x01 \x01(\tR\rnextPageToken\x12.\n\x13previous_page_token\x18\x02 \x01(\tR\x11previousPageToken\x12\x1d\n\ntotal_size\x18\x03 \x01(\rR\ttotalSize\x12I\n\x0c\x61uthRequests\x18\x04 \x03(\x0b\x32%.scalekit.v1.auditlogs.AuthLogRequestR\x0c\x61uthRequests\"\xef\x02\n\x0e\x41uthLogRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12%\n\x0e\x65nvironment_id\x18\x02 \x01(\tR\renvironmentId\x12#\n\rconnection_id\x18\x03 \x01(\tR\x0c\x63onnectionId\x12&\n\x0f\x61uth_request_id\x18\x04 \x01(\tR\rauthRequestId\x12\x14\n\x05\x65mail\x18\x05 \x01(\tR\x05\x65mail\x12\'\n\x0f\x63onnection_type\x18\x06 \x01(\tR\x0e\x63onnectionType\x12/\n\x13\x63onnection_provider\x18\x07 \x01(\tR\x12\x63onnectionProvider\x12\x16\n\x06status\x18\x08 \x01(\tR\x06status\x12\x38\n\ttimestamp\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampR\ttimestamp2\xb2\x01\n\x10\x41uditLogsService\x12\x9d\x01\n\x10ListAuthRequests\x12).scalekit.v1.auditlogs.ListAuthLogRequest\x1a*.scalekit.v1.auditlogs.ListAuthLogResponse\"2\x82\xb5\x18\x02\x18T\x82\xd3\xe4\x93\x02&\x12$/api/v1/logs/authentication/requestsB5Z3github.com/scalekit-inc/scalekit/pkg/grpc/auditlogsb\x06proto3')
22
22
 
23
23
  _globals = globals()
24
24
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -31,9 +31,9 @@ if not _descriptor._USE_C_DESCRIPTORS:
31
31
  _globals['_LISTAUTHLOGREQUEST']._serialized_start=192
32
32
  _globals['_LISTAUTHLOGREQUEST']._serialized_end=432
33
33
  _globals['_LISTAUTHLOGRESPONSE']._serialized_start=435
34
- _globals['_LISTAUTHLOGRESPONSE']._serialized_end=602
35
- _globals['_AUTHLOGREQUEST']._serialized_start=605
36
- _globals['_AUTHLOGREQUEST']._serialized_end=944
37
- _globals['_AUDITLOGSSERVICE']._serialized_start=947
38
- _globals['_AUDITLOGSSERVICE']._serialized_end=1125
34
+ _globals['_LISTAUTHLOGRESPONSE']._serialized_end=650
35
+ _globals['_AUTHLOGREQUEST']._serialized_start=653
36
+ _globals['_AUTHLOGREQUEST']._serialized_end=1020
37
+ _globals['_AUDITLOGSSERVICE']._serialized_start=1023
38
+ _globals['_AUDITLOGSSERVICE']._serialized_end=1201
39
39
  # @@protoc_insertion_point(module_scope)
@@ -26,14 +26,16 @@ class ListAuthLogRequest(_message.Message):
26
26
  def __init__(self, page_size: _Optional[int] = ..., page_token: _Optional[str] = ..., email: _Optional[str] = ..., status: _Optional[str] = ..., start_time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., end_time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ...
27
27
 
28
28
  class ListAuthLogResponse(_message.Message):
29
- __slots__ = ("next_page_token", "total_size", "authRequests")
29
+ __slots__ = ("next_page_token", "previous_page_token", "total_size", "authRequests")
30
30
  NEXT_PAGE_TOKEN_FIELD_NUMBER: _ClassVar[int]
31
+ PREVIOUS_PAGE_TOKEN_FIELD_NUMBER: _ClassVar[int]
31
32
  TOTAL_SIZE_FIELD_NUMBER: _ClassVar[int]
32
33
  AUTHREQUESTS_FIELD_NUMBER: _ClassVar[int]
33
34
  next_page_token: str
35
+ previous_page_token: str
34
36
  total_size: int
35
37
  authRequests: _containers.RepeatedCompositeFieldContainer[AuthLogRequest]
36
- def __init__(self, next_page_token: _Optional[str] = ..., total_size: _Optional[int] = ..., authRequests: _Optional[_Iterable[_Union[AuthLogRequest, _Mapping]]] = ...) -> None: ...
38
+ def __init__(self, next_page_token: _Optional[str] = ..., previous_page_token: _Optional[str] = ..., total_size: _Optional[int] = ..., authRequests: _Optional[_Iterable[_Union[AuthLogRequest, _Mapping]]] = ...) -> None: ...
37
39
 
38
40
  class AuthLogRequest(_message.Message):
39
41
  __slots__ = ("organization_id", "environment_id", "connection_id", "auth_request_id", "email", "connection_type", "connection_provider", "status", "timestamp")
@@ -54,5 +56,5 @@ class AuthLogRequest(_message.Message):
54
56
  connection_type: str
55
57
  connection_provider: str
56
58
  status: str
57
- timestamp: str
58
- def __init__(self, organization_id: _Optional[str] = ..., environment_id: _Optional[str] = ..., connection_id: _Optional[str] = ..., auth_request_id: _Optional[str] = ..., email: _Optional[str] = ..., connection_type: _Optional[str] = ..., connection_provider: _Optional[str] = ..., status: _Optional[str] = ..., timestamp: _Optional[str] = ...) -> None: ...
59
+ timestamp: _timestamp_pb2.Timestamp
60
+ def __init__(self, organization_id: _Optional[str] = ..., environment_id: _Optional[str] = ..., connection_id: _Optional[str] = ..., auth_request_id: _Optional[str] = ..., email: _Optional[str] = ..., connection_type: _Optional[str] = ..., connection_provider: _Optional[str] = ..., status: _Optional[str] = ..., timestamp: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ...
@@ -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\"Z\n\x17ListAuthMethodsResponse\x12?\n\x0c\x61uth_methods\x18\x01 \x03(\x0b\x32\x1c.scalekit.v1.auth.AuthMethodR\x0b\x61uthMethods\"\xc1\x05\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\x12G\n\x08provider\x18\x03 \x01(\x0e\x32+.scalekit.v1.connections.ConnectionProviderR\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\x42\x14\n\x12_passwordless_typeB\x18\n\x16_code_challenge_length\"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\"_\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\"_\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*:\n\x06Intent\x12\x16\n\x12INTENT_UNSPECIFIED\x10\x00\x12\x0b\n\x07sign_in\x10\x01\x12\x0b\n\x07sign_up\x10\x02*\x9e\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\x32\xa7\x0e\n\x0b\x41uthService\x12w\n\x0fListAuthMethods\x12\x16.google.protobuf.Empty\x1a).scalekit.v1.auth.ListAuthMethodsResponse\"!\x82\xb5\x18\x02\x18\x01\x82\xd3\xe4\x93\x02\x15\x12\x13/api/v1/authmethods\x12\xab\x01\n\x13\x44iscoveryAuthMethod\x12,.scalekit.v1.auth.DiscoveryAuthMethodRequest\x1a-.scalekit.v1.auth.DiscoveryAuthMethodResponse\"7\x82\xb5\x18\x02\x18\x01\x82\xd3\xe4\x93\x02+\"\x16/api/v1/auth:discovery:\x11\x64iscovery_request\x12\xab\x01\n\x15VerifyPasswordLessOtp\x12+.scalekit.v1.auth.VerifyPasswordLessRequest\x1a,.scalekit.v1.auth.VerifyPasswordLessResponse\"7\x82\xb5\x18\x02\x18\x01\x82\xd3\xe4\x93\x02+\" /api/v1/auth/passwordless:verify:\x07otp_req\x12t\n\x12ResendPasswordless\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\".\x82\xb5\x18\x02\x18\x01\x82\xd3\xe4\x93\x02\"\" /api/v1/auth/passwordless:resend\x12\x8a\x01\n\x15ListUserOrganizations\x12\x16.google.protobuf.Empty\x1a/.scalekit.v1.auth.ListUserOrganizationsResponse\"(\x82\xb5\x18\x02\x18\x01\x82\xd3\xe4\x93\x02\x1c\x12\x1a/api/v1/auth:organizations\x12\x95\x01\n\x12SignupOrganization\x12+.scalekit.v1.auth.SignupOrganizationRequest\x1a,.scalekit.v1.auth.SignupOrganizationResponse\"$\x82\xb5\x18\x02\x18\x01\x82\xd3\xe4\x93\x02\x18\"\x13/api/v1/auth:signup:\x01*\x12p\n\x0cGetAuthState\x12\x16.google.protobuf.Empty\x1a&.scalekit.v1.auth.GetAuthStateResponse\" \x82\xb5\x18\x02\x18\x01\x82\xd3\xe4\x93\x02\x14\x12\x12/api/v1/auth/state\x12[\n\x06Logout\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"!\x82\xb5\x18\x02\x18\x01\x82\xd3\xe4\x93\x02\x15\"\x13/api/v1/auth/logout\x12h\n\x10GetActiveSession\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"$\x82\xb5\x18\x02\x18\x01\x82\xd3\xe4\x93\x02\x18\x12\x16/api/v1/session:active\x12\xa3\x01\n\x15GetAuthCustomizations\x12..scalekit.v1.auth.GetAuthCustomizationsRequest\x1a/.scalekit.v1.auth.GetAuthCustomizationsResponse\")\x82\xb5\x18\x02\x18\x01\x82\xd3\xe4\x93\x02\x1d\x12\x1b/api/v1/auth:customizations\x12y\n\x0fGetAuthFeatures\x12\x16.google.protobuf.Empty\x1a).scalekit.v1.auth.GetAuthFeaturesResponse\"#\x82\xb5\x18\x02\x18\x01\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\"Z\n\x17ListAuthMethodsResponse\x12?\n\x0c\x61uth_methods\x18\x01 \x03(\x0b\x32\x1c.scalekit.v1.auth.AuthMethodR\x0b\x61uthMethods\"\x94\x05\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\x42\x14\n\x12_passwordless_typeB\x18\n\x16_code_challenge_length\"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\"_\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\"_\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*:\n\x06Intent\x12\x16\n\x12INTENT_UNSPECIFIED\x10\x00\x12\x0b\n\x07sign_in\x10\x01\x12\x0b\n\x07sign_up\x10\x02*\x9e\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\x32\xa7\x0e\n\x0b\x41uthService\x12w\n\x0fListAuthMethods\x12\x16.google.protobuf.Empty\x1a).scalekit.v1.auth.ListAuthMethodsResponse\"!\x82\xb5\x18\x02\x18\x01\x82\xd3\xe4\x93\x02\x15\x12\x13/api/v1/authmethods\x12\xab\x01\n\x13\x44iscoveryAuthMethod\x12,.scalekit.v1.auth.DiscoveryAuthMethodRequest\x1a-.scalekit.v1.auth.DiscoveryAuthMethodResponse\"7\x82\xb5\x18\x02\x18\x01\x82\xd3\xe4\x93\x02+\"\x16/api/v1/auth:discovery:\x11\x64iscovery_request\x12\xab\x01\n\x15VerifyPasswordLessOtp\x12+.scalekit.v1.auth.VerifyPasswordLessRequest\x1a,.scalekit.v1.auth.VerifyPasswordLessResponse\"7\x82\xb5\x18\x02\x18\x01\x82\xd3\xe4\x93\x02+\" /api/v1/auth/passwordless:verify:\x07otp_req\x12t\n\x12ResendPasswordless\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\".\x82\xb5\x18\x02\x18\x01\x82\xd3\xe4\x93\x02\"\" /api/v1/auth/passwordless:resend\x12\x8a\x01\n\x15ListUserOrganizations\x12\x16.google.protobuf.Empty\x1a/.scalekit.v1.auth.ListUserOrganizationsResponse\"(\x82\xb5\x18\x02\x18\x01\x82\xd3\xe4\x93\x02\x1c\x12\x1a/api/v1/auth:organizations\x12\x95\x01\n\x12SignupOrganization\x12+.scalekit.v1.auth.SignupOrganizationRequest\x1a,.scalekit.v1.auth.SignupOrganizationResponse\"$\x82\xb5\x18\x02\x18\x01\x82\xd3\xe4\x93\x02\x18\"\x13/api/v1/auth:signup:\x01*\x12p\n\x0cGetAuthState\x12\x16.google.protobuf.Empty\x1a&.scalekit.v1.auth.GetAuthStateResponse\" \x82\xb5\x18\x02\x18\x01\x82\xd3\xe4\x93\x02\x14\x12\x12/api/v1/auth/state\x12[\n\x06Logout\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"!\x82\xb5\x18\x02\x18\x01\x82\xd3\xe4\x93\x02\x15\"\x13/api/v1/auth/logout\x12h\n\x10GetActiveSession\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"$\x82\xb5\x18\x02\x18\x01\x82\xd3\xe4\x93\x02\x18\x12\x16/api/v1/session:active\x12\xa3\x01\n\x15GetAuthCustomizations\x12..scalekit.v1.auth.GetAuthCustomizationsRequest\x1a/.scalekit.v1.auth.GetAuthCustomizationsResponse\")\x82\xb5\x18\x02\x18\x01\x82\xd3\xe4\x93\x02\x1d\x12\x1b/api/v1/auth:customizations\x12y\n\x0fGetAuthFeatures\x12\x16.google.protobuf.Empty\x1a).scalekit.v1.auth.GetAuthFeaturesResponse\"#\x82\xb5\x18\x02\x18\x01\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)
@@ -105,48 +105,48 @@ if not _descriptor._USE_C_DESCRIPTORS:
105
105
  _globals['_AUTHSERVICE'].methods_by_name['GetAuthFeatures']._serialized_options = b'\202\265\030\002\030\001\202\323\344\223\002\027\022\025/api/v1/auth:features'
106
106
  _globals['_AUTHSERVICE'].methods_by_name['UpdateLoginUserDetails']._loaded_options = None
107
107
  _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'
108
- _globals['_INTENT']._serialized_start=4764
109
- _globals['_INTENT']._serialized_end=4822
110
- _globals['_AUTHSTATE']._serialized_start=4825
111
- _globals['_AUTHSTATE']._serialized_end=5239
108
+ _globals['_INTENT']._serialized_start=4719
109
+ _globals['_INTENT']._serialized_end=4777
110
+ _globals['_AUTHSTATE']._serialized_start=4780
111
+ _globals['_AUTHSTATE']._serialized_end=5194
112
112
  _globals['_LISTAUTHMETHODSRESPONSE']._serialized_start=423
113
113
  _globals['_LISTAUTHMETHODSRESPONSE']._serialized_end=513
114
114
  _globals['_AUTHMETHOD']._serialized_start=516
115
- _globals['_AUTHMETHOD']._serialized_end=1221
116
- _globals['_DISCOVERYAUTHMETHODREQUEST']._serialized_start=1223
117
- _globals['_DISCOVERYAUTHMETHODREQUEST']._serialized_end=1332
118
- _globals['_DISCOVERYREQUEST']._serialized_start=1335
119
- _globals['_DISCOVERYREQUEST']._serialized_end=1514
120
- _globals['_DISCOVERYAUTHMETHODRESPONSE']._serialized_start=1516
121
- _globals['_DISCOVERYAUTHMETHODRESPONSE']._serialized_end=1608
122
- _globals['_GETAUTHCUSTOMIZATIONSREQUEST']._serialized_start=1610
123
- _globals['_GETAUTHCUSTOMIZATIONSREQUEST']._serialized_end=1640
124
- _globals['_GETAUTHCUSTOMIZATIONSRESPONSE']._serialized_start=1642
125
- _globals['_GETAUTHCUSTOMIZATIONSRESPONSE']._serialized_end=1753
126
- _globals['_GETAUTHFEATURESRESPONSE']._serialized_start=1755
127
- _globals['_GETAUTHFEATURESRESPONSE']._serialized_end=1833
128
- _globals['_VERIFYPASSWORDLESSREQUEST']._serialized_start=1835
129
- _globals['_VERIFYPASSWORDLESSREQUEST']._serialized_end=1917
130
- _globals['_VERIFYPASSWORDLESSRESPONSE']._serialized_start=1919
131
- _globals['_VERIFYPASSWORDLESSRESPONSE']._serialized_end=1947
132
- _globals['_OTPREQUEST']._serialized_start=1949
133
- _globals['_OTPREQUEST']._serialized_end=2054
134
- _globals['_LISTUSERORGANIZATIONSRESPONSE']._serialized_start=2057
135
- _globals['_LISTUSERORGANIZATIONSRESPONSE']._serialized_end=2269
136
- _globals['_ORGANIZATION']._serialized_start=2271
137
- _globals['_ORGANIZATION']._serialized_end=2366
138
- _globals['_USERDETAILS']._serialized_start=2368
139
- _globals['_USERDETAILS']._serialized_end=2463
140
- _globals['_SIGNUPORGANIZATIONREQUEST']._serialized_start=2466
141
- _globals['_SIGNUPORGANIZATIONREQUEST']._serialized_end=2662
142
- _globals['_SIGNUPORGANIZATIONRESPONSE']._serialized_start=2664
143
- _globals['_SIGNUPORGANIZATIONRESPONSE']._serialized_end=2778
144
- _globals['_UPDATELOGINUSERDETAILSREQUEST']._serialized_start=2781
145
- _globals['_UPDATELOGINUSERDETAILSREQUEST']._serialized_end=3123
146
- _globals['_USER']._serialized_start=3126
147
- _globals['_USER']._serialized_end=4678
148
- _globals['_GETAUTHSTATERESPONSE']._serialized_start=4680
149
- _globals['_GETAUTHSTATERESPONSE']._serialized_end=4762
150
- _globals['_AUTHSERVICE']._serialized_start=5242
151
- _globals['_AUTHSERVICE']._serialized_end=7073
115
+ _globals['_AUTHMETHOD']._serialized_end=1176
116
+ _globals['_DISCOVERYAUTHMETHODREQUEST']._serialized_start=1178
117
+ _globals['_DISCOVERYAUTHMETHODREQUEST']._serialized_end=1287
118
+ _globals['_DISCOVERYREQUEST']._serialized_start=1290
119
+ _globals['_DISCOVERYREQUEST']._serialized_end=1469
120
+ _globals['_DISCOVERYAUTHMETHODRESPONSE']._serialized_start=1471
121
+ _globals['_DISCOVERYAUTHMETHODRESPONSE']._serialized_end=1563
122
+ _globals['_GETAUTHCUSTOMIZATIONSREQUEST']._serialized_start=1565
123
+ _globals['_GETAUTHCUSTOMIZATIONSREQUEST']._serialized_end=1595
124
+ _globals['_GETAUTHCUSTOMIZATIONSRESPONSE']._serialized_start=1597
125
+ _globals['_GETAUTHCUSTOMIZATIONSRESPONSE']._serialized_end=1708
126
+ _globals['_GETAUTHFEATURESRESPONSE']._serialized_start=1710
127
+ _globals['_GETAUTHFEATURESRESPONSE']._serialized_end=1788
128
+ _globals['_VERIFYPASSWORDLESSREQUEST']._serialized_start=1790
129
+ _globals['_VERIFYPASSWORDLESSREQUEST']._serialized_end=1872
130
+ _globals['_VERIFYPASSWORDLESSRESPONSE']._serialized_start=1874
131
+ _globals['_VERIFYPASSWORDLESSRESPONSE']._serialized_end=1902
132
+ _globals['_OTPREQUEST']._serialized_start=1904
133
+ _globals['_OTPREQUEST']._serialized_end=2009
134
+ _globals['_LISTUSERORGANIZATIONSRESPONSE']._serialized_start=2012
135
+ _globals['_LISTUSERORGANIZATIONSRESPONSE']._serialized_end=2224
136
+ _globals['_ORGANIZATION']._serialized_start=2226
137
+ _globals['_ORGANIZATION']._serialized_end=2321
138
+ _globals['_USERDETAILS']._serialized_start=2323
139
+ _globals['_USERDETAILS']._serialized_end=2418
140
+ _globals['_SIGNUPORGANIZATIONREQUEST']._serialized_start=2421
141
+ _globals['_SIGNUPORGANIZATIONREQUEST']._serialized_end=2617
142
+ _globals['_SIGNUPORGANIZATIONRESPONSE']._serialized_start=2619
143
+ _globals['_SIGNUPORGANIZATIONRESPONSE']._serialized_end=2733
144
+ _globals['_UPDATELOGINUSERDETAILSREQUEST']._serialized_start=2736
145
+ _globals['_UPDATELOGINUSERDETAILSREQUEST']._serialized_end=3078
146
+ _globals['_USER']._serialized_start=3081
147
+ _globals['_USER']._serialized_end=4633
148
+ _globals['_GETAUTHSTATERESPONSE']._serialized_start=4635
149
+ _globals['_GETAUTHSTATERESPONSE']._serialized_end=4717
150
+ _globals['_AUTHSERVICE']._serialized_start=5197
151
+ _globals['_AUTHSERVICE']._serialized_end=7028
152
152
  # @@protoc_insertion_point(module_scope)
@@ -75,11 +75,11 @@ class AuthMethod(_message.Message):
75
75
  CODE_CHALLENGE_LENGTH_FIELD_NUMBER: _ClassVar[int]
76
76
  connection_id: str
77
77
  connection_type: _connections_pb2.ConnectionType
78
- provider: _connections_pb2.ConnectionProvider
78
+ provider: str
79
79
  auth_initiation_uri: str
80
80
  passwordless_type: _connections_pb2.PasswordlessType
81
81
  code_challenge_length: int
82
- def __init__(self, connection_id: _Optional[str] = ..., connection_type: _Optional[_Union[_connections_pb2.ConnectionType, str]] = ..., provider: _Optional[_Union[_connections_pb2.ConnectionProvider, str]] = ..., auth_initiation_uri: _Optional[str] = ..., passwordless_type: _Optional[_Union[_connections_pb2.PasswordlessType, str]] = ..., code_challenge_length: _Optional[int] = ...) -> None: ...
82
+ def __init__(self, connection_id: _Optional[str] = ..., connection_type: _Optional[_Union[_connections_pb2.ConnectionType, str]] = ..., provider: _Optional[str] = ..., auth_initiation_uri: _Optional[str] = ..., passwordless_type: _Optional[_Union[_connections_pb2.PasswordlessType, str]] = ..., code_challenge_length: _Optional[int] = ...) -> None: ...
83
83
 
84
84
  class DiscoveryAuthMethodRequest(_message.Message):
85
85
  __slots__ = ("discovery_request",)
@@ -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\"\xc8\x10\n\x17SendPasswordlessRequest\x12\xad\x01\n\x05\x65mail\x18\x01 \x01(\tB\x96\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\nr\x05\x10\x01\x18\xc0\x02\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\xdd\x05\n\x12template_variables\x18\x06 \x03(\x0b\x32M.scalekit.v1.auth.passwordless.SendPasswordlessRequest.TemplateVariablesEntryB\xde\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\x05\x9a\x01\x02\x10\x1eR\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\xf0\x15\n\x13PasswordlessService\x12\xcb\x07\n\x15SendPasswordlessEmail\x12\x36.scalekit.v1.auth.passwordless.SendPasswordlessRequest\x1a\x37.scalekit.v1.auth.passwordless.SendPasswordlessResponse\"\xc0\x06\x92\x41\x8c\x06\n\x11Passwordless Auth\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/passwordlessSendPasswordlessResponsej\x94\x03\n\rx-codeSamples\x12\x82\x03\x32\xff\x02\n\xfc\x02*\xf9\x02\n\x16\n\x05label\x12\r\x1a\x0bNode.js SDK\n\x14\n\x04lang\x12\x0c\x1a\njavascript\n\xc8\x02\n\x06source\x12\xbd\x02\x1a\xba\x02\x63onst response = await scalekit.passwordless.\n sendPasswordlessEmail(\n\t\"john.doe@example.com\",\n\t{\n\t\ttemplate: \"SIGNIN\",\n\t\texpiresIn: 100,\n\t\tmagiclinkAuthUri: \"https://www.google.com\",\n\t\ttemplateVariables: {\n\t\t\temployeeID: \"EMP523\",\n\t\t\tteamName: \"Alpha Team\",\n\t\t\tsupportEmail: \"support@yourcompany.com\",\n\t\t},\n\t}\n);\x82\xb5\x18\x02\x18\x04\x82\xd3\xe4\x93\x02$\"\x1f/api/v1/passwordless/email/send:\x01*\x12\xa0\x06\n\x17VerifyPasswordlessEmail\x12\x38.scalekit.v1.auth.passwordless.VerifyPasswordLessRequest\x1a\x39.scalekit.v1.auth.passwordless.VerifyPasswordLessResponse\"\x8f\x05\x92\x41\xd9\x04\n\x11Passwordless Auth\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.VerifyPasswordLessResponsej\xc4\x02\n\rx-codeSamples\x12\xb2\x02\x32\xaf\x02\n\xac\x02*\xa9\x02\n\x16\n\x05label\x12\r\x1a\x0bNode.js SDK\n\x14\n\x04lang\x12\x0c\x1a\njavascript\n\xf8\x01\n\x06source\x12\xed\x01\x1a\xea\x01\x63onst { authRequestId } = sendResponse;\nconst verifyResponse = await scalekit.passwordless.\n verifyPasswordlessEmail(\n\t// Verification Code (OTP)\n\t{ code: \"123456\" },\n\t// Magic Link Token\n\t{ linkToken: link_token },\n\tauthRequestId\n);\x82\xb5\x18\x02\x18\x04\x82\xd3\xe4\x93\x02&\"!/api/v1/passwordless/email/verify:\x01*\x12\x8b\x06\n\x17ResendPasswordlessEmail\x12\x38.scalekit.v1.auth.passwordless.ResendPasswordlessRequest\x1a\x37.scalekit.v1.auth.passwordless.SendPasswordlessResponse\"\xfc\x04\x92\x41\xc6\x04\n\x11Passwordless Auth\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.SendPasswordlessResponsej\xe3\x01\n\rx-codeSamples\x12\xd1\x01\x32\xce\x01\n\xcb\x01*\xc8\x01\n\x16\n\x05label\x12\r\x1a\x0bNode.js SDK\n\x14\n\x04lang\x12\x0c\x1a\njavascript\n\x97\x01\n\x06source\x12\x8c\x01\x1a\x89\x01\x63onst { authRequestId } = sendResponse;\nconst resendResponse = await scalekit.passwordless\n.resendPasswordlessEmail(\n authRequestId\n);\x82\xb5\x18\x02\x18\x04\x82\xd3\xe4\x93\x02&\"!/api/v1/passwordless/email/resend:\x01*\x1a\xd9\x01\x92\x41\xd5\x01\n\x11Passwordless Auth\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')
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\"\xc8\x10\n\x17SendPasswordlessRequest\x12\xad\x01\n\x05\x65mail\x18\x01 \x01(\tB\x96\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\nr\x05\x10\x01\x18\xc0\x02\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\xdd\x05\n\x12template_variables\x18\x06 \x03(\x0b\x32M.scalekit.v1.auth.passwordless.SendPasswordlessRequest.TemplateVariablesEntryB\xde\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\x05\x9a\x01\x02\x10\x1eR\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\xe9!\n\x13PasswordlessService\x12\xdb\x0c\n\x15SendPasswordlessEmail\x12\x36.scalekit.v1.auth.passwordless.SendPasswordlessRequest\x1a\x37.scalekit.v1.auth.passwordless.SendPasswordlessResponse\"\xd0\x0b\x92\x41\x9c\x0b\n\x11Passwordless Auth\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/passwordlessSendPasswordlessResponsej\xa4\x08\n\rx-codeSamples\x12\x92\x08\x32\x8f\x08\n\xfc\x02*\xf9\x02\n\x16\n\x05label\x12\r\x1a\x0bNode.js SDK\n\x14\n\x04lang\x12\x0c\x1a\njavascript\n\xc8\x02\n\x06source\x12\xbd\x02\x1a\xba\x02\x63onst response = await scalekit.passwordless.\n sendPasswordlessEmail(\n\t\"john.doe@example.com\",\n\t{\n\t\ttemplate: \"SIGNIN\",\n\t\texpiresIn: 100,\n\t\tmagiclinkAuthUri: \"https://www.google.com\",\n\t\ttemplateVariables: {\n\t\t\temployeeID: \"EMP523\",\n\t\t\tteamName: \"Alpha Team\",\n\t\t\tsupportEmail: \"support@yourcompany.com\",\n\t\t},\n\t}\n);\n\x8d\x05*\x8a\x05\n\x11\n\x05label\x12\x08\x1a\x06Go SDK\n\x0c\n\x04lang\x12\x04\x1a\x02go\n\xe6\x04\n\x06source\x12\xdb\x04\x1a\xd8\x04templateType := scalekit.TemplateTypeSignin\nresponse, err := client.Passwordless().SendPasswordlessEmail(\n ctx,\n \"john.doe@example.com\",\n &scalekit.SendPasswordlessOptions{\n Template: &templateType,\n ExpiresIn: 100,\n MagiclinkAuthUri: \"https://www.google.com\",\n TemplateVariables: map[string]string{\n \"employeeID\": \"EMP523\",\n \"teamName\": \"Alpha Team\",\n \"supportEmail\": \"support@yourcompany.com\",\n },\n },\n)\n\nif err != nil {\n // Handle error\n return\n}\n\nauthRequestId := response.AuthRequestId\x82\xb5\x18\x02\x18\x04\x82\xd3\xe4\x93\x02$\"\x1f/api/v1/passwordless/email/send:\x01*\x12\xbc\x0b\n\x17VerifyPasswordlessEmail\x12\x38.scalekit.v1.auth.passwordless.VerifyPasswordLessRequest\x1a\x39.scalekit.v1.auth.passwordless.VerifyPasswordLessResponse\"\xab\n\x92\x41\xf5\t\n\x11Passwordless Auth\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.VerifyPasswordLessResponsej\xe0\x07\n\rx-codeSamples\x12\xce\x07\x32\xcb\x07\n\xac\x02*\xa9\x02\n\x16\n\x05label\x12\r\x1a\x0bNode.js SDK\n\x14\n\x04lang\x12\x0c\x1a\njavascript\n\xf8\x01\n\x06source\x12\xed\x01\x1a\xea\x01\x63onst { authRequestId } = sendResponse;\nconst verifyResponse = await scalekit.passwordless.\n verifyPasswordlessEmail(\n\t// Verification Code (OTP)\n\t{ code: \"123456\" },\n\t// Magic Link Token\n\t{ linkToken: link_token },\n\tauthRequestId\n);\n\x99\x05*\x96\x05\n\x11\n\x05label\x12\x08\x1a\x06Go SDK\n\x0c\n\x04lang\x12\x04\x1a\x02go\n\xf2\x04\n\x06source\x12\xe7\x04\x1a\xe4\x04// Verify with OTP code\nverifyResponse, err := client.Passwordless().VerifyPasswordlessEmail(\n ctx,\n &scalekit.VerifyPasswordlessOptions{\n Code: \"123456\", // OTP code\n AuthRequestId: authRequestId,\n },\n)\n\nif err != nil {\n // Handle error\n return\n}\n\n// Verify with magic link token\nverifyResponse, err := client.Passwordless().VerifyPasswordlessEmail(\n ctx,\n &scalekit.VerifyPasswordlessOptions{\n LinkToken: linkToken, // Magic link token\n },\n)\n\nif err != nil {\n // Handle error\n return\n}\n\n// User verified successfully\nuserEmail := verifyResponse.Email\x82\xb5\x18\x02\x18\x04\x82\xd3\xe4\x93\x02&\"!/api/v1/passwordless/email/verify:\x01*\x12\xd8\x07\n\x17ResendPasswordlessEmail\x12\x38.scalekit.v1.auth.passwordless.ResendPasswordlessRequest\x1a\x37.scalekit.v1.auth.passwordless.SendPasswordlessResponse\"\xc9\x06\x92\x41\x93\x06\n\x11Passwordless Auth\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.SendPasswordlessResponsej\xb0\x03\n\rx-codeSamples\x12\x9e\x03\x32\x9b\x03\n\xcb\x01*\xc8\x01\n\x16\n\x05label\x12\r\x1a\x0bNode.js SDK\n\x14\n\x04lang\x12\x0c\x1a\njavascript\n\x97\x01\n\x06source\x12\x8c\x01\x1a\x89\x01\x63onst { authRequestId } = sendResponse;\nconst resendResponse = await scalekit.passwordless\n.resendPasswordlessEmail(\n authRequestId\n);\n\xca\x01*\xc7\x01\n\x11\n\x05label\x12\x08\x1a\x06Go SDK\n\x0c\n\x04lang\x12\x04\x1a\x02go\n\xa3\x01\n\x06source\x12\x98\x01\x1a\x95\x01resendResponse, err := client.Passwordless().ResendPasswordlessEmail(\n ctx,\n authRequestId,\n)\n\nif err != nil {\n // Handle error\n return\n}\x82\xb5\x18\x02\x18\x04\x82\xd3\xe4\x93\x02&\"!/api/v1/passwordless/email/resend:\x01*\x1a\xd9\x01\x92\x41\xd5\x01\n\x11Passwordless Auth\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)
@@ -72,11 +72,11 @@ if not _descriptor._USE_C_DESCRIPTORS:
72
72
  _globals['_PASSWORDLESSSERVICE']._loaded_options = None
73
73
  _globals['_PASSWORDLESSSERVICE']._serialized_options = b'\222A\325\001\n\021Passwordless Auth\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\214\006\n\021Passwordless Auth\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/passwordlessSendPasswordlessResponsej\224\003\n\rx-codeSamples\022\202\0032\377\002\n\374\002*\371\002\n\026\n\005label\022\r\032\013Node.js SDK\n\024\n\004lang\022\014\032\njavascript\n\310\002\n\006source\022\275\002\032\272\002const response = await scalekit.passwordless.\n sendPasswordlessEmail(\n\t\"john.doe@example.com\",\n\t{\n\t\ttemplate: \"SIGNIN\",\n\t\texpiresIn: 100,\n\t\tmagiclinkAuthUri: \"https://www.google.com\",\n\t\ttemplateVariables: {\n\t\t\temployeeID: \"EMP523\",\n\t\t\tteamName: \"Alpha Team\",\n\t\t\tsupportEmail: \"support@yourcompany.com\",\n\t\t},\n\t}\n);\202\265\030\002\030\004\202\323\344\223\002$\"\037/api/v1/passwordless/email/send:\001*'
75
+ _globals['_PASSWORDLESSSERVICE'].methods_by_name['SendPasswordlessEmail']._serialized_options = b'\222A\234\013\n\021Passwordless Auth\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/passwordlessSendPasswordlessResponsej\244\010\n\rx-codeSamples\022\222\0102\217\010\n\374\002*\371\002\n\026\n\005label\022\r\032\013Node.js SDK\n\024\n\004lang\022\014\032\njavascript\n\310\002\n\006source\022\275\002\032\272\002const response = await scalekit.passwordless.\n sendPasswordlessEmail(\n\t\"john.doe@example.com\",\n\t{\n\t\ttemplate: \"SIGNIN\",\n\t\texpiresIn: 100,\n\t\tmagiclinkAuthUri: \"https://www.google.com\",\n\t\ttemplateVariables: {\n\t\t\temployeeID: \"EMP523\",\n\t\t\tteamName: \"Alpha Team\",\n\t\t\tsupportEmail: \"support@yourcompany.com\",\n\t\t},\n\t}\n);\n\215\005*\212\005\n\021\n\005label\022\010\032\006Go SDK\n\014\n\004lang\022\004\032\002go\n\346\004\n\006source\022\333\004\032\330\004templateType := scalekit.TemplateTypeSignin\nresponse, err := client.Passwordless().SendPasswordlessEmail(\n ctx,\n \"john.doe@example.com\",\n &scalekit.SendPasswordlessOptions{\n Template: &templateType,\n ExpiresIn: 100,\n MagiclinkAuthUri: \"https://www.google.com\",\n TemplateVariables: map[string]string{\n \"employeeID\": \"EMP523\",\n \"teamName\": \"Alpha Team\",\n \"supportEmail\": \"support@yourcompany.com\",\n },\n },\n)\n\nif err != nil {\n // Handle error\n return\n}\n\nauthRequestId := response.AuthRequestId\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\331\004\n\021Passwordless Auth\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.VerifyPasswordLessResponsej\304\002\n\rx-codeSamples\022\262\0022\257\002\n\254\002*\251\002\n\026\n\005label\022\r\032\013Node.js SDK\n\024\n\004lang\022\014\032\njavascript\n\370\001\n\006source\022\355\001\032\352\001const { authRequestId } = sendResponse;\nconst verifyResponse = await scalekit.passwordless.\n verifyPasswordlessEmail(\n\t// Verification Code (OTP)\n\t{ code: \"123456\" },\n\t// Magic Link Token\n\t{ linkToken: link_token },\n\tauthRequestId\n);\202\265\030\002\030\004\202\323\344\223\002&\"!/api/v1/passwordless/email/verify:\001*'
77
+ _globals['_PASSWORDLESSSERVICE'].methods_by_name['VerifyPasswordlessEmail']._serialized_options = b'\222A\365\t\n\021Passwordless Auth\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.VerifyPasswordLessResponsej\340\007\n\rx-codeSamples\022\316\0072\313\007\n\254\002*\251\002\n\026\n\005label\022\r\032\013Node.js SDK\n\024\n\004lang\022\014\032\njavascript\n\370\001\n\006source\022\355\001\032\352\001const { authRequestId } = sendResponse;\nconst verifyResponse = await scalekit.passwordless.\n verifyPasswordlessEmail(\n\t// Verification Code (OTP)\n\t{ code: \"123456\" },\n\t// Magic Link Token\n\t{ linkToken: link_token },\n\tauthRequestId\n);\n\231\005*\226\005\n\021\n\005label\022\010\032\006Go SDK\n\014\n\004lang\022\004\032\002go\n\362\004\n\006source\022\347\004\032\344\004// Verify with OTP code\nverifyResponse, err := client.Passwordless().VerifyPasswordlessEmail(\n ctx,\n &scalekit.VerifyPasswordlessOptions{\n Code: \"123456\", // OTP code\n AuthRequestId: authRequestId,\n },\n)\n\nif err != nil {\n // Handle error\n return\n}\n\n// Verify with magic link token\nverifyResponse, err := client.Passwordless().VerifyPasswordlessEmail(\n ctx,\n &scalekit.VerifyPasswordlessOptions{\n LinkToken: linkToken, // Magic link token\n },\n)\n\nif err != nil {\n // Handle error\n return\n}\n\n// User verified successfully\nuserEmail := verifyResponse.Email\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\306\004\n\021Passwordless Auth\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.SendPasswordlessResponsej\343\001\n\rx-codeSamples\022\321\0012\316\001\n\313\001*\310\001\n\026\n\005label\022\r\032\013Node.js SDK\n\024\n\004lang\022\014\032\njavascript\n\227\001\n\006source\022\214\001\032\211\001const { authRequestId } = sendResponse;\nconst resendResponse = await scalekit.passwordless\n.resendPasswordlessEmail(\n authRequestId\n);\202\265\030\002\030\004\202\323\344\223\002&\"!/api/v1/passwordless/email/resend:\001*'
79
+ _globals['_PASSWORDLESSSERVICE'].methods_by_name['ResendPasswordlessEmail']._serialized_options = b'\222A\223\006\n\021Passwordless Auth\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.SendPasswordlessResponsej\260\003\n\rx-codeSamples\022\236\0032\233\003\n\313\001*\310\001\n\026\n\005label\022\r\032\013Node.js SDK\n\024\n\004lang\022\014\032\njavascript\n\227\001\n\006source\022\214\001\032\211\001const { authRequestId } = sendResponse;\nconst resendResponse = await scalekit.passwordless\n.resendPasswordlessEmail(\n authRequestId\n);\n\312\001*\307\001\n\021\n\005label\022\010\032\006Go SDK\n\014\n\004lang\022\004\032\002go\n\243\001\n\006source\022\230\001\032\225\001resendResponse, err := client.Passwordless().ResendPasswordlessEmail(\n ctx,\n authRequestId,\n)\n\nif err != nil {\n // Handle error\n return\n}\202\265\030\002\030\004\202\323\344\223\002&\"!/api/v1/passwordless/email/resend:\001*'
80
80
  _globals['_TEMPLATETYPE']._serialized_start=5488
81
81
  _globals['_TEMPLATETYPE']._serialized_end=5543
82
82
  _globals['_PASSWORDLESSTYPE']._serialized_start=5545
@@ -94,5 +94,5 @@ if not _descriptor._USE_C_DESCRIPTORS:
94
94
  _globals['_VERIFYPASSWORDLESSRESPONSE']._serialized_start=4570
95
95
  _globals['_VERIFYPASSWORDLESSRESPONSE']._serialized_end=5486
96
96
  _globals['_PASSWORDLESSSERVICE']._serialized_start=5634
97
- _globals['_PASSWORDLESSSERVICE']._serialized_end=8434
97
+ _globals['_PASSWORDLESSSERVICE']._serialized_end=9963
98
98
  # @@protoc_insertion_point(module_scope)