feat(api): move resource apis to beta (#6530)

Moves UserService, SessionService, SettingsService and OIDCService to beta state. This includes gRPC and HTTP path changes.
This commit is contained in:
Livio Spring 2023-09-13 14:43:01 +02:00 committed by GitHub
parent 841b21d9cd
commit be81570fb5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
80 changed files with 324 additions and 311 deletions

View File

@ -287,10 +287,15 @@ For easy copying to your reverse proxy configuration, here is the list of URL pa
/oidc/v1/
/saml/v2/
/oauth/v2/
/device
/oidc/v1/
/.well-known/openid-configuration
/openapi/
/v2alpha/
/zitadel.user.v2alpha.UserService/
/zitadel.session.v2alpha.SessionService/
/zitadel.settings.v2alpha.SettingsService/
/idps/callback
/v2beta/
/zitadel.user.v2beta.UserService/
/zitadel.session.v2beta.SessionService/
/zitadel.settings.v2beta.SettingsService/
/zitadel.oidc.v2beta.OIDCService/
/zitadel.org.v2beta.OrganizationService/
```

View File

@ -8,7 +8,7 @@ Request Example:
```bash
curl --request GET \
--url https://$ZITADEL_DOMAIN/v2alpha/settings/login \
--url https://$ZITADEL_DOMAIN/v2beta/settings/login \
--header 'Accept: application/json' \
--header 'Authorization: Bearer '"$TOKEN"''
```

View File

@ -7,7 +7,7 @@ Send the session token in the body of the request.
```bash
curl --request DELETE \
--url https://$ZITADEL_DOMAIN/v2alpha/sessions/218480890961985793 \
--url https://$ZITADEL_DOMAIN/v2beta/sessions/218480890961985793 \
--header 'Accept: application/json' \
--header 'Authorization: Bearer '"$TOKEN"''\
--header 'Content-Type: application/json' \

View File

@ -9,7 +9,7 @@ The list of session IDs can be sent in the “search sessions” request to get
```bash
curl --request POST \
--url https://$ZITADEL_DOMAIN/v2alpha/sessions/search \
--url https://$ZITADEL_DOMAIN/v2beta/sessions/search \
--header 'Accept: application/json' \
--header 'Authorization: Bearer '"$TOKEN"''\
--header 'Content-Type: application/json' \

View File

@ -8,7 +8,7 @@ Example Request:
```bash
curl --request PATCH \
--url https://$ZITADEL_DOMAIN/v2alpha/sessions/218480890961985793 \
--url https://$ZITADEL_DOMAIN/v2beta/sessions/218480890961985793 \
--header 'Accept: application/json' \
--header 'Authorization: Bearer '"$TOKEN"''\
--header 'Content-Type: application/json' \

View File

@ -26,7 +26,7 @@ In the response, you will get an authentication URL of the provider you like.
```bash
curl --request POST \
--url https://$ZITADEL_DOMAIN/v2alpha/idp_intents \
--url https://$ZITADEL_DOMAIN/v2beta/idp_intents \
--header 'Accept: application/json' \
--header 'Authorization: Bearer '"$TOKEN"''\
--header 'Content-Type: application/json' \
@ -71,7 +71,7 @@ To get the information of the provider, make a request to ZITADEL.
### Request
```bash
curl --request POST \
--url https://$ZITADEL_DOMAIN/v2alpha/idp_intents/$INTENT_ID \
--url https://$ZITADEL_DOMAIN/v2beta/idp_intents/$INTENT_ID \
--header 'Accept: application/json' \
--header 'Authorization: Bearer '"$TOKEN"''\
--header 'Content-Type: application/json' \
@ -127,7 +127,7 @@ This check requires that the previous step ended on the successful page and didn
#### Request
```bash
curl --request POST \
--url https://$ZITADEL_DOMAIN/v2alpha/sessions \
--url https://$ZITADEL_DOMAIN/v2beta/sessions \
--header 'Accept: application/json' \
--header 'Authorization: Bearer '"$TOKEN"''\
@ -158,7 +158,7 @@ The display name is used to list the linkings on the users.
#### Request
```bash
curl --request POST \
--url https://$ZITADEL_DOMAIN/v2alpha/users/human \
--url https://$ZITADEL_DOMAIN/v2beta/users/human \
--header 'Accept: application/json' \
--header 'Authorization: Bearer '"$TOKEN"''\
--header 'Content-Type: application/json' \
@ -196,7 +196,7 @@ If you want to link/connect to an existing account you can perform the add ident
#### Request
```bash
curl --request POST \
--url https://$ZITADEL_DOMAIN/v2alpha/users/users/218385419895570689/links \
--url https://$ZITADEL_DOMAIN/v2beta/users/users/218385419895570689/links \
--header 'Accept: application/json' \
--header 'Authorization: Bearer '"$TOKEN"''\
--header 'Content-Type: application/json' \

View File

@ -41,7 +41,7 @@ Request Example:
```bash
curl --request POST \
--url https://$ZITADEL_DOMAIN/v2alpha/users/$USER_ID/totp \
--url https://$ZITADEL_DOMAIN/v2beta/users/$USER_ID/totp \
--header 'Accept: application/json' \
--header 'Authorization: Bearer '"$TOKEN"''
--header 'Content-Type: application/json' \
@ -73,7 +73,7 @@ Request Example:
```bash
curl --request POST \
--url https://$ZITADEL_DOMAIN/v2alpha/users/$USER_ID/totp/verify \
--url https://$ZITADEL_DOMAIN/v2beta/users/$USER_ID/totp/verify \
--header 'Accept: application/json' \
--header 'Authorization: Bearer '"$TOKEN"''
--header 'Content-Type: application/json' \
@ -99,7 +99,7 @@ Example Request
```bash
curl --request POST \
--url https://$ZITADEL_DOMAIN/v2alpha/sessions \
--url https://$ZITADEL_DOMAIN/v2beta/sessions \
--header 'Accept: application/json' \
--header 'Authorization: Bearer '"$TOKEN"'' \
--header 'Content-Type: application/json' \
@ -136,7 +136,7 @@ More detailed information about the API: [Update session Documentation](/apis/re
Example Request
```bash
curl --request PATCH \
--url https://$ZITADEL_DOMAIN/v2alpha/sessions/$SESSION-ID \
--url https://$ZITADEL_DOMAIN/v2beta/sessions/$SESSION-ID \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{
@ -176,7 +176,7 @@ Example Request:
```bash
curl --request POST \
--url https://$ZITADEL_DOMAIN/v2alpha/users/$USER-ID/phone \
--url https://$ZITADEL_DOMAIN/v2beta/users/$USER-ID/phone \
--header 'Accept: application/json' \
--header 'Authorization: Bearer '"$TOKEN"'' \
--header 'Content-Type: application/json' \
@ -196,7 +196,7 @@ More detailed information about the API: [Verify phone](/apis/resources/user_ser
Example Request:
```bash
curl --request POST \
--url https://$ZITADEL_DOMAIN/v2alpha/users/$USER-ID/phone/verify \
--url https://$ZITADEL_DOMAIN/v2beta/users/$USER-ID/phone/verify \
--header 'Accept: application/json' \
--header 'Authorization: Bearer '"$TOKEN"'' \
--header 'Content-Type: application/json' \
@ -214,7 +214,7 @@ More detailed information about the API: [Add OTP SMS for a user](/apis/resource
Example Request:
```bash
curl --request POST \
--url https://$ZITADEL_DOMAIN/v2alpha/users/$USER-ID/otp_sms \
--url https://$ZITADEL_DOMAIN/v2beta/users/$USER-ID/otp_sms \
--header 'Accept: application/json' \
--header 'Authorization: Bearer '"$TOKEN"'' \
--header 'Content-Type: application/json'
@ -238,7 +238,7 @@ Example Request
```bash
curl --request POST \
--url https://$ZITADEL_DOMAIN/v2alpha/sessions \
--url https://$ZITADEL_DOMAIN/v2beta/sessions \
--header 'Accept: application/json' \
--header 'Authorization: Bearer '"$TOKEN"'' \
--header 'Content-Type: application/json' \
@ -265,7 +265,7 @@ Example Request
```bash
curl --request PATCH \
--url https://$ZITADEL_DOMAIN/v2alpha/sessions/225307381909694507 \
--url https://$ZITADEL_DOMAIN/v2beta/sessions/225307381909694507 \
--header 'Accept: application/json' \
--header 'Authorization: Bearer '"$TOKEN"'' \
--header 'Content-Type: application/json' \
@ -303,7 +303,7 @@ More detailed information about the API: [Add OTP Email for a user](/apis/resour
Example Request:
```bash
curl --request POST \
--url https://$ZITADEL_DOMAIN/v2alpha/users/$USER-ID/otp_email \
--url https://$ZITADEL_DOMAIN/v2beta/users/$USER-ID/otp_email \
--header 'Accept: application/json' \
--header 'Authorization: Bearer '"$TOKEN"'' \
--header 'Content-Type: application/json'
@ -327,7 +327,7 @@ Example Request
```bash
curl --request POST \
--url https://$ZITADEL_DOMAIN/v2alpha/sessions \
--url https://$ZITADEL_DOMAIN/v2beta/sessions \
--header 'Accept: application/json' \
--header 'Authorization: Bearer '"$TOKEN"'' \
--header 'Content-Type: application/json' \
@ -354,7 +354,7 @@ Example Request
```bash
curl --request PATCH \
--url https://$ZITADEL_DOMAIN/v2alpha/sessions/225307381909694507 \
--url https://$ZITADEL_DOMAIN/v2beta/sessions/225307381909694507 \
--header 'Accept: application/json' \
--header 'Authorization: Bearer '"$TOKEN"'' \
--header 'Content-Type: application/json' \
@ -389,7 +389,7 @@ Request Example:
```bash
curl --request POST \
--url https://$ZITADEL_DOMAIN/v2alpha/users/$USER_ID/u2f \
--url https://$ZITADEL_DOMAIN/v2beta/users/$USER_ID/u2f \
--header 'Accept: application/json' \
--header 'Authorization: Bearer '"$TOKEN"''
--header 'Content-Type: application/json' \
@ -460,7 +460,7 @@ Example Request:
```bash
curl --request POST \
--url https://$ZITADEL_DOMAIN/v2alpha/users/$USER_ID/u2f/$PASSKEY_ID \
--url https://$ZITADEL_DOMAIN/v2beta/users/$USER_ID/u2f/$PASSKEY_ID \
--header 'Accept: application/json' \
--header 'Authorization: Bearer '"$TOKEN"''\
--header 'Content-Type: application/json' \
@ -500,7 +500,7 @@ Example Request
```bash
curl --request POST \
--url https://$ZITADEL_DOMAIN/v2alpha/sessions \
--url https://$ZITADEL_DOMAIN/v2beta/sessions \
--header 'Accept: application/json' \
--header 'Authorization: Bearer '"$TOKEN"'' \
--header 'Content-Type: application/json' \

View File

@ -50,7 +50,7 @@ With the ID from the redirect before you will now be able to get the information
```bash
curl --request GET \
--url https://$ZITADEL_DOMAIN/v2alpha/oidc/auth_requests/V2_224908753244265546 \
--url https://$ZITADEL_DOMAIN/v2beta/oidc/auth_requests/V2_224908753244265546 \
--header 'Authorization: Bearer '"$TOKEN"''\
```
@ -95,7 +95,7 @@ Read more about the [Finalize Auth Request Documentation](/docs/apis/resources/o
Make sure that the authorization header is from the same account that you originally sent in the client id header ```x-zitadel-login-client: <userid>``` on the authorize endpoint.
```bash
curl --request POST \
--url $ZITADEL_DOMAIN/v2alpha/oidc/auth_requests/V2_224908753244265546 \
--url $ZITADEL_DOMAIN/v2beta/oidc/auth_requests/V2_224908753244265546 \
--header 'Accept: application/json' \
--header 'Authorization: Bearer '"$TOKEN"''\
--header 'Content-Type: application/json' \

View File

@ -34,7 +34,7 @@ Send either the sendLink or the returnCode (empty message) in the request body,
```bash
curl --request POST \
--url https://$ZITADEL_DOMAIN/v2alpha/users/$USER_ID/passkeys/registration_link \
--url https://$ZITADEL_DOMAIN/v2beta/users/$USER_ID/passkeys/registration_link \
--header 'Accept: application/json' \
--header 'Authorization: Bearer '"$TOKEN"''\
--header 'Content-Type: application/json' \
@ -81,7 +81,7 @@ The code only has to be filled if the user did get a registration code.
```bash
curl --request POST \
--url https://$ZITADEL_DOMAIN/v2alpha/users/$USER_ID/passkeys \
--url https://$ZITADEL_DOMAIN/v2beta/users/$USER_ID/passkeys \
--header 'Accept: application/json' \
--header 'Authorization: Bearer '"$TOKEN"''\
--header 'Content-Type: application/json' \
@ -185,7 +185,7 @@ Example Request:
```bash
curl --request POST \
--url https://$ZITADEL_DOMAIN/v2alpha/users/$USER_ID/passkeys/$PASSKEY_ID \
--url https://$ZITADEL_DOMAIN/v2beta/users/$USER_ID/passkeys/$PASSKEY_ID \
--header 'Accept: application/json' \
--header 'Authorization: Bearer '"$TOKEN"''\
--header 'Content-Type: application/json' \
@ -223,7 +223,7 @@ More detailed information about the API: [Create Session Documentation](/apis/re
Example Request:
```bash
curl --request POST \
--url https://$ZITADEL_DOMAIN/v2alpha/sessions \
--url https://$ZITADEL_DOMAIN/v2beta/sessions \
--header 'Accept: application/json' \
--header 'Authorization: Bearer '"$TOKEN"''\
--header 'Content-Type: application/json' \

View File

@ -28,7 +28,7 @@ Make sure to also include the URL Template to customize the reset link in the em
```bash
curl --request POST \
--url https://$ZITADEL_DOMAIN/v2alpha/users/$USER_ID/password_reset \
--url https://$ZITADEL_DOMAIN/v2beta/users/$USER_ID/password_reset \
--header 'Accept: application/json' \
--header 'Authorization: Bearer '"$TOKEN"'' \
--header 'Content-Type: application/json' \
@ -47,7 +47,7 @@ Send the request with asking for the return Code in the body of the request.
#### Request
```bash
curl --request POST \
--url https://$ZITADEL_DOMAIN/v2alpha/users/$USER_ID/password_reset \
--url https://$ZITADEL_DOMAIN/v2beta/users/$USER_ID/password_reset \
--header 'Accept: application/json' \
--header 'Authorization: Bearer '"$TOKEN"'' \
--header 'Content-Type: application/json' \
@ -95,7 +95,7 @@ In this case it requires additionally the current password instead of the verifi
```bash
curl --request POST \
--url https://$ZITADEL_DOMAIN/v2alpha/users/$USER_ID/password \
--url https://$ZITADEL_DOMAIN/v2beta/users/$USER_ID/password \
--header 'Accept: application/json' \
--header 'Authorization: Bearer '"$TOKEN"'' \
--header 'Content-Type: application/json' \

View File

@ -16,7 +16,7 @@ First, we create a new user with a username and password. In the example below w
```bash
curl --request POST \
--url https://$ZITADEL_DOMAIN/v2alpha/users/human \
--url https://$ZITADEL_DOMAIN/v2beta/users/human \
--header 'Accept: application/json' \
--header 'Authorization: Bearer '"$TOKEN"'' \
--header 'Content-Type: application/json' \
@ -104,7 +104,7 @@ Send it to the Get Session Endpoint to find out how the user has authenticated.
```bash
curl --request POST \
--url https://$ZITADEL_DOMAIN/v2alpha/sessions \
--url https://$ZITADEL_DOMAIN/v2beta/sessions \
--header 'Accept: application/json' \
--header 'Authorization: Bearer '"$TOKEN"'' \
--header 'Content-Type: application/json' \
@ -167,7 +167,7 @@ To update an existing session, add the session ID to the URL and the session tok
```bash
curl --request PATCH \
--url https://$ZITADEL_DOMAIN/v2alpha/sessions/$SESSION_ID \
--url https://$ZITADEL_DOMAIN/v2beta/sessions/$SESSION_ID \
--header 'Accept: application/json' \
--header 'Authorization: Bearer '"$TOKEN"''\
--header 'Content-Type: application/json' \

View File

@ -261,28 +261,28 @@ module.exports = {
},
},
user: {
specPath: ".artifacts/openapi/zitadel/user/v2alpha/user_service.swagger.json",
specPath: ".artifacts/openapi/zitadel/user/v2beta/user_service.swagger.json",
outputDir: "docs/apis/resources/user_service",
sidebarOptions: {
groupPathsBy: "tag",
},
},
session: {
specPath: ".artifacts/openapi/zitadel/session/v2alpha/session_service.swagger.json",
specPath: ".artifacts/openapi/zitadel/session/v2beta/session_service.swagger.json",
outputDir: "docs/apis/resources/session_service",
sidebarOptions: {
groupPathsBy: "tag",
},
},
oidc: {
specPath: ".artifacts/openapi/zitadel/oidc/v2alpha/oidc_service.swagger.json",
specPath: ".artifacts/openapi/zitadel/oidc/v2beta/oidc_service.swagger.json",
outputDir: "docs/apis/resources/oidc_service",
sidebarOptions: {
groupPathsBy: "tag",
},
},
settings: {
specPath: ".artifacts/openapi/zitadel/settings/v2alpha/settings_service.swagger.json",
specPath: ".artifacts/openapi/zitadel/settings/v2beta/settings_service.swagger.json",
outputDir: "docs/apis/resources/settings_service",
sidebarOptions: {
groupPathsBy: "tag",

View File

@ -507,57 +507,57 @@ module.exports = {
},
{
type: "category",
label: "User lifecycle (alpha)",
label: "User lifecycle (Beta)",
link: {
type: "generated-index",
title: "User service API (Alpha)",
title: "User service API (Beta)",
slug: "/apis/resources/user_service",
description:
"This API is intended to manage users in a ZITADEL instance.\n"+
"\n"+
"This project is in alpha state. It can AND will continue breaking until the services provide the same functionality as the current login.",
"This project is in beta state. It can AND will continue breaking until the services provide the same functionality as the current login.",
},
items: require("./docs/apis/resources/user_service/sidebar.js"),
},
{
type: "category",
label: "Session lifecycle (Alpha)",
label: "Session lifecycle (Beta)",
link: {
type: "generated-index",
title: "Session service API (Alpha)",
title: "Session service API (Beta)",
slug: "/apis/resources/session_service",
description:
"This API is intended to manage sessions in a ZITADEL instance.\n"+
"\n"+
"This project is in alpha state. It can AND will continue breaking until the services provide the same functionality as the current login.",
"This project is in beta state. It can AND will continue breaking until the services provide the same functionality as the current login.",
},
items: require("./docs/apis/resources/session_service/sidebar.js"),
},
{
type: "category",
label: "OIDC lifecycle (Alpha)",
label: "OIDC lifecycle (Beta)",
link: {
type: "generated-index",
title: "OIDC service API (Alpha)",
title: "OIDC service API (Beta)",
slug: "/apis/resources/oidc_service",
description:
"Get OIDC Auth Request details and create callback URLs.\n"+
"\n"+
"This project is in alpha state. It can AND will continue breaking until the services provide the same functionality as the current login.",
"This project is in beta state. It can AND will continue breaking until the services provide the same functionality as the current login.",
},
items: require("./docs/apis/resources/oidc_service/sidebar.js"),
},
{
type: "category",
label: "Settings lifecycle (alpha)",
label: "Settings lifecycle (Beta)",
link: {
type: "generated-index",
title: "Settings service API (Alpha)",
title: "Settings service API (Beta)",
slug: "/apis/resources/settings_service",
description:
"This API is intended to manage settings in a ZITADEL instance.\n"+
"\n"+
"This project is in alpha state. It can AND will continue to break until the services provide the same functionality as the current login.",
"This project is in beta state. It can AND will continue to break until the services provide the same functionality as the current login.",
},
items: require("./docs/apis/resources/settings_service/sidebar.js"),
},

View File

@ -8,7 +8,7 @@ import (
"github.com/zitadel/zitadel/internal/api/authz"
"github.com/zitadel/zitadel/internal/domain"
"github.com/zitadel/zitadel/internal/query"
object "github.com/zitadel/zitadel/pkg/grpc/object/v2alpha"
object "github.com/zitadel/zitadel/pkg/grpc/object/v2beta"
)
func DomainToDetailsPb(objectDetail *domain.ObjectDetails) *object.Details {

View File

@ -15,7 +15,7 @@ import (
"github.com/zitadel/zitadel/internal/domain"
"github.com/zitadel/zitadel/internal/errors"
"github.com/zitadel/zitadel/internal/query"
oidc_pb "github.com/zitadel/zitadel/pkg/grpc/oidc/v2alpha"
oidc_pb "github.com/zitadel/zitadel/pkg/grpc/oidc/v2beta"
)
func (s *Server) GetAuthRequest(ctx context.Context, req *oidc_pb.GetAuthRequestRequest) (*oidc_pb.GetAuthRequestResponse, error) {

View File

@ -15,10 +15,10 @@ import (
"github.com/stretchr/testify/require"
"github.com/zitadel/zitadel/internal/integration"
object "github.com/zitadel/zitadel/pkg/grpc/object/v2alpha"
oidc_pb "github.com/zitadel/zitadel/pkg/grpc/oidc/v2alpha"
session "github.com/zitadel/zitadel/pkg/grpc/session/v2alpha"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2alpha"
object "github.com/zitadel/zitadel/pkg/grpc/object/v2beta"
oidc_pb "github.com/zitadel/zitadel/pkg/grpc/oidc/v2beta"
session "github.com/zitadel/zitadel/pkg/grpc/session/v2beta"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2beta"
)
var (

View File

@ -12,7 +12,7 @@ import (
"github.com/zitadel/zitadel/internal/domain"
"github.com/zitadel/zitadel/internal/query"
oidc_pb "github.com/zitadel/zitadel/pkg/grpc/oidc/v2alpha"
oidc_pb "github.com/zitadel/zitadel/pkg/grpc/oidc/v2beta"
)
func Test_authRequestToPb(t *testing.T) {

View File

@ -8,7 +8,7 @@ import (
"github.com/zitadel/zitadel/internal/api/grpc/server"
"github.com/zitadel/zitadel/internal/command"
"github.com/zitadel/zitadel/internal/query"
oidc_pb "github.com/zitadel/zitadel/pkg/grpc/oidc/v2alpha"
oidc_pb "github.com/zitadel/zitadel/pkg/grpc/oidc/v2beta"
)
var _ oidc_pb.OIDCServiceServer = (*Server)(nil)

View File

@ -15,7 +15,7 @@ import (
"github.com/zitadel/zitadel/internal/integration"
org "github.com/zitadel/zitadel/pkg/grpc/org/v2beta"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2alpha"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2beta"
)
var (

View File

@ -12,9 +12,9 @@ import (
"github.com/zitadel/zitadel/internal/command"
"github.com/zitadel/zitadel/internal/domain"
caos_errs "github.com/zitadel/zitadel/internal/errors"
object "github.com/zitadel/zitadel/pkg/grpc/object/v2alpha"
object "github.com/zitadel/zitadel/pkg/grpc/object/v2beta"
org "github.com/zitadel/zitadel/pkg/grpc/org/v2beta"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2alpha"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2beta"
)
func Test_addOrganizationRequestToCommand(t *testing.T) {

View File

@ -11,7 +11,6 @@ import (
grpc_util "github.com/zitadel/zitadel/internal/api/grpc"
"github.com/zitadel/zitadel/internal/api/http"
"github.com/zitadel/zitadel/internal/telemetry/tracing"
object "github.com/zitadel/zitadel/pkg/grpc/object/v2alpha"
)
func AuthorizationInterceptor(verifier *authz.TokenVerifier, authConfig authz.Config) grpc.UnaryServerInterceptor {
@ -37,10 +36,9 @@ func authorize(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo,
var orgDomain string
orgID := grpc_util.GetHeader(authCtx, http.ZitadelOrgID)
if o, ok := req.(OrganisationFromRequest); ok {
orgID = o.OrganisationFromRequest().GetOrgId()
orgDomain = o.OrganisationFromRequest().GetOrgDomain()
orgID = o.OrganisationFromRequest().ID
orgDomain = o.OrganisationFromRequest().Domain
}
ctxSetter, err := authz.CheckUserAuthorization(authCtx, req, authToken, orgID, orgDomain, verifier, authConfig, authOpt, info.FullMethod)
if err != nil {
return nil, err
@ -50,5 +48,10 @@ func authorize(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo,
}
type OrganisationFromRequest interface {
OrganisationFromRequest() *object.Organisation
OrganisationFromRequest() *Organisation
}
type Organisation struct {
ID string
Domain string
}

View File

@ -8,7 +8,7 @@ import (
"github.com/zitadel/zitadel/internal/command"
"github.com/zitadel/zitadel/internal/domain"
"github.com/zitadel/zitadel/internal/query"
session "github.com/zitadel/zitadel/pkg/grpc/session/v2alpha"
session "github.com/zitadel/zitadel/pkg/grpc/session/v2beta"
)
var _ session.SessionServiceServer = (*Server)(nil)

View File

@ -12,7 +12,7 @@ import (
"github.com/zitadel/zitadel/internal/domain"
caos_errs "github.com/zitadel/zitadel/internal/errors"
"github.com/zitadel/zitadel/internal/query"
session "github.com/zitadel/zitadel/pkg/grpc/session/v2alpha"
session "github.com/zitadel/zitadel/pkg/grpc/session/v2beta"
)
func (s *Server) GetSession(ctx context.Context, req *session.GetSessionRequest) (*session.GetSessionResponse, error) {

View File

@ -16,9 +16,9 @@ import (
"google.golang.org/grpc/metadata"
"github.com/zitadel/zitadel/internal/integration"
object "github.com/zitadel/zitadel/pkg/grpc/object/v2alpha"
session "github.com/zitadel/zitadel/pkg/grpc/session/v2alpha"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2alpha"
object "github.com/zitadel/zitadel/pkg/grpc/object/v2beta"
session "github.com/zitadel/zitadel/pkg/grpc/session/v2beta"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2beta"
)
var (

View File

@ -14,8 +14,8 @@ import (
"github.com/zitadel/zitadel/internal/domain"
caos_errs "github.com/zitadel/zitadel/internal/errors"
"github.com/zitadel/zitadel/internal/query"
object "github.com/zitadel/zitadel/pkg/grpc/object/v2alpha"
session "github.com/zitadel/zitadel/pkg/grpc/session/v2alpha"
object "github.com/zitadel/zitadel/pkg/grpc/object/v2beta"
session "github.com/zitadel/zitadel/pkg/grpc/session/v2beta"
)
func Test_sessionsToPb(t *testing.T) {

View File

@ -10,7 +10,7 @@ import (
"github.com/zitadel/zitadel/internal/api/grpc/server"
"github.com/zitadel/zitadel/internal/command"
"github.com/zitadel/zitadel/internal/query"
settings "github.com/zitadel/zitadel/pkg/grpc/settings/v2alpha"
settings "github.com/zitadel/zitadel/pkg/grpc/settings/v2beta"
)
var _ settings.SettingsServiceServer = (*Server)(nil)

View File

@ -9,8 +9,8 @@ import (
"github.com/zitadel/zitadel/internal/api/grpc/object/v2"
"github.com/zitadel/zitadel/internal/api/grpc/text"
"github.com/zitadel/zitadel/internal/query"
object_pb "github.com/zitadel/zitadel/pkg/grpc/object/v2alpha"
"github.com/zitadel/zitadel/pkg/grpc/settings/v2alpha"
object_pb "github.com/zitadel/zitadel/pkg/grpc/object/v2beta"
"github.com/zitadel/zitadel/pkg/grpc/settings/v2beta"
)
func (s *Server) GetLoginSettings(ctx context.Context, req *settings.GetLoginSettingsRequest) (*settings.GetLoginSettingsResponse, error) {

View File

@ -5,7 +5,7 @@ import (
"github.com/zitadel/zitadel/internal/domain"
"github.com/zitadel/zitadel/internal/query"
settings "github.com/zitadel/zitadel/pkg/grpc/settings/v2alpha"
settings "github.com/zitadel/zitadel/pkg/grpc/settings/v2beta"
)
func loginSettingsToPb(current *query.LoginPolicy) *settings.LoginSettings {

View File

@ -14,7 +14,7 @@ import (
"github.com/zitadel/zitadel/internal/api/grpc"
"github.com/zitadel/zitadel/internal/domain"
"github.com/zitadel/zitadel/internal/query"
settings "github.com/zitadel/zitadel/pkg/grpc/settings/v2alpha"
settings "github.com/zitadel/zitadel/pkg/grpc/settings/v2beta"
)
var ignoreTypes = []protoreflect.FullName{"google.protobuf.Duration"}

View File

@ -7,8 +7,8 @@ import (
"github.com/zitadel/zitadel/internal/domain"
caos_errs "github.com/zitadel/zitadel/internal/errors"
object "github.com/zitadel/zitadel/pkg/grpc/object/v2alpha"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2alpha"
object "github.com/zitadel/zitadel/pkg/grpc/object/v2beta"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2beta"
)
func (s *Server) SetEmail(ctx context.Context, req *user.SetEmailRequest) (resp *user.SetEmailResponse, err error) {

View File

@ -8,10 +8,11 @@ import (
"github.com/muhlemmer/gu"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/zitadel/zitadel/internal/integration"
object "github.com/zitadel/zitadel/pkg/grpc/object/v2alpha"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2alpha"
"google.golang.org/protobuf/types/known/timestamppb"
"github.com/zitadel/zitadel/internal/integration"
object "github.com/zitadel/zitadel/pkg/grpc/object/v2beta"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2beta"
)
func TestServer_SetEmail(t *testing.T) {

View File

@ -5,7 +5,7 @@ import (
"github.com/zitadel/zitadel/internal/api/authz"
"github.com/zitadel/zitadel/internal/api/grpc/object/v2"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2alpha"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2beta"
)
func (s *Server) AddOTPSMS(ctx context.Context, req *user.AddOTPSMSRequest) (*user.AddOTPSMSResponse, error) {

View File

@ -9,8 +9,8 @@ import (
"github.com/stretchr/testify/require"
"github.com/zitadel/zitadel/internal/integration"
object "github.com/zitadel/zitadel/pkg/grpc/object/v2alpha"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2alpha"
object "github.com/zitadel/zitadel/pkg/grpc/object/v2beta"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2beta"
)
func TestServer_AddOTPSMS(t *testing.T) {

View File

@ -9,8 +9,8 @@ import (
"github.com/zitadel/zitadel/internal/api/grpc/object/v2"
"github.com/zitadel/zitadel/internal/domain"
caos_errs "github.com/zitadel/zitadel/internal/errors"
object_pb "github.com/zitadel/zitadel/pkg/grpc/object/v2alpha"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2alpha"
object_pb "github.com/zitadel/zitadel/pkg/grpc/object/v2beta"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2beta"
)
func (s *Server) RegisterPasskey(ctx context.Context, req *user.RegisterPasskeyRequest) (resp *user.RegisterPasskeyResponse, err error) {

View File

@ -9,10 +9,11 @@ import (
"github.com/muhlemmer/gu"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/zitadel/zitadel/internal/integration"
object "github.com/zitadel/zitadel/pkg/grpc/object/v2alpha"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2alpha"
"google.golang.org/protobuf/types/known/structpb"
"github.com/zitadel/zitadel/internal/integration"
object "github.com/zitadel/zitadel/pkg/grpc/object/v2beta"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2beta"
)
func TestServer_RegisterPasskey(t *testing.T) {

View File

@ -14,8 +14,8 @@ import (
"github.com/zitadel/zitadel/internal/api/grpc"
"github.com/zitadel/zitadel/internal/domain"
caos_errs "github.com/zitadel/zitadel/internal/errors"
object "github.com/zitadel/zitadel/pkg/grpc/object/v2alpha"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2alpha"
object "github.com/zitadel/zitadel/pkg/grpc/object/v2beta"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2beta"
)
func Test_passkeyAuthenticatorToDomain(t *testing.T) {

View File

@ -7,7 +7,7 @@ import (
"github.com/zitadel/zitadel/internal/api/grpc/object/v2"
"github.com/zitadel/zitadel/internal/domain"
caos_errs "github.com/zitadel/zitadel/internal/errors"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2alpha"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2beta"
)
func (s *Server) PasswordReset(ctx context.Context, req *user.PasswordResetRequest) (_ *user.PasswordResetResponse, err error) {

View File

@ -12,8 +12,8 @@ import (
"google.golang.org/protobuf/types/known/timestamppb"
"github.com/zitadel/zitadel/internal/integration"
object "github.com/zitadel/zitadel/pkg/grpc/object/v2alpha"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2alpha"
object "github.com/zitadel/zitadel/pkg/grpc/object/v2beta"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2beta"
)
func TestServer_RequestPasswordReset(t *testing.T) {

View File

@ -6,7 +6,7 @@ import (
"github.com/stretchr/testify/assert"
"github.com/zitadel/zitadel/internal/domain"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2alpha"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2beta"
)
func Test_notificationTypeToDomain(t *testing.T) {

View File

@ -7,8 +7,8 @@ import (
"github.com/zitadel/zitadel/internal/domain"
caos_errs "github.com/zitadel/zitadel/internal/errors"
object "github.com/zitadel/zitadel/pkg/grpc/object/v2alpha"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2alpha"
object "github.com/zitadel/zitadel/pkg/grpc/object/v2beta"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2beta"
)
func (s *Server) SetPhone(ctx context.Context, req *user.SetPhoneRequest) (resp *user.SetPhoneResponse, err error) {

View File

@ -11,8 +11,8 @@ import (
"google.golang.org/protobuf/types/known/timestamppb"
"github.com/zitadel/zitadel/internal/integration"
object "github.com/zitadel/zitadel/pkg/grpc/object/v2alpha"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2alpha"
object "github.com/zitadel/zitadel/pkg/grpc/object/v2beta"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2beta"
)
func TestServer_SetPhone(t *testing.T) {

View File

@ -10,7 +10,7 @@ import (
"github.com/zitadel/zitadel/internal/command"
"github.com/zitadel/zitadel/internal/crypto"
"github.com/zitadel/zitadel/internal/query"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2alpha"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2beta"
)
var _ user.UserServiceServer = (*Server)(nil)

View File

@ -6,7 +6,7 @@ import (
"github.com/zitadel/zitadel/internal/api/authz"
"github.com/zitadel/zitadel/internal/api/grpc/object/v2"
"github.com/zitadel/zitadel/internal/domain"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2alpha"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2beta"
)
func (s *Server) RegisterTOTP(ctx context.Context, req *user.RegisterTOTPRequest) (*user.RegisterTOTPResponse, error) {

View File

@ -10,7 +10,7 @@ import (
"github.com/stretchr/testify/require"
"github.com/zitadel/zitadel/internal/integration"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2alpha"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2beta"
)
func TestServer_RegisterTOTP(t *testing.T) {

View File

@ -10,8 +10,8 @@ import (
"google.golang.org/protobuf/types/known/timestamppb"
"github.com/zitadel/zitadel/internal/domain"
object "github.com/zitadel/zitadel/pkg/grpc/object/v2alpha"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2alpha"
object "github.com/zitadel/zitadel/pkg/grpc/object/v2beta"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2beta"
)
func Test_totpDetailsToPb(t *testing.T) {

View File

@ -7,7 +7,7 @@ import (
"github.com/zitadel/zitadel/internal/api/grpc/object/v2"
"github.com/zitadel/zitadel/internal/domain"
caos_errs "github.com/zitadel/zitadel/internal/errors"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2alpha"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2beta"
)
func (s *Server) RegisterU2F(ctx context.Context, req *user.RegisterU2FRequest) (*user.RegisterU2FResponse, error) {

View File

@ -11,7 +11,7 @@ import (
"google.golang.org/protobuf/types/known/structpb"
"github.com/zitadel/zitadel/internal/integration"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2alpha"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2beta"
)
func TestServer_RegisterU2F(t *testing.T) {

View File

@ -13,8 +13,8 @@ import (
"github.com/zitadel/zitadel/internal/api/grpc"
"github.com/zitadel/zitadel/internal/domain"
caos_errs "github.com/zitadel/zitadel/internal/errors"
object "github.com/zitadel/zitadel/pkg/grpc/object/v2alpha"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2alpha"
object "github.com/zitadel/zitadel/pkg/grpc/object/v2beta"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2beta"
)
func Test_u2fRegistrationDetailsToPb(t *testing.T) {

View File

@ -18,8 +18,8 @@ import (
"github.com/zitadel/zitadel/internal/idp"
"github.com/zitadel/zitadel/internal/idp/providers/ldap"
"github.com/zitadel/zitadel/internal/query"
object_pb "github.com/zitadel/zitadel/pkg/grpc/object/v2alpha"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2alpha"
object_pb "github.com/zitadel/zitadel/pkg/grpc/object/v2beta"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2beta"
)
func (s *Server) AddHumanUser(ctx context.Context, req *user.AddHumanUserRequest) (_ *user.AddHumanUserResponse, err error) {

View File

@ -19,8 +19,8 @@ import (
"github.com/zitadel/zitadel/internal/api/grpc"
"github.com/zitadel/zitadel/internal/integration"
mgmt "github.com/zitadel/zitadel/pkg/grpc/management"
object "github.com/zitadel/zitadel/pkg/grpc/object/v2alpha"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2alpha"
object "github.com/zitadel/zitadel/pkg/grpc/object/v2beta"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2beta"
)
var (

View File

@ -18,8 +18,8 @@ import (
"github.com/zitadel/zitadel/internal/domain"
caos_errs "github.com/zitadel/zitadel/internal/errors"
"github.com/zitadel/zitadel/internal/eventstore"
object_pb "github.com/zitadel/zitadel/pkg/grpc/object/v2alpha"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2alpha"
object_pb "github.com/zitadel/zitadel/pkg/grpc/object/v2beta"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2beta"
)
var ignoreTypes = []protoreflect.FullName{"google.protobuf.Duration", "google.protobuf.Struct"}

View File

@ -17,8 +17,8 @@ import (
http_utils "github.com/zitadel/zitadel/internal/api/http"
oidc_api "github.com/zitadel/zitadel/internal/api/oidc"
"github.com/zitadel/zitadel/internal/command"
oidc_pb "github.com/zitadel/zitadel/pkg/grpc/oidc/v2alpha"
session "github.com/zitadel/zitadel/pkg/grpc/session/v2alpha"
oidc_pb "github.com/zitadel/zitadel/pkg/grpc/oidc/v2beta"
session "github.com/zitadel/zitadel/pkg/grpc/session/v2beta"
)
var (

View File

@ -15,7 +15,7 @@ import (
"github.com/zitadel/zitadel/pkg/grpc/authn"
"github.com/zitadel/zitadel/pkg/grpc/management"
oidc_pb "github.com/zitadel/zitadel/pkg/grpc/oidc/v2alpha"
oidc_pb "github.com/zitadel/zitadel/pkg/grpc/oidc/v2beta"
)
func TestOPStorage_SetUserinfoFromToken(t *testing.T) {

View File

@ -18,9 +18,9 @@ import (
"github.com/zitadel/zitadel/internal/domain"
"github.com/zitadel/zitadel/internal/integration"
"github.com/zitadel/zitadel/pkg/grpc/auth"
oidc_pb "github.com/zitadel/zitadel/pkg/grpc/oidc/v2alpha"
session "github.com/zitadel/zitadel/pkg/grpc/session/v2alpha"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2alpha"
oidc_pb "github.com/zitadel/zitadel/pkg/grpc/oidc/v2beta"
session "github.com/zitadel/zitadel/pkg/grpc/session/v2beta"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2beta"
)
var (

View File

@ -6,7 +6,7 @@ import (
"github.com/stretchr/testify/assert"
object "github.com/zitadel/zitadel/pkg/grpc/object/v2alpha"
object "github.com/zitadel/zitadel/pkg/grpc/object/v2beta"
)
type DetailsMsg interface {

View File

@ -5,7 +5,7 @@ import (
"google.golang.org/protobuf/types/known/timestamppb"
object "github.com/zitadel/zitadel/pkg/grpc/object/v2alpha"
object "github.com/zitadel/zitadel/pkg/grpc/object/v2beta"
)
type myMsg struct {

View File

@ -21,12 +21,12 @@ import (
"github.com/zitadel/zitadel/pkg/grpc/admin"
"github.com/zitadel/zitadel/pkg/grpc/auth"
mgmt "github.com/zitadel/zitadel/pkg/grpc/management"
object "github.com/zitadel/zitadel/pkg/grpc/object/v2alpha"
oidc_pb "github.com/zitadel/zitadel/pkg/grpc/oidc/v2alpha"
object "github.com/zitadel/zitadel/pkg/grpc/object/v2beta"
oidc_pb "github.com/zitadel/zitadel/pkg/grpc/oidc/v2beta"
organisation "github.com/zitadel/zitadel/pkg/grpc/org/v2beta"
session "github.com/zitadel/zitadel/pkg/grpc/session/v2alpha"
session "github.com/zitadel/zitadel/pkg/grpc/session/v2beta"
"github.com/zitadel/zitadel/pkg/grpc/system"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2alpha"
user "github.com/zitadel/zitadel/pkg/grpc/user/v2beta"
)
type Client struct {

View File

@ -4,7 +4,7 @@ package {{.GoPackageName}}
import (
"github.com/zitadel/zitadel/internal/api/authz"
{{if .AuthContext}}"github.com/zitadel/zitadel/pkg/grpc/object/v2alpha"{{end}}
{{if .AuthContext}}"github.com/zitadel/zitadel/internal/api/grpc/server/middleware"{{end}}
)
var {{.ServiceName}}_AuthMethods = authz.MethodMapping {
@ -17,8 +17,11 @@ var {{.ServiceName}}_AuthMethods = authz.MethodMapping {
}
{{ range $m := .AuthContext}}
func (r *{{ $m.Name }}) OrganisationFromRequest() *object.Organisation {
return r{{$m.OrgMethod}}
func (r *{{ $m.Name }}) OrganisationFromRequest() *middleware.Organisation {
return &middleware.Organisation{
ID: r{{$m.OrgMethod}}.GetOrgId(),
Domain: r{{$m.OrgMethod}}.GetOrgDomain(),
}
}
{{ end }}

View File

@ -1,8 +1,8 @@
syntax = "proto3";
package zitadel.object.v2alpha;
package zitadel.object.v2beta;
option go_package = "github.com/zitadel/zitadel/pkg/grpc/object/v2alpha;object";
option go_package = "github.com/zitadel/zitadel/pkg/grpc/object/v2beta;object";
import "google/protobuf/timestamp.proto";
import "protoc-gen-openapiv2/options/annotations.proto";

View File

@ -1,12 +1,12 @@
syntax = "proto3";
package zitadel.oidc.v2alpha;
package zitadel.oidc.v2beta;
import "google/protobuf/duration.proto";
import "google/protobuf/timestamp.proto";
import "protoc-gen-openapiv2/options/annotations.proto";
option go_package = "github.com/zitadel/zitadel/pkg/grpc/oidc/v2alpha;oidc";
option go_package = "github.com/zitadel/zitadel/pkg/grpc/oidc/v2beta;oidc";
message AuthRequest{
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = {

View File

@ -1,22 +1,22 @@
syntax = "proto3";
package zitadel.oidc.v2alpha;
package zitadel.oidc.v2beta;
import "zitadel/object/v2alpha/object.proto";
import "zitadel/object/v2beta/object.proto";
import "zitadel/protoc_gen_zitadel/v2/options.proto";
import "zitadel/oidc/v2alpha/authorization.proto";
import "zitadel/oidc/v2beta/authorization.proto";
import "google/api/annotations.proto";
import "google/api/field_behavior.proto";
import "protoc-gen-openapiv2/options/annotations.proto";
import "validate/validate.proto";
option go_package = "github.com/zitadel/zitadel/pkg/grpc/oidc/v2alpha;oidc";
option go_package = "github.com/zitadel/zitadel/pkg/grpc/oidc/v2beta;oidc";
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = {
info: {
title: "OIDC Service";
version: "2.0-alpha";
description: "Get OIDC Auth Request details and create callback URLs. This project is in alpha state. It can AND will continue breaking until the services provide the same functionality as the current login.";
version: "2.0-beta";
description: "Get OIDC Auth Request details and create callback URLs. This project is in beta state. It can AND will continue breaking until the services provide the same functionality as the current login.";
contact:{
name: "ZITADEL"
url: "https://zitadel.com"
@ -103,7 +103,7 @@ option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = {
service OIDCService {
rpc GetAuthRequest (GetAuthRequestRequest) returns (GetAuthRequestResponse) {
option (google.api.http) = {
get: "/v2alpha/oidc/auth_requests/{auth_request_id}"
get: "/v2beta/oidc/auth_requests/{auth_request_id}"
};
option (zitadel.protoc_gen_zitadel.v2.options) = {
@ -126,7 +126,7 @@ service OIDCService {
rpc CreateCallback (CreateCallbackRequest) returns (CreateCallbackResponse) {
option (google.api.http) = {
post: "/v2alpha/oidc/auth_requests/{auth_request_id}"
post: "/v2beta/oidc/auth_requests/{auth_request_id}"
body: "*"
};
@ -208,7 +208,7 @@ message Session {
}
message CreateCallbackResponse {
zitadel.object.v2alpha.Details details = 1;
zitadel.object.v2beta.Details details = 1;
string callback_url = 2 [
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
description: "Callback URL where the user should be redirected, using a \"302 FOUND\" status. Contains details for the application to obtain the tokens on success, or error details on failure. Note that this field must be treated as credentials, as the contained code can be used to obtain tokens on behalve of the user.";

View File

@ -3,15 +3,15 @@ syntax = "proto3";
package zitadel.org.v2beta;
import "zitadel/object/v2alpha/object.proto";
import "zitadel/object/v2beta/object.proto";
import "zitadel/protoc_gen_zitadel/v2/options.proto";
import "zitadel/user/v2alpha/auth.proto";
import "zitadel/user/v2alpha/email.proto";
import "zitadel/user/v2alpha/phone.proto";
import "zitadel/user/v2alpha/idp.proto";
import "zitadel/user/v2alpha/password.proto";
import "zitadel/user/v2alpha/user.proto";
import "zitadel/user/v2alpha/user_service.proto";
import "zitadel/user/v2beta/auth.proto";
import "zitadel/user/v2beta/email.proto";
import "zitadel/user/v2beta/phone.proto";
import "zitadel/user/v2beta/idp.proto";
import "zitadel/user/v2beta/password.proto";
import "zitadel/user/v2beta/user.proto";
import "zitadel/user/v2beta/user_service.proto";
import "google/api/annotations.proto";
import "google/api/field_behavior.proto";
import "google/protobuf/duration.proto";
@ -24,7 +24,7 @@ option go_package = "github.com/zitadel/zitadel/pkg/grpc/org/v2beta;org";
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = {
info: {
title: "User Service";
version: "2.0-alpha";
version: "2.0-beta";
description: "This API is intended to manage organizations in a ZITADEL instance. This project is in beta state. It can AND will continue breaking until the services provide the same functionality as the current login.";
contact:{
name: "ZITADEL"
@ -144,7 +144,7 @@ message AddOrganizationRequest{
message Admin {
oneof user_type{
string user_id = 1;
zitadel.user.v2alpha.AddHumanUserRequest human = 2;
zitadel.user.v2beta.AddHumanUserRequest human = 2;
}
// specify Org Member Roles for the provided user (default is ORG_OWNER if roles are empty)
repeated string roles = 3;
@ -168,7 +168,7 @@ message AddOrganizationResponse{
optional string email_code = 2;
optional string phone_code = 3;
}
zitadel.object.v2alpha.Details details = 1;
zitadel.object.v2beta.Details details = 1;
string organization_id = 2;
repeated CreatedAdmin created_admins = 3;
}

View File

@ -1,13 +1,13 @@
syntax = "proto3";
package zitadel.session.v2alpha;
package zitadel.session.v2beta;
import "google/api/field_behavior.proto";
import "google/protobuf/struct.proto";
import "protoc-gen-openapiv2/options/annotations.proto";
import "validate/validate.proto";
option go_package = "github.com/zitadel/zitadel/pkg/grpc/session/v2alpha;session";
option go_package = "github.com/zitadel/zitadel/pkg/grpc/session/v2beta;session";
enum UserVerificationRequirement {
USER_VERIFICATION_REQUIREMENT_UNSPECIFIED = 0;

View File

@ -1,12 +1,12 @@
syntax = "proto3";
package zitadel.session.v2alpha;
package zitadel.session.v2beta;
import "google/protobuf/timestamp.proto";
import "protoc-gen-openapiv2/options/annotations.proto";
import "validate/validate.proto";
option go_package = "github.com/zitadel/zitadel/pkg/grpc/session/v2alpha;session";
option go_package = "github.com/zitadel/zitadel/pkg/grpc/session/v2beta;session";
message Session {
string id = 1 [

View File

@ -1,25 +1,25 @@
syntax = "proto3";
package zitadel.session.v2alpha;
package zitadel.session.v2beta;
import "zitadel/object/v2alpha/object.proto";
import "zitadel/object/v2beta/object.proto";
import "zitadel/protoc_gen_zitadel/v2/options.proto";
import "zitadel/session/v2alpha/challenge.proto";
import "zitadel/session/v2alpha/session.proto";
import "zitadel/session/v2beta/challenge.proto";
import "zitadel/session/v2beta/session.proto";
import "google/api/annotations.proto";
import "google/api/field_behavior.proto";
import "google/protobuf/struct.proto";
import "protoc-gen-openapiv2/options/annotations.proto";
import "validate/validate.proto";
option go_package = "github.com/zitadel/zitadel/pkg/grpc/session/v2alpha;session";
option go_package = "github.com/zitadel/zitadel/pkg/grpc/session/v2beta;session";
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = {
info: {
title: "Session Service";
version: "2.0-alpha";
description: "This API is intended to manage sessions in a ZITADEL instance. This project is in alpha state. It can AND will continue breaking until the services provide the same functionality as the current login.";
version: "2.0-beta";
description: "This API is intended to manage sessions in a ZITADEL instance. This project is in beta state. It can AND will continue breaking until the services provide the same functionality as the current login.";
contact:{
name: "ZITADEL"
url: "https://zitadel.com"
@ -108,7 +108,7 @@ service SessionService {
// Search sessions
rpc ListSessions (ListSessionsRequest) returns (ListSessionsResponse) {
option (google.api.http) = {
post: "/v2alpha/sessions/search"
post: "/v2beta/sessions/search"
body: "*"
};
@ -144,7 +144,7 @@ service SessionService {
// GetSession a session
rpc GetSession (GetSessionRequest) returns (GetSessionResponse) {
option (google.api.http) = {
get: "/v2alpha/sessions/{session_id}"
get: "/v2beta/sessions/{session_id}"
};
option (zitadel.protoc_gen_zitadel.v2.options) = {
@ -168,7 +168,7 @@ service SessionService {
// Create a new session
rpc CreateSession (CreateSessionRequest) returns (CreateSessionResponse) {
option (google.api.http) = {
post: "/v2alpha/sessions"
post: "/v2beta/sessions"
body: "*"
};
@ -196,7 +196,7 @@ service SessionService {
// Update a session
rpc SetSession (SetSessionRequest) returns (SetSessionResponse) {
option (google.api.http) = {
patch: "/v2alpha/sessions/{session_id}"
patch: "/v2beta/sessions/{session_id}"
body: "*"
};
@ -221,7 +221,7 @@ service SessionService {
// Terminate a session
rpc DeleteSession (DeleteSessionRequest) returns (DeleteSessionResponse) {
option (google.api.http) = {
delete: "/v2alpha/sessions/{session_id}"
delete: "/v2beta/sessions/{session_id}"
body: "*"
};
@ -245,12 +245,12 @@ service SessionService {
}
message ListSessionsRequest{
zitadel.object.v2alpha.ListQuery query = 1;
zitadel.object.v2beta.ListQuery query = 1;
repeated SearchQuery queries = 2;
}
message ListSessionsResponse{
zitadel.object.v2alpha.ListDetails details = 1;
zitadel.object.v2beta.ListDetails details = 1;
repeated Session sessions = 2;
}
@ -277,7 +277,7 @@ message CreateSessionRequest{
}
message CreateSessionResponse{
zitadel.object.v2alpha.Details details = 1;
zitadel.object.v2beta.Details details = 1;
string session_id = 2 [
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
description: "\"id of the session\"";
@ -324,7 +324,7 @@ message SetSessionRequest{
}
message SetSessionResponse{
zitadel.object.v2alpha.Details details = 1;
zitadel.object.v2beta.Details details = 1;
string session_token = 2 [
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
description: "\"token of the session, which is required for further updates of the session or the request other resources\"";
@ -351,7 +351,7 @@ message DeleteSessionRequest{
}
message DeleteSessionResponse{
zitadel.object.v2alpha.Details details = 1;
zitadel.object.v2beta.Details details = 1;
}
message Checks {

View File

@ -1,11 +1,11 @@
syntax = "proto3";
package zitadel.settings.v2alpha;
package zitadel.settings.v2beta;
option go_package = "github.com/zitadel/zitadel/pkg/grpc/settings/v2alpha;settings";
option go_package = "github.com/zitadel/zitadel/pkg/grpc/settings/v2beta;settings";
import "protoc-gen-openapiv2/options/annotations.proto";
import "zitadel/settings/v2alpha/settings.proto";
import "zitadel/settings/v2beta/settings.proto";
message BrandingSettings {
Theme light_theme = 1;

View File

@ -1,11 +1,11 @@
syntax = "proto3";
package zitadel.settings.v2alpha;
package zitadel.settings.v2beta;
option go_package = "github.com/zitadel/zitadel/pkg/grpc/settings/v2alpha;settings";
option go_package = "github.com/zitadel/zitadel/pkg/grpc/settings/v2beta;settings";
import "protoc-gen-openapiv2/options/annotations.proto";
import "zitadel/settings/v2alpha/settings.proto";
import "zitadel/settings/v2beta/settings.proto";
message DomainSettings {
bool login_name_includes_domain = 1 [

View File

@ -1,11 +1,11 @@
syntax = "proto3";
package zitadel.settings.v2alpha;
package zitadel.settings.v2beta;
option go_package = "github.com/zitadel/zitadel/pkg/grpc/settings/v2alpha;settings";
option go_package = "github.com/zitadel/zitadel/pkg/grpc/settings/v2beta;settings";
import "protoc-gen-openapiv2/options/annotations.proto";
import "zitadel/settings/v2alpha/settings.proto";
import "zitadel/settings/v2beta/settings.proto";
import "validate/validate.proto";
message LegalAndSupportSettings {

View File

@ -1,11 +1,11 @@
syntax = "proto3";
package zitadel.settings.v2alpha;
package zitadel.settings.v2beta;
option go_package = "github.com/zitadel/zitadel/pkg/grpc/settings/v2alpha;settings";
option go_package = "github.com/zitadel/zitadel/pkg/grpc/settings/v2beta;settings";
import "protoc-gen-openapiv2/options/annotations.proto";
import "zitadel/settings/v2alpha/settings.proto";
import "zitadel/settings/v2beta/settings.proto";
message LockoutSettings {
uint64 max_password_attempts = 1 [

View File

@ -1,11 +1,11 @@
syntax = "proto3";
package zitadel.settings.v2alpha;
package zitadel.settings.v2beta;
option go_package = "github.com/zitadel/zitadel/pkg/grpc/settings/v2alpha;settings";
option go_package = "github.com/zitadel/zitadel/pkg/grpc/settings/v2beta;settings";
import "protoc-gen-openapiv2/options/annotations.proto";
import "zitadel/settings/v2alpha/settings.proto";
import "zitadel/settings/v2beta/settings.proto";
import "google/protobuf/duration.proto";
message LoginSettings {

View File

@ -1,11 +1,11 @@
syntax = "proto3";
package zitadel.settings.v2alpha;
package zitadel.settings.v2beta;
option go_package = "github.com/zitadel/zitadel/pkg/grpc/settings/v2alpha;settings";
option go_package = "github.com/zitadel/zitadel/pkg/grpc/settings/v2beta;settings";
import "protoc-gen-openapiv2/options/annotations.proto";
import "zitadel/settings/v2alpha/settings.proto";
import "zitadel/settings/v2beta/settings.proto";
message PasswordComplexitySettings {
uint64 min_length = 1 [

View File

@ -1,8 +1,8 @@
syntax = "proto3";
package zitadel.settings.v2alpha;
package zitadel.settings.v2beta;
option go_package = "github.com/zitadel/zitadel/pkg/grpc/settings/v2alpha;settings";
option go_package = "github.com/zitadel/zitadel/pkg/grpc/settings/v2beta;settings";
import "protoc-gen-openapiv2/options/annotations.proto";

View File

@ -1,27 +1,27 @@
syntax = "proto3";
package zitadel.settings.v2alpha;
package zitadel.settings.v2beta;
import "zitadel/protoc_gen_zitadel/v2/options.proto";
import "zitadel/object/v2alpha/object.proto";
import "zitadel/settings/v2alpha/branding_settings.proto";
import "zitadel/settings/v2alpha/domain_settings.proto";
import "zitadel/settings/v2alpha/legal_settings.proto";
import "zitadel/settings/v2alpha/lockout_settings.proto";
import "zitadel/settings/v2alpha/login_settings.proto";
import "zitadel/settings/v2alpha/password_settings.proto";
import "zitadel/object/v2beta/object.proto";
import "zitadel/settings/v2beta/branding_settings.proto";
import "zitadel/settings/v2beta/domain_settings.proto";
import "zitadel/settings/v2beta/legal_settings.proto";
import "zitadel/settings/v2beta/lockout_settings.proto";
import "zitadel/settings/v2beta/login_settings.proto";
import "zitadel/settings/v2beta/password_settings.proto";
import "google/api/annotations.proto";
import "google/api/field_behavior.proto";
import "protoc-gen-openapiv2/options/annotations.proto";
import "validate/validate.proto";
option go_package = "github.com/zitadel/zitadel/pkg/grpc/settings/v2alpha;settings";
option go_package = "github.com/zitadel/zitadel/pkg/grpc/settings/v2beta;settings";
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = {
info: {
title: "Settings Service";
version: "2.0-alpha";
description: "This API is intended to manage settings in a ZITADEL instance. This project is in alpha state. It can AND will continue breaking until the services provide the same functionality as the current login.";
version: "2.0-beta";
description: "This API is intended to manage settings in a ZITADEL instance. This project is in beta state. It can AND will continue breaking until the services provide the same functionality as the current login.";
contact:{
name: "ZITADEL"
url: "https://zitadel.com"
@ -110,7 +110,7 @@ service SettingsService {
// Get basic information over the instance
rpc GetGeneralSettings (GetGeneralSettingsRequest) returns (GetGeneralSettingsResponse) {
option (google.api.http) = {
get: "/v2alpha/settings"
get: "/v2beta/settings"
};
option (zitadel.protoc_gen_zitadel.v2.options) = {
@ -134,7 +134,7 @@ service SettingsService {
// Get the login settings
rpc GetLoginSettings (GetLoginSettingsRequest) returns (GetLoginSettingsResponse) {
option (google.api.http) = {
get: "/v2alpha/settings/login"
get: "/v2beta/settings/login"
};
option (zitadel.protoc_gen_zitadel.v2.options) = {
@ -158,7 +158,7 @@ service SettingsService {
// Get the current active identity providers
rpc GetActiveIdentityProviders (GetActiveIdentityProvidersRequest) returns (GetActiveIdentityProvidersResponse) {
option (google.api.http) = {
get: "/v2alpha/settings/login/idps"
get: "/v2beta/settings/login/idps"
};
option (zitadel.protoc_gen_zitadel.v2.options) = {
@ -182,7 +182,7 @@ service SettingsService {
// Get the password complexity settings
rpc GetPasswordComplexitySettings (GetPasswordComplexitySettingsRequest) returns (GetPasswordComplexitySettingsResponse) {
option (google.api.http) = {
get: "/v2alpha/settings/password/complexity"
get: "/v2beta/settings/password/complexity"
};
option (zitadel.protoc_gen_zitadel.v2.options) = {
@ -206,7 +206,7 @@ service SettingsService {
// Get the current active branding settings
rpc GetBrandingSettings (GetBrandingSettingsRequest) returns (GetBrandingSettingsResponse) {
option (google.api.http) = {
get: "/v2alpha/settings/branding"
get: "/v2beta/settings/branding"
};
option (zitadel.protoc_gen_zitadel.v2.options) = {
@ -230,7 +230,7 @@ service SettingsService {
// Get the domain settings
rpc GetDomainSettings (GetDomainSettingsRequest) returns (GetDomainSettingsResponse) {
option (google.api.http) = {
get: "/v2alpha/settings/domain"
get: "/v2beta/settings/domain"
};
option (zitadel.protoc_gen_zitadel.v2.options) = {
@ -254,7 +254,7 @@ service SettingsService {
// Get the legal and support settings
rpc GetLegalAndSupportSettings (GetLegalAndSupportSettingsRequest) returns (GetLegalAndSupportSettingsResponse) {
option (google.api.http) = {
get: "/v2alpha/settings/legal_support"
get: "/v2beta/settings/legal_support"
};
option (zitadel.protoc_gen_zitadel.v2.options) = {
@ -278,7 +278,7 @@ service SettingsService {
// Get the lockout settings
rpc GetLockoutSettings (GetLockoutSettingsRequest) returns (GetLockoutSettingsResponse) {
option (google.api.http) = {
get: "/v2alpha/settings/lockout"
get: "/v2beta/settings/lockout"
};
option (zitadel.protoc_gen_zitadel.v2.options) = {
@ -301,66 +301,66 @@ service SettingsService {
}
message GetLoginSettingsRequest {
zitadel.object.v2alpha.RequestContext ctx = 1;
zitadel.object.v2beta.RequestContext ctx = 1;
}
message GetLoginSettingsResponse {
zitadel.object.v2alpha.Details details = 1;
zitadel.settings.v2alpha.LoginSettings settings = 2;
zitadel.object.v2beta.Details details = 1;
zitadel.settings.v2beta.LoginSettings settings = 2;
}
message GetPasswordComplexitySettingsRequest {
zitadel.object.v2alpha.RequestContext ctx = 1;
zitadel.object.v2beta.RequestContext ctx = 1;
}
message GetPasswordComplexitySettingsResponse {
zitadel.object.v2alpha.Details details = 1;
zitadel.settings.v2alpha.PasswordComplexitySettings settings = 2;
zitadel.object.v2beta.Details details = 1;
zitadel.settings.v2beta.PasswordComplexitySettings settings = 2;
}
message GetBrandingSettingsRequest {
zitadel.object.v2alpha.RequestContext ctx = 1;
zitadel.object.v2beta.RequestContext ctx = 1;
}
message GetBrandingSettingsResponse {
zitadel.object.v2alpha.Details details = 1;
zitadel.settings.v2alpha.BrandingSettings settings = 2;
zitadel.object.v2beta.Details details = 1;
zitadel.settings.v2beta.BrandingSettings settings = 2;
}
message GetDomainSettingsRequest {
zitadel.object.v2alpha.RequestContext ctx = 1;
zitadel.object.v2beta.RequestContext ctx = 1;
}
message GetDomainSettingsResponse {
zitadel.object.v2alpha.Details details = 1;
zitadel.settings.v2alpha.DomainSettings settings = 2;
zitadel.object.v2beta.Details details = 1;
zitadel.settings.v2beta.DomainSettings settings = 2;
}
message GetLegalAndSupportSettingsRequest {
zitadel.object.v2alpha.RequestContext ctx = 1;
zitadel.object.v2beta.RequestContext ctx = 1;
}
message GetLegalAndSupportSettingsResponse {
zitadel.object.v2alpha.Details details = 1;
zitadel.settings.v2alpha.LegalAndSupportSettings settings = 2;
zitadel.object.v2beta.Details details = 1;
zitadel.settings.v2beta.LegalAndSupportSettings settings = 2;
}
message GetLockoutSettingsRequest {
zitadel.object.v2alpha.RequestContext ctx = 1;
zitadel.object.v2beta.RequestContext ctx = 1;
}
message GetLockoutSettingsResponse {
zitadel.object.v2alpha.Details details = 1;
zitadel.settings.v2alpha.LockoutSettings settings = 2;
zitadel.object.v2beta.Details details = 1;
zitadel.settings.v2beta.LockoutSettings settings = 2;
}
message GetActiveIdentityProvidersRequest {
zitadel.object.v2alpha.RequestContext ctx = 1;
zitadel.object.v2beta.RequestContext ctx = 1;
}
message GetActiveIdentityProvidersResponse {
zitadel.object.v2alpha.ListDetails details = 1;
repeated zitadel.settings.v2alpha.IdentityProvider identity_providers = 2;
zitadel.object.v2beta.ListDetails details = 1;
repeated zitadel.settings.v2beta.IdentityProvider identity_providers = 2;
}
message GetGeneralSettingsRequest {}

View File

@ -1,8 +1,8 @@
syntax = "proto3";
package zitadel.user.v2alpha;
package zitadel.user.v2beta;
option go_package = "github.com/zitadel/zitadel/pkg/grpc/user/v2alpha;user";
option go_package = "github.com/zitadel/zitadel/pkg/grpc/user/v2beta;user";
import "google/api/field_behavior.proto";
import "protoc-gen-openapiv2/options/annotations.proto";

View File

@ -1,8 +1,8 @@
syntax = "proto3";
package zitadel.user.v2alpha;
package zitadel.user.v2beta;
option go_package = "github.com/zitadel/zitadel/pkg/grpc/user/v2alpha;user";
option go_package = "github.com/zitadel/zitadel/pkg/grpc/user/v2beta;user";
import "google/api/annotations.proto";
import "google/api/field_behavior.proto";

View File

@ -1,8 +1,8 @@
syntax = "proto3";
package zitadel.user.v2alpha;
package zitadel.user.v2beta;
option go_package = "github.com/zitadel/zitadel/pkg/grpc/user/v2alpha;user";
option go_package = "github.com/zitadel/zitadel/pkg/grpc/user/v2beta;user";
import "google/api/field_behavior.proto";
import "google/protobuf/struct.proto";

View File

@ -1,8 +1,8 @@
syntax = "proto3";
package zitadel.user.v2alpha;
package zitadel.user.v2beta;
option go_package = "github.com/zitadel/zitadel/pkg/grpc/user/v2alpha;user";
option go_package = "github.com/zitadel/zitadel/pkg/grpc/user/v2beta;user";
import "google/api/field_behavior.proto";
import "protoc-gen-openapiv2/options/annotations.proto";

View File

@ -1,8 +1,8 @@
syntax = "proto3";
package zitadel.user.v2alpha;
package zitadel.user.v2beta;
option go_package = "github.com/zitadel/zitadel/pkg/grpc/user/v2alpha;user";
option go_package = "github.com/zitadel/zitadel/pkg/grpc/user/v2beta;user";
import "google/api/annotations.proto";
import "google/api/field_behavior.proto";

View File

@ -1,8 +1,8 @@
syntax = "proto3";
package zitadel.user.v2alpha;
package zitadel.user.v2beta;
option go_package = "github.com/zitadel/zitadel/pkg/grpc/user/v2alpha;user";
option go_package = "github.com/zitadel/zitadel/pkg/grpc/user/v2beta;user";
import "google/api/field_behavior.proto";
import "protoc-gen-openapiv2/options/annotations.proto";
@ -59,7 +59,7 @@ message SetHumanProfile {
example: "\"en\"";
}
];
optional zitadel.user.v2alpha.Gender gender = 6 [
optional zitadel.user.v2beta.Gender gender = 6 [
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
example: "\"GENDER_FEMALE\"";
}

View File

@ -1,15 +1,15 @@
syntax = "proto3";
package zitadel.user.v2alpha;
package zitadel.user.v2beta;
import "zitadel/object/v2alpha/object.proto";
import "zitadel/object/v2beta/object.proto";
import "zitadel/protoc_gen_zitadel/v2/options.proto";
import "zitadel/user/v2alpha/auth.proto";
import "zitadel/user/v2alpha/email.proto";
import "zitadel/user/v2alpha/phone.proto";
import "zitadel/user/v2alpha/idp.proto";
import "zitadel/user/v2alpha/password.proto";
import "zitadel/user/v2alpha/user.proto";
import "zitadel/user/v2beta/auth.proto";
import "zitadel/user/v2beta/email.proto";
import "zitadel/user/v2beta/phone.proto";
import "zitadel/user/v2beta/idp.proto";
import "zitadel/user/v2beta/password.proto";
import "zitadel/user/v2beta/user.proto";
import "google/api/annotations.proto";
import "google/api/field_behavior.proto";
import "google/protobuf/duration.proto";
@ -17,13 +17,13 @@ import "google/protobuf/struct.proto";
import "protoc-gen-openapiv2/options/annotations.proto";
import "validate/validate.proto";
option go_package = "github.com/zitadel/zitadel/pkg/grpc/user/v2alpha;user";
option go_package = "github.com/zitadel/zitadel/pkg/grpc/user/v2beta;user";
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = {
info: {
title: "User Service";
version: "2.0-alpha";
description: "This API is intended to manage users in a ZITADEL instance. This project is in alpha state. It can AND will continue breaking until the services provide the same functionality as the current login.";
version: "2.0-beta";
description: "This API is intended to manage users in a ZITADEL instance. This project is in beta state. It can AND will continue breaking until the services provide the same functionality as the current login.";
contact:{
name: "ZITADEL"
url: "https://zitadel.com"
@ -112,7 +112,7 @@ service UserService {
// Create a new human user
rpc AddHumanUser (AddHumanUserRequest) returns (AddHumanUserResponse) {
option (google.api.http) = {
post: "/v2alpha/users/human"
post: "/v2beta/users/human"
body: "*"
};
@ -141,7 +141,7 @@ service UserService {
// Change the email of a user
rpc SetEmail (SetEmailRequest) returns (SetEmailResponse) {
option (google.api.http) = {
post: "/v2alpha/users/{user_id}/email"
post: "/v2beta/users/{user_id}/email"
body: "*"
};
@ -166,7 +166,7 @@ service UserService {
// Verify the email with the provided code
rpc VerifyEmail (VerifyEmailRequest) returns (VerifyEmailResponse) {
option (google.api.http) = {
post: "/v2alpha/users/{user_id}/email/verify"
post: "/v2beta/users/{user_id}/email/verify"
body: "*"
};
@ -191,7 +191,7 @@ service UserService {
// Change the phone of a user
rpc SetPhone(SetPhoneRequest) returns (SetPhoneResponse) {
option (google.api.http) = {
post: "/v2alpha/users/{user_id}/phone"
post: "/v2beta/users/{user_id}/phone"
body: "*"
};
@ -216,7 +216,7 @@ service UserService {
// Verify the phone with the provided code
rpc VerifyPhone (VerifyPhoneRequest) returns (VerifyPhoneResponse) {
option (google.api.http) = {
post: "/v2alpha/users/{user_id}/phone/verify"
post: "/v2beta/users/{user_id}/phone/verify"
body: "*"
};
@ -240,7 +240,7 @@ service UserService {
rpc RegisterPasskey (RegisterPasskeyRequest) returns (RegisterPasskeyResponse) {
option (google.api.http) = {
post: "/v2alpha/users/{user_id}/passkeys"
post: "/v2beta/users/{user_id}/passkeys"
body: "*"
};
@ -262,7 +262,7 @@ service UserService {
}
rpc VerifyPasskeyRegistration (VerifyPasskeyRegistrationRequest) returns (VerifyPasskeyRegistrationResponse) {
option (google.api.http) = {
post: "/v2alpha/users/{user_id}/passkeys/{passkey_id}"
post: "/v2beta/users/{user_id}/passkeys/{passkey_id}"
body: "*"
};
@ -284,7 +284,7 @@ service UserService {
}
rpc CreatePasskeyRegistrationLink (CreatePasskeyRegistrationLinkRequest) returns (CreatePasskeyRegistrationLinkResponse) {
option (google.api.http) = {
post: "/v2alpha/users/{user_id}/passkeys/registration_link"
post: "/v2beta/users/{user_id}/passkeys/registration_link"
body: "*"
};
@ -307,7 +307,7 @@ service UserService {
rpc RegisterU2F (RegisterU2FRequest) returns (RegisterU2FResponse) {
option (google.api.http) = {
post: "/v2alpha/users/{user_id}/u2f"
post: "/v2beta/users/{user_id}/u2f"
body: "*"
};
@ -330,7 +330,7 @@ service UserService {
rpc VerifyU2FRegistration (VerifyU2FRegistrationRequest) returns (VerifyU2FRegistrationResponse) {
option (google.api.http) = {
post: "/v2alpha/users/{user_id}/u2f/{u2f_id}"
post: "/v2beta/users/{user_id}/u2f/{u2f_id}"
body: "*"
};
@ -353,7 +353,7 @@ service UserService {
rpc RegisterTOTP (RegisterTOTPRequest) returns (RegisterTOTPResponse) {
option (google.api.http) = {
post: "/v2alpha/users/{user_id}/totp"
post: "/v2beta/users/{user_id}/totp"
body: "*"
};
@ -376,7 +376,7 @@ service UserService {
rpc VerifyTOTPRegistration (VerifyTOTPRegistrationRequest) returns (VerifyTOTPRegistrationResponse) {
option (google.api.http) = {
post: "/v2alpha/users/{user_id}/totp/verify"
post: "/v2beta/users/{user_id}/totp/verify"
body: "*"
};
@ -399,7 +399,7 @@ service UserService {
rpc AddOTPSMS (AddOTPSMSRequest) returns (AddOTPSMSResponse) {
option (google.api.http) = {
post: "/v2alpha/users/{user_id}/otp_sms"
post: "/v2beta/users/{user_id}/otp_sms"
body: "*"
};
@ -422,7 +422,7 @@ service UserService {
rpc RemoveOTPSMS (RemoveOTPSMSRequest) returns (RemoveOTPSMSResponse) {
option (google.api.http) = {
delete: "/v2alpha/users/{user_id}/otp_sms"
delete: "/v2beta/users/{user_id}/otp_sms"
};
option (zitadel.protoc_gen_zitadel.v2.options) = {
@ -444,7 +444,7 @@ service UserService {
rpc AddOTPEmail (AddOTPEmailRequest) returns (AddOTPEmailResponse) {
option (google.api.http) = {
post: "/v2alpha/users/{user_id}/otp_email"
post: "/v2beta/users/{user_id}/otp_email"
body: "*"
};
@ -467,7 +467,7 @@ service UserService {
rpc RemoveOTPEmail (RemoveOTPEmailRequest) returns (RemoveOTPEmailResponse) {
option (google.api.http) = {
delete: "/v2alpha/users/{user_id}/otp_email"
delete: "/v2beta/users/{user_id}/otp_email"
};
option (zitadel.protoc_gen_zitadel.v2.options) = {
@ -490,7 +490,7 @@ service UserService {
// Start an IDP authentication (for external login, registration or linking)
rpc StartIdentityProviderIntent (StartIdentityProviderIntentRequest) returns (StartIdentityProviderIntentResponse) {
option (google.api.http) = {
post: "/v2alpha/idp_intents"
post: "/v2beta/idp_intents"
body: "*"
};
@ -514,7 +514,7 @@ service UserService {
rpc RetrieveIdentityProviderIntent (RetrieveIdentityProviderIntentRequest) returns (RetrieveIdentityProviderIntentResponse) {
option (google.api.http) = {
post: "/v2alpha/idp_intents/{idp_intent_id}"
post: "/v2beta/idp_intents/{idp_intent_id}"
body: "*"
};
@ -539,7 +539,7 @@ service UserService {
// Link an IDP to an existing user
rpc AddIDPLink (AddIDPLinkRequest) returns (AddIDPLinkResponse) {
option (google.api.http) = {
post: "/v2alpha/users/{user_id}/links"
post: "/v2beta/users/{user_id}/links"
body: "*"
};
@ -564,7 +564,7 @@ service UserService {
// Request password reset
rpc PasswordReset (PasswordResetRequest) returns (PasswordResetResponse) {
option (google.api.http) = {
post: "/v2alpha/users/{user_id}/password_reset"
post: "/v2beta/users/{user_id}/password_reset"
body: "*"
};
@ -589,7 +589,7 @@ service UserService {
// Change password
rpc SetPassword (SetPasswordRequest) returns (SetPasswordResponse) {
option (google.api.http) = {
post: "/v2alpha/users/{user_id}/password"
post: "/v2beta/users/{user_id}/password"
body: "*"
};
@ -614,7 +614,7 @@ service UserService {
// List all possible authentication methods of a user
rpc ListAuthenticationMethodTypes (ListAuthenticationMethodTypesRequest) returns (ListAuthenticationMethodTypesResponse) {
option (google.api.http) = {
get: "/v2alpha/users/{user_id}/authentication_methods"
get: "/v2beta/users/{user_id}/authentication_methods"
};
option (zitadel.protoc_gen_zitadel.v2.options) = {
@ -655,7 +655,7 @@ message AddHumanUserRequest{
example: "\"minnie-mouse\"";
}
];
zitadel.object.v2alpha.Organisation organisation = 3;
zitadel.object.v2beta.Organisation organisation = 3;
SetHumanProfile profile = 4 [
(validate.rules).message.required = true,
(google.api.field_behavior) = REQUIRED
@ -675,7 +675,7 @@ message AddHumanUserRequest{
message AddHumanUserResponse {
string user_id = 1;
zitadel.object.v2alpha.Details details = 2;
zitadel.object.v2beta.Details details = 2;
optional string email_code = 3;
optional string phone_code = 4;
}
@ -708,7 +708,7 @@ message SetEmailRequest{
}
message SetEmailResponse{
zitadel.object.v2alpha.Details details = 1;
zitadel.object.v2beta.Details details = 1;
// in case the verification was set to return_code, the code will be returned
optional string verification_code = 2;
}
@ -736,7 +736,7 @@ message VerifyEmailRequest{
}
message VerifyEmailResponse{
zitadel.object.v2alpha.Details details = 1;
zitadel.object.v2beta.Details details = 1;
}
message SetPhoneRequest{
@ -767,7 +767,7 @@ message SetPhoneRequest{
}
message SetPhoneResponse{
zitadel.object.v2alpha.Details details = 1;
zitadel.object.v2beta.Details details = 1;
// in case the verification was set to return_code, the code will be returned
optional string verification_code = 2;
}
@ -795,7 +795,7 @@ message VerifyPhoneRequest{
}
message VerifyPhoneResponse{
zitadel.object.v2alpha.Details details = 1;
zitadel.object.v2beta.Details details = 1;
}
message RegisterPasskeyRequest{
@ -826,7 +826,7 @@ message RegisterPasskeyRequest{
}
message RegisterPasskeyResponse{
zitadel.object.v2alpha.Details details = 1;
zitadel.object.v2beta.Details details = 1;
string passkey_id = 2 [
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
example: "\"163840776835432705\""
@ -881,7 +881,7 @@ message VerifyPasskeyRegistrationRequest{
}
message VerifyPasskeyRegistrationResponse{
zitadel.object.v2alpha.Details details = 1;
zitadel.object.v2beta.Details details = 1;
}
message RegisterU2FRequest{
@ -902,7 +902,7 @@ message RegisterU2FRequest{
}
message RegisterU2FResponse{
zitadel.object.v2alpha.Details details = 1;
zitadel.object.v2beta.Details details = 1;
string u2f_id = 2 [
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
example: "\"163840776835432705\""
@ -957,7 +957,7 @@ message VerifyU2FRegistrationRequest{
}
message VerifyU2FRegistrationResponse{
zitadel.object.v2alpha.Details details = 1;
zitadel.object.v2beta.Details details = 1;
}
message RegisterTOTPRequest {
@ -973,7 +973,7 @@ message RegisterTOTPRequest {
}
message RegisterTOTPResponse {
zitadel.object.v2alpha.Details details = 1;
zitadel.object.v2beta.Details details = 1;
string uri = 2 [
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
example: "\"otpauth://totp/ZITADEL:gigi@acme.zitadel.cloud?algorithm=SHA1&digits=6&issuer=ZITADEL&period=30&secret=TJOPWSDYILLHXFV4MLKNNJOWFG7VSDCK\"";
@ -1007,7 +1007,7 @@ message VerifyTOTPRegistrationRequest {
}
message VerifyTOTPRegistrationResponse {
zitadel.object.v2alpha.Details details = 1;
zitadel.object.v2beta.Details details = 1;
}
message AddOTPSMSRequest {
@ -1023,7 +1023,7 @@ message AddOTPSMSRequest {
}
message AddOTPSMSResponse {
zitadel.object.v2alpha.Details details = 1;
zitadel.object.v2beta.Details details = 1;
}
message RemoveOTPSMSRequest {
@ -1039,7 +1039,7 @@ message RemoveOTPSMSRequest {
}
message RemoveOTPSMSResponse {
zitadel.object.v2alpha.Details details = 1;
zitadel.object.v2beta.Details details = 1;
}
message AddOTPEmailRequest {
@ -1055,7 +1055,7 @@ message AddOTPEmailRequest {
}
message AddOTPEmailResponse {
zitadel.object.v2alpha.Details details = 1;
zitadel.object.v2beta.Details details = 1;
}
message RemoveOTPEmailRequest {
@ -1071,7 +1071,7 @@ message RemoveOTPEmailRequest {
}
message RemoveOTPEmailResponse {
zitadel.object.v2alpha.Details details = 1;
zitadel.object.v2beta.Details details = 1;
}
message CreatePasskeyRegistrationLinkRequest{
@ -1092,7 +1092,7 @@ message CreatePasskeyRegistrationLinkRequest{
}
message CreatePasskeyRegistrationLinkResponse{
zitadel.object.v2alpha.Details details = 1;
zitadel.object.v2beta.Details details = 1;
// in case the medium was set to return_code, the code will be returned
optional PasskeyRegistrationCode code = 2 [
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
@ -1119,7 +1119,7 @@ message StartIdentityProviderIntentRequest{
}
message StartIdentityProviderIntentResponse{
zitadel.object.v2alpha.Details details = 1;
zitadel.object.v2beta.Details details = 1;
oneof next_step {
string auth_url = 2 [
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
@ -1157,7 +1157,7 @@ message RetrieveIdentityProviderIntentRequest{
}
message RetrieveIdentityProviderIntentResponse{
zitadel.object.v2alpha.Details details = 1;
zitadel.object.v2beta.Details details = 1;
IDPInformation idp_information = 2;
}
@ -1175,7 +1175,7 @@ message AddIDPLinkRequest{
}
message AddIDPLinkResponse {
zitadel.object.v2alpha.Details details = 1;
zitadel.object.v2beta.Details details = 1;
}
@ -1197,7 +1197,7 @@ message PasswordResetRequest{
}
message PasswordResetResponse{
zitadel.object.v2alpha.Details details = 1;
zitadel.object.v2beta.Details details = 1;
// in case the medium was set to return_code, the code will be returned
optional string verification_code = 2;
}
@ -1239,7 +1239,7 @@ message SetPasswordRequest{
}
message SetPasswordResponse{
zitadel.object.v2alpha.Details details = 1;
zitadel.object.v2beta.Details details = 1;
}
message ListAuthenticationMethodTypesRequest{
@ -1255,7 +1255,7 @@ message ListAuthenticationMethodTypesRequest{
}
message ListAuthenticationMethodTypesResponse{
zitadel.object.v2alpha.ListDetails details = 1;
zitadel.object.v2beta.ListDetails details = 1;
repeated AuthenticationMethodType auth_method_types = 2;
}