mirror of
https://github.com/zitadel/zitadel.git
synced 2025-12-06 09:02:22 +00:00
fix: define base uri for login v2 feature as string to make it config… (#10533)
…urable
# Which Problems Are Solved
BaseURI defined in environment variables or configuration files was
ignored for Login v2 feature flag.
# How the Problems Are Solved
Define BaseURI as string so that the environment variables and
configuration files can be parsed into it.
# Additional Changes
None
# Additional Context
Closes #10405
(cherry picked from commit 2a78fdfe1f)
This commit is contained in:
committed by
Livio Spring
parent
1625e5f7bc
commit
ce00cf22db
@@ -2,6 +2,7 @@ package command
|
||||
|
||||
import (
|
||||
"context"
|
||||
"net/url"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
@@ -14,6 +15,7 @@ import (
|
||||
"github.com/zitadel/zitadel/internal/crypto"
|
||||
"github.com/zitadel/zitadel/internal/domain"
|
||||
"github.com/zitadel/zitadel/internal/eventstore"
|
||||
"github.com/zitadel/zitadel/internal/feature"
|
||||
"github.com/zitadel/zitadel/internal/i18n"
|
||||
"github.com/zitadel/zitadel/internal/id"
|
||||
"github.com/zitadel/zitadel/internal/notification/channels/smtp"
|
||||
@@ -122,12 +124,59 @@ type InstanceSetup struct {
|
||||
SMTPConfiguration *SMTPConfiguration
|
||||
OIDCSettings *OIDCSettings
|
||||
Quotas *SetQuotas
|
||||
Features *InstanceFeatures
|
||||
Features *InstanceSetupFeatures
|
||||
Limits *SetLimits
|
||||
Restrictions *SetRestrictions
|
||||
RolePermissionMappings []authz.RoleMapping
|
||||
}
|
||||
|
||||
type InstanceSetupFeatures struct {
|
||||
LoginDefaultOrg *bool
|
||||
UserSchema *bool
|
||||
TokenExchange *bool
|
||||
ImprovedPerformance []feature.ImprovedPerformanceType
|
||||
DebugOIDCParentError *bool
|
||||
OIDCSingleV1SessionTermination *bool
|
||||
EnableBackChannelLogout *bool
|
||||
LoginV2 *InstanceSetupFeatureLoginV2
|
||||
PermissionCheckV2 *bool
|
||||
ConsoleUseV2UserApi *bool
|
||||
}
|
||||
|
||||
type InstanceSetupFeatureLoginV2 struct {
|
||||
Required bool `json:"required,omitempty"`
|
||||
BaseURI *string `json:"base_uri,omitempty"`
|
||||
}
|
||||
|
||||
func (f *InstanceSetupFeatures) ToInstanceFeatures() (_ *InstanceFeatures, err error) {
|
||||
if f == nil {
|
||||
return nil, nil
|
||||
}
|
||||
var loginV2 *feature.LoginV2
|
||||
if f.LoginV2 != nil {
|
||||
loginV2 = &feature.LoginV2{Required: f.LoginV2.Required}
|
||||
if f.LoginV2.BaseURI != nil {
|
||||
loginV2.BaseURI, err = url.Parse(*f.LoginV2.BaseURI)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return &InstanceFeatures{
|
||||
LoginDefaultOrg: f.LoginDefaultOrg,
|
||||
UserSchema: f.UserSchema,
|
||||
TokenExchange: f.TokenExchange,
|
||||
ImprovedPerformance: f.ImprovedPerformance,
|
||||
DebugOIDCParentError: f.DebugOIDCParentError,
|
||||
OIDCSingleV1SessionTermination: f.OIDCSingleV1SessionTermination,
|
||||
EnableBackChannelLogout: f.EnableBackChannelLogout,
|
||||
LoginV2: loginV2,
|
||||
PermissionCheckV2: f.PermissionCheckV2,
|
||||
ConsoleUseV2UserApi: f.ConsoleUseV2UserApi,
|
||||
}, nil
|
||||
}
|
||||
|
||||
type SMTPConfiguration struct {
|
||||
Description string
|
||||
SMTP smtp.SMTP
|
||||
@@ -421,7 +470,7 @@ func setupQuotas(commands *Commands, validations *[]preparation.Validation, setQ
|
||||
return nil
|
||||
}
|
||||
|
||||
func setupFeatures(validations *[]preparation.Validation, features *InstanceFeatures, instanceID string) {
|
||||
func setupFeatures(validations *[]preparation.Validation, features *InstanceSetupFeatures, instanceID string) {
|
||||
if features != nil {
|
||||
*validations = append(*validations, prepareSetFeatures(instanceID, features))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user