Skip to content

Commit d1fb4eb

Browse files
committed
chore: include merged claims into the database
Merging happens before IDP sync. Storing this will make some SQL queries much simplier
1 parent 097b84f commit d1fb4eb

File tree

2 files changed

+4
-0
lines changed

2 files changed

+4
-0
lines changed

coderd/database/types.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,9 @@ func (p AgentIDNamePair) Value() (driver.Value, error) {
214214
type UserLinkClaims struct {
215215
IDTokenClaims map[string]interface{} `json:"id_token_claims"`
216216
UserInfoClaims map[string]interface{} `json:"user_info_claims"`
217+
// MergeClaims are computed in Golang. It is the result of merging
218+
// the IDTokenClaims and UserInfoClaims. UserInfoClaims take precedence.
219+
MergedClaims map[string]interface{} `json:"merged_claims"`
217220
}
218221

219222
func (a *UserLinkClaims) Scan(src interface{}) error {

coderd/userauth.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1326,6 +1326,7 @@ func (api *API) userOIDC(rw http.ResponseWriter, r *http.Request) {
13261326
UserClaims: database.UserLinkClaims{
13271327
IDTokenClaims: idtokenClaims,
13281328
UserInfoClaims: userInfoClaims,
1329+
MergedClaims: mergedClaims,
13291330
},
13301331
}).SetInitAuditRequest(func(params *audit.RequestParams) (*audit.Request[database.User], func()) {
13311332
return audit.InitRequest[database.User](rw, params)

0 commit comments

Comments
 (0)