X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/0e2f3e506566b1ceb54bd764d3f32c004e45f8b3..0531cc9f35e78a7be1eec7eb96fb6cc668ebcefa:/lib/controller/localdb/login_oidc.go diff --git a/lib/controller/localdb/login_oidc.go b/lib/controller/localdb/login_oidc.go index 6d6f80f39c..05e5e243b9 100644 --- a/lib/controller/localdb/login_oidc.go +++ b/lib/controller/localdb/login_oidc.go @@ -116,6 +116,9 @@ func (ctrl *oidcLoginController) Login(ctx context.Context, opts arvados.LoginOp if opts.ReturnTo == "" { return loginError(errors.New("missing return_to parameter")) } + if err := validateLoginRedirectTarget(ctrl.Parent.cluster, opts.ReturnTo); err != nil { + return loginError(fmt.Errorf("invalid return_to parameter: %s", err)) + } state := ctrl.newOAuth2State([]byte(ctrl.Cluster.SystemRootToken), opts.Remote, opts.ReturnTo) var authparams []oauth2.AuthCodeOption for k, v := range ctrl.AuthParams {