Skip to content

Commit 591cefa

Browse files
authored
fix(coderd/provisionerdserver): prevent NPE if no user link exists (#15289)
1 parent 3de98c2 commit 591cefa

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

coderd/provisionerdserver/provisionerdserver.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -2026,7 +2026,7 @@ func obtainOIDCAccessToken(ctx context.Context, db database.Store, oidcConfig pr
20262026
LoginType: database.LoginTypeOIDC,
20272027
})
20282028
if errors.Is(err, sql.ErrNoRows) {
2029-
err = nil
2029+
return "", nil
20302030
}
20312031
if err != nil {
20322032
return "", xerrors.Errorf("get owner oidc link: %w", err)

coderd/provisionerdserver/provisionerdserver_internal_test.go

+10
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,16 @@ func TestObtainOIDCAccessToken(t *testing.T) {
3838
_, err := obtainOIDCAccessToken(ctx, db, &oauth2.Config{}, user.ID)
3939
require.NoError(t, err)
4040
})
41+
t.Run("MissingLink", func(t *testing.T) {
42+
t.Parallel()
43+
db := dbmem.New()
44+
user := dbgen.User(t, db, database.User{
45+
LoginType: database.LoginTypeOIDC,
46+
})
47+
tok, err := obtainOIDCAccessToken(ctx, db, &oauth2.Config{}, user.ID)
48+
require.Empty(t, tok)
49+
require.NoError(t, err)
50+
})
4151
t.Run("Exchange", func(t *testing.T) {
4252
t.Parallel()
4353
db := dbmem.New()

0 commit comments

Comments
 (0)