diff --git a/packages/grafana-data/src/types/featureToggles.gen.ts b/packages/grafana-data/src/types/featureToggles.gen.ts index ec009948a9b..a6dcc8b1800 100644 --- a/packages/grafana-data/src/types/featureToggles.gen.ts +++ b/packages/grafana-data/src/types/featureToggles.gen.ts @@ -699,10 +699,6 @@ export interface FeatureToggles { */ playlistsReconciler?: boolean; /** - * Enable passwordless login via magic link authentication - */ - passwordlessMagicLinkAuthentication?: boolean; - /** * Display Related Logs in Grafana Metrics Drilldown */ exploreMetricsRelatedLogs?: boolean; diff --git a/pkg/api/api.go b/pkg/api/api.go index da1efa5067f..1577a4625f4 100644 --- a/pkg/api/api.go +++ b/pkg/api/api.go @@ -226,8 +226,7 @@ func (hs *HTTPServer) registerRoutes() { r.Post("/api/user/email/start-verify", reqSignedInNoAnonymous, routing.Wrap(hs.StartEmailVerificaton)) } - //nolint:staticcheck // not yet migrated to OpenFeature - if hs.Cfg.PasswordlessMagicLinkAuth.Enabled && hs.Features.IsEnabledGlobally(featuremgmt.FlagPasswordlessMagicLinkAuthentication) { + if hs.Cfg.PasswordlessMagicLinkAuth.Enabled { r.Post("/api/login/passwordless/start", requestmeta.SetOwner(requestmeta.TeamAuth), quota(string(auth.QuotaTargetSrv)), hs.StartPasswordless) r.Post("/api/login/passwordless/authenticate", requestmeta.SetOwner(requestmeta.TeamAuth), quota(string(auth.QuotaTargetSrv)), routing.Wrap(hs.LoginPasswordless)) } diff --git a/pkg/api/frontendsettings.go b/pkg/api/frontendsettings.go index b57262087e5..19fb8a87b94 100644 --- a/pkg/api/frontendsettings.go +++ b/pkg/api/frontendsettings.go @@ -410,8 +410,7 @@ func (hs *HTTPServer) getFrontendSettings(c *contextmodel.ReqContext) (*dtos.Fro DisableSignoutMenu: hs.Cfg.DisableSignoutMenu, } - //nolint:staticcheck // not yet migrated to OpenFeature - if hs.Cfg.PasswordlessMagicLinkAuth.Enabled && hs.Features.IsEnabled(c.Req.Context(), featuremgmt.FlagPasswordlessMagicLinkAuthentication) { + if hs.Cfg.PasswordlessMagicLinkAuth.Enabled { hasEnabledProviders := hs.samlEnabled() || hs.authnService.IsClientEnabled(authn.ClientLDAP) if !hasEnabledProviders { diff --git a/pkg/services/authn/authnimpl/registration.go b/pkg/services/authn/authnimpl/registration.go index 19cbe411b78..4f6b34828fb 100644 --- a/pkg/services/authn/authnimpl/registration.go +++ b/pkg/services/authn/authnimpl/registration.go @@ -1,8 +1,6 @@ package authnimpl import ( - "context" - "github.com/grafana/grafana/pkg/infra/log" "github.com/grafana/grafana/pkg/infra/remotecache" "github.com/grafana/grafana/pkg/infra/tracing" @@ -83,8 +81,7 @@ func ProvideRegistration( } } - //nolint:staticcheck // not yet migrated to OpenFeature - if cfg.PasswordlessMagicLinkAuth.Enabled && features.IsEnabled(context.Background(), featuremgmt.FlagPasswordlessMagicLinkAuthentication) { + if cfg.PasswordlessMagicLinkAuth.Enabled { hasEnabledProviders := authnSvc.IsClientEnabled(authn.ClientSAML) || authnSvc.IsClientEnabled(authn.ClientLDAP) if !hasEnabledProviders { oauthInfos := socialService.GetOAuthInfoProviders() diff --git a/pkg/services/featuremgmt/registry.go b/pkg/services/featuremgmt/registry.go index d325597a04b..327dfa94768 100644 --- a/pkg/services/featuremgmt/registry.go +++ b/pkg/services/featuremgmt/registry.go @@ -1155,14 +1155,7 @@ var ( Owner: grafanaAppPlatformSquad, RequiresRestart: true, }, - { - Name: "passwordlessMagicLinkAuthentication", - Description: "Enable passwordless login via magic link authentication", - Stage: FeatureStageExperimental, - Owner: identityAccessTeam, - HideFromDocs: true, - }, - { + { Name: "exploreMetricsRelatedLogs", Description: "Display Related Logs in Grafana Metrics Drilldown", Stage: FeatureStageExperimental, diff --git a/pkg/services/featuremgmt/toggles_gen.csv b/pkg/services/featuremgmt/toggles_gen.csv index a5041e1a42d..107aea0571f 100644 --- a/pkg/services/featuremgmt/toggles_gen.csv +++ b/pkg/services/featuremgmt/toggles_gen.csv @@ -160,7 +160,6 @@ timeRangePan,experimental,@grafana/dataviz-squad,false,false,true newTimeRangeZoomShortcuts,experimental,@grafana/dataviz-squad,false,false,true azureMonitorDisableLogLimit,GA,@grafana/partner-datasources,false,false,false playlistsReconciler,experimental,@grafana/grafana-app-platform-squad,false,true,false -passwordlessMagicLinkAuthentication,experimental,@grafana/identity-access-team,false,false,false exploreMetricsRelatedLogs,experimental,@grafana/observability-metrics,false,false,true prometheusSpecialCharsInLabelValues,experimental,@grafana/oss-big-tent,false,false,true enableExtensionsAdminPage,experimental,@grafana/plugins-platform-backend,false,true,false diff --git a/pkg/services/featuremgmt/toggles_gen.go b/pkg/services/featuremgmt/toggles_gen.go index 5ef42eb6543..7c36fcead08 100644 --- a/pkg/services/featuremgmt/toggles_gen.go +++ b/pkg/services/featuremgmt/toggles_gen.go @@ -483,10 +483,6 @@ const ( // Enables experimental reconciler for playlists FlagPlaylistsReconciler = "playlistsReconciler" - // FlagPasswordlessMagicLinkAuthentication - // Enable passwordless login via magic link authentication - FlagPasswordlessMagicLinkAuthentication = "passwordlessMagicLinkAuthentication" - // FlagEnableExtensionsAdminPage // Enables the extension admin page regardless of development mode FlagEnableExtensionsAdminPage = "enableExtensionsAdminPage" diff --git a/pkg/services/featuremgmt/toggles_gen.json b/pkg/services/featuremgmt/toggles_gen.json index 6831c7045b3..4eb62cbe063 100644 --- a/pkg/services/featuremgmt/toggles_gen.json +++ b/pkg/services/featuremgmt/toggles_gen.json @@ -2661,7 +2661,8 @@ "metadata": { "name": "passwordlessMagicLinkAuthentication", "resourceVersion": "1764664939750", - "creationTimestamp": "2024-11-14T13:50:55Z" + "creationTimestamp": "2024-11-14T13:50:55Z", + "deletionTimestamp": "2026-01-08T15:33:29Z" }, "spec": { "description": "Enable passwordless login via magic link authentication",