hscontrol: remove unused OIDC user change result

This commit is contained in:
Kristoffer Dalby committed 2026-10-29 20:51:50 +01:00
1 parent c0925962c2
commit 545ace5673
2 files changed
+10 -11

No files matched your search

+9 -10
View File
@@ -19,7 +19,6 @@ import (
"github.com/juanfont/headscale/hscontrol/db" "github.com/juanfont/headscale/hscontrol/db"
"github.com/juanfont/headscale/hscontrol/templates" "github.com/juanfont/headscale/hscontrol/templates"
"github.com/juanfont/headscale/hscontrol/types" "github.com/juanfont/headscale/hscontrol/types"
"github.com/juanfont/headscale/hscontrol/types/change"
"github.com/juanfont/headscale/hscontrol/util" "github.com/juanfont/headscale/hscontrol/util"
"github.com/rs/zerolog/log" "github.com/rs/zerolog/log"
"golang.org/x/oauth2" "golang.org/x/oauth2"
@@ -371,7 +370,7 @@ func (a *AuthProviderOIDC) OIDCCallbackHandler(
return return
} }
user, _, err := a.createOrUpdateUserFromClaim(&claims) user, err := a.createOrUpdateUserFromClaim(&claims)
if err != nil { if err != nil {
httpUserError(writer, NewHTTPError( httpUserError(writer, NewHTTPError(
http.StatusInternalServerError, http.StatusInternalServerError,
@@ -697,6 +696,7 @@ func (a *AuthProviderOIDC) getAuthInfoFromState(state string) *AuthInfo {
authInfo, ok := a.authCache.Peek(state) authInfo, ok := a.authCache.Peek(state)
a.authCache.Remove(state) a.authCache.Remove(state)
if !ok { if !ok {
return nil return nil
} }
@@ -706,17 +706,16 @@ func (a *AuthProviderOIDC) getAuthInfoFromState(state string) *AuthInfo {
func (a *AuthProviderOIDC) createOrUpdateUserFromClaim( func (a *AuthProviderOIDC) createOrUpdateUserFromClaim(
claims *types.OIDCClaims, claims *types.OIDCClaims,
) (*types.User, change.Change, error) { ) (*types.User, error) {
var ( var (
user *types.User user *types.User
err error err error
newUser bool newUser bool
c change.Change
) )
user, err = a.h.state.GetUserByOIDCIdentifier(claims.Identifier()) user, err = a.h.state.GetUserByOIDCIdentifier(claims.Identifier())
if err != nil && !errors.Is(err, db.ErrUserNotFound) { if err != nil && !errors.Is(err, db.ErrUserNotFound) {
return nil, change.Change{}, fmt.Errorf("creating or updating user: %w", err) return nil, fmt.Errorf("creating or updating user: %w", err)
} }
// if the user is still not found, create a new empty user. // if the user is still not found, create a new empty user.
@@ -730,21 +729,21 @@ func (a *AuthProviderOIDC) createOrUpdateUserFromClaim(
user.FromClaim(claims, a.cfg.EmailVerifiedRequired) user.FromClaim(claims, a.cfg.EmailVerifiedRequired)
if newUser { if newUser {
user, c, err = a.h.state.CreateUser(*user) user, _, err = a.h.state.CreateUser(*user)
if err != nil { if err != nil {
return nil, change.Change{}, fmt.Errorf("creating user: %w", err) return nil, fmt.Errorf("creating user: %w", err)
} }
} else { } else {
_, c, err = a.h.state.UpdateUser(types.UserID(user.ID), func(u *types.User) error { _, _, err = a.h.state.UpdateUser(types.UserID(user.ID), func(u *types.User) error {
*u = *user *u = *user
return nil return nil
}) })
if err != nil { if err != nil {
return nil, change.Change{}, fmt.Errorf("updating user: %w", err) return nil, fmt.Errorf("updating user: %w", err)
} }
} }
return user, c, nil return user, nil
} }
// registerConfirmCSRFCookie is the cookie name used to bind the // registerConfirmCSRFCookie is the cookie name used to bind the
+1 -1
View File
@@ -926,7 +926,7 @@ func TestOIDCPendingCallbackPreservesSSHVerdict(t *testing.T) {
require.True(t, ok) require.True(t, ok)
principal := mockoidc.DefaultUser() principal := mockoidc.DefaultUser()
user, _, err := a.createOrUpdateUserFromClaim(&types.OIDCClaims{ user, err := a.createOrUpdateUserFromClaim(&types.OIDCClaims{
Iss: b.idp.Issuer(), Iss: b.idp.Issuer(),
Sub: principal.Subject, Sub: principal.Subject,
Username: principal.PreferredUsername, Username: principal.PreferredUsername,