diff --git a/coderd/provisionerdserver/provisionerdserver.go b/coderd/provisionerdserver/provisionerdserver.go index 0a4198423e403..1f97863e7802b 100644 --- a/coderd/provisionerdserver/provisionerdserver.go +++ b/coderd/provisionerdserver/provisionerdserver.go @@ -2026,7 +2026,7 @@ func obtainOIDCAccessToken(ctx context.Context, db database.Store, oidcConfig pr LoginType: database.LoginTypeOIDC, }) if errors.Is(err, sql.ErrNoRows) { - err = nil + return "", nil } if err != nil { return "", xerrors.Errorf("get owner oidc link: %w", err) diff --git a/coderd/provisionerdserver/provisionerdserver_internal_test.go b/coderd/provisionerdserver/provisionerdserver_internal_test.go index acf9508307070..eb616eb4c2795 100644 --- a/coderd/provisionerdserver/provisionerdserver_internal_test.go +++ b/coderd/provisionerdserver/provisionerdserver_internal_test.go @@ -38,6 +38,16 @@ func TestObtainOIDCAccessToken(t *testing.T) { _, err := obtainOIDCAccessToken(ctx, db, &oauth2.Config{}, user.ID) require.NoError(t, err) }) + t.Run("MissingLink", func(t *testing.T) { + t.Parallel() + db := dbmem.New() + user := dbgen.User(t, db, database.User{ + LoginType: database.LoginTypeOIDC, + }) + tok, err := obtainOIDCAccessToken(ctx, db, &oauth2.Config{}, user.ID) + require.Empty(t, tok) + require.NoError(t, err) + }) t.Run("Exchange", func(t *testing.T) { t.Parallel() db := dbmem.New()