@@ -3,7 +3,6 @@ package coderd
3
3
import (
4
4
"context"
5
5
"database/sql"
6
- "encoding/json"
7
6
"errors"
8
7
"fmt"
9
8
"net/http"
@@ -966,7 +965,7 @@ func (api *API) userOAuth2Github(rw http.ResponseWriter, r *http.Request) {
966
965
Username : username ,
967
966
AvatarURL : ghUser .GetAvatarURL (),
968
967
Name : normName ,
969
- DebugContext : OauthDebugContext {},
968
+ UserClaims : database. UserLinkClaims {},
970
969
GroupSync : idpsync.GroupParams {
971
970
SyncEntitled : false ,
972
971
},
@@ -1324,7 +1323,7 @@ func (api *API) userOIDC(rw http.ResponseWriter, r *http.Request) {
1324
1323
OrganizationSync : orgSync ,
1325
1324
GroupSync : groupSync ,
1326
1325
RoleSync : roleSync ,
1327
- DebugContext : OauthDebugContext {
1326
+ UserClaims : database. UserLinkClaims {
1328
1327
IDTokenClaims : idtokenClaims ,
1329
1328
UserInfoClaims : userInfoClaims ,
1330
1329
},
@@ -1421,7 +1420,9 @@ type oauthLoginParams struct {
1421
1420
GroupSync idpsync.GroupParams
1422
1421
RoleSync idpsync.RoleParams
1423
1422
1424
- DebugContext OauthDebugContext
1423
+ // UserClaims should only be populated for OIDC logins.
1424
+ // It is used to save the user's claims on login.
1425
+ UserClaims database.UserLinkClaims
1425
1426
1426
1427
commitLock sync.Mutex
1427
1428
initAuditRequest func (params * audit.RequestParams ) * audit.Request [database.User ]
@@ -1591,11 +1592,6 @@ func (api *API) oauthLogin(r *http.Request, params *oauthLoginParams) ([]*http.C
1591
1592
dormantConvertAudit .New = user
1592
1593
}
1593
1594
1594
- debugContext , err := json .Marshal (params .DebugContext )
1595
- if err != nil {
1596
- return xerrors .Errorf ("marshal debug context: %w" , err )
1597
- }
1598
-
1599
1595
if link .UserID == uuid .Nil {
1600
1596
//nolint:gocritic // System needs to insert the user link (linked_id, oauth_token, oauth_expiry).
1601
1597
link , err = tx .InsertUserLink (dbauthz .AsSystemRestricted (ctx ), database.InsertUserLinkParams {
@@ -1607,7 +1603,7 @@ func (api *API) oauthLogin(r *http.Request, params *oauthLoginParams) ([]*http.C
1607
1603
OAuthRefreshToken : params .State .Token .RefreshToken ,
1608
1604
OAuthRefreshTokenKeyID : sql.NullString {}, // set by dbcrypt if required
1609
1605
OAuthExpiry : params .State .Token .Expiry ,
1610
- DebugContext : debugContext ,
1606
+ Claims : params . UserClaims ,
1611
1607
})
1612
1608
if err != nil {
1613
1609
return xerrors .Errorf ("insert user link: %w" , err )
@@ -1624,7 +1620,7 @@ func (api *API) oauthLogin(r *http.Request, params *oauthLoginParams) ([]*http.C
1624
1620
OAuthRefreshToken : params .State .Token .RefreshToken ,
1625
1621
OAuthRefreshTokenKeyID : sql.NullString {}, // set by dbcrypt if required
1626
1622
OAuthExpiry : params .State .Token .Expiry ,
1627
- DebugContext : debugContext ,
1623
+ Claims : params . UserClaims ,
1628
1624
})
1629
1625
if err != nil {
1630
1626
return xerrors .Errorf ("update user link: %w" , err )
0 commit comments