Skip to content

Commit f9a637d

Browse files
committed
Add to add instances
1 parent 4f94342 commit f9a637d

File tree

8 files changed

+14
-0
lines changed

8 files changed

+14
-0
lines changed

coderd/coderdtest/oidctest/helper.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package oidctest
22

33
import (
44
"database/sql"
5+
"encoding/json"
56
"net/http"
67
"testing"
78
"time"
@@ -77,6 +78,7 @@ func (*LoginHelper) ExpireOauthToken(t *testing.T, db database.Store, user *code
7778
OAuthExpiry: time.Now().Add(time.Hour * -1),
7879
UserID: link.UserID,
7980
LoginType: link.LoginType,
81+
DebugContext: json.RawMessage("{}"),
8082
})
8183
require.NoError(t, err, "expire user link")
8284

coderd/database/dbgen/dbgen.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -513,6 +513,7 @@ func UserLink(t testing.TB, db database.Store, orig database.UserLink) database.
513513
OAuthRefreshToken: takeFirst(orig.OAuthRefreshToken, uuid.NewString()),
514514
OAuthRefreshTokenKeyID: takeFirst(orig.OAuthRefreshTokenKeyID, sql.NullString{}),
515515
OAuthExpiry: takeFirst(orig.OAuthExpiry, dbtime.Now().Add(time.Hour*24)),
516+
DebugContext: takeFirstSlice(orig.DebugContext, json.RawMessage("{}")),
516517
})
517518

518519
require.NoError(t, err, "insert link")

coderd/database/dbmem/dbmem.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5094,6 +5094,7 @@ func (q *FakeQuerier) InsertUserLink(_ context.Context, args database.InsertUser
50945094
OAuthRefreshToken: args.OAuthRefreshToken,
50955095
OAuthRefreshTokenKeyID: args.OAuthRefreshTokenKeyID,
50965096
OAuthExpiry: args.OAuthExpiry,
5097+
DebugContext: args.DebugContext,
50975098
}
50985099

50995100
q.userLinks = append(q.userLinks, link)
@@ -6176,6 +6177,7 @@ func (q *FakeQuerier) UpdateUserLink(_ context.Context, params database.UpdateUs
61766177
link.OAuthRefreshToken = params.OAuthRefreshToken
61776178
link.OAuthRefreshTokenKeyID = params.OAuthRefreshTokenKeyID
61786179
link.OAuthExpiry = params.OAuthExpiry
6180+
link.DebugContext = params.DebugContext
61796181

61806182
q.userLinks[i] = link
61816183
return link, nil

coderd/httpmw/apikey.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -378,6 +378,9 @@ func ExtractAPIKey(rw http.ResponseWriter, r *http.Request, cfg ExtractAPIKeyCon
378378
OAuthRefreshToken: link.OAuthRefreshToken,
379379
OAuthRefreshTokenKeyID: sql.NullString{}, // dbcrypt will update as required
380380
OAuthExpiry: link.OAuthExpiry,
381+
// Refresh should keep the same debug context because we use
382+
// the original claims for the group/role sync.
383+
DebugContext: link.DebugContext,
381384
})
382385
if err != nil {
383386
return write(http.StatusInternalServerError, codersdk.Response{

coderd/provisionerdserver/provisionerdserver.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1674,6 +1674,7 @@ func obtainOIDCAccessToken(ctx context.Context, db database.Store, oidcConfig ht
16741674
OAuthRefreshToken: link.OAuthRefreshToken,
16751675
OAuthRefreshTokenKeyID: sql.NullString{}, // set by dbcrypt if required
16761676
OAuthExpiry: link.OAuthExpiry,
1677+
DebugContext: link.DebugContext,
16771678
})
16781679
if err != nil {
16791680
return "", xerrors.Errorf("update user link: %w", err)

coderd/users.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ func (api *API) userDebugOIDC(rw http.ResponseWriter, r *http.Request) {
5858
Message: "Failed to get user links.",
5959
Detail: err.Error(),
6060
})
61+
return
6162
}
6263

6364
// This will encode properly because it is a json.RawMessage.

enterprise/dbcrypt/cliutil.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ func Rotate(ctx context.Context, log slog.Logger, sqlDB *sql.DB, ciphers []Ciphe
4343
OAuthExpiry: userLink.OAuthExpiry,
4444
UserID: uid,
4545
LoginType: userLink.LoginType,
46+
DebugContext: userLink.DebugContext,
4647
}); err != nil {
4748
return xerrors.Errorf("update user link user_id=%s linked_id=%s: %w", userLink.UserID, userLink.LinkedID, err)
4849
}
@@ -132,6 +133,7 @@ func Decrypt(ctx context.Context, log slog.Logger, sqlDB *sql.DB, ciphers []Ciph
132133
OAuthExpiry: userLink.OAuthExpiry,
133134
UserID: uid,
134135
LoginType: userLink.LoginType,
136+
DebugContext: userLink.DebugContext,
135137
}); err != nil {
136138
return xerrors.Errorf("update user link user_id=%s linked_id=%s: %w", userLink.UserID, userLink.LinkedID, err)
137139
}

enterprise/dbcrypt/dbcrypt_internal_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"crypto/rand"
66
"database/sql"
77
"encoding/base64"
8+
"encoding/json"
89
"io"
910
"testing"
1011

@@ -55,6 +56,7 @@ func TestUserLinks(t *testing.T) {
5556
OAuthRefreshToken: "refresh",
5657
UserID: link.UserID,
5758
LoginType: link.LoginType,
59+
DebugContext: json.RawMessage("{}"),
5860
})
5961
require.NoError(t, err)
6062
require.Equal(t, "access", updated.OAuthAccessToken)

0 commit comments

Comments
 (0)