controllers/clusterkeycloakrealm/chain/auth_flow.go (26 lines of code) (raw):

package chain import ( "context" "fmt" ctrl "sigs.k8s.io/controller-runtime" keycloakApi "github.com/epam/edp-keycloak-operator/api/v1alpha1" "github.com/epam/edp-keycloak-operator/pkg/client/keycloak" ) type AuthFlow struct { } func NewAuthFlow() *AuthFlow { return &AuthFlow{} } func (a AuthFlow) ServeRequest(ctx context.Context, realm *keycloakApi.ClusterKeycloakRealm, kClient keycloak.Client) error { log := ctrl.LoggerFrom(ctx) log.Info("Start configuring authentication flow") if realm.Spec.AuthenticationFlow == nil || realm.Spec.AuthenticationFlow.BrowserFlow == "" { log.Info("Authentication flow is not provided, skip configuring") return nil } if err := kClient.SetRealmBrowserFlow(ctx, realm.Spec.RealmName, realm.Spec.AuthenticationFlow.BrowserFlow); err != nil { return fmt.Errorf("setting realm browser flow: %w", err) } log.Info("Authentication flow has been configured") return nil }