X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/bd471a9eadaf564fb4beafd7db995b7762942c1d..3d5a1c29aad86476f2e789e1e54cabf8b4605aa2:/lib/controller/localdb/login_oidc.go diff --git a/lib/controller/localdb/login_oidc.go b/lib/controller/localdb/login_oidc.go index 66819fd12a..d91cdddc01 100644 --- a/lib/controller/localdb/login_oidc.go +++ b/lib/controller/localdb/login_oidc.go @@ -129,15 +129,14 @@ func (ctrl *oidcLoginController) Logout(ctx context.Context, opts arvados.Logout return arvados.LogoutResponse{}, fmt.Errorf("error setting up OpenID Connect provider: %s", err) } resp, err := logout(ctx, ctrl.Cluster, opts) + if err != nil { + return arvados.LogoutResponse{}, err + } creds, credsOK := auth.FromContext(ctx) - if err == nil && ctrl.endSessionURL != nil && credsOK && len(creds.Tokens) > 0 { + if ctrl.endSessionURL != nil && credsOK && len(creds.Tokens) > 0 { values := ctrl.endSessionURL.Query() values.Set("client_id", ctrl.ClientID) values.Set("post_logout_redirect_uri", resp.RedirectLocation) - values.Del("id_token_hint") - for _, token := range creds.Tokens { - values.Add("id_token_hint", token) - } u := *ctrl.endSessionURL u.RawQuery = values.Encode() resp.RedirectLocation = u.String()