we're having an issue with updating payload on acc...
# support-questions-legacy
k
we're having an issue with updating payload on access token getting this
error merging into access token payload
We're doing some basic stuff I would say (shortened):
Copy code
userMetaData, err := usermetadata.GetUserMetadata(updateMetadataModel.UserId)

for k, v := range updateMetadataModel.UserMetadata {
    userMetaData[k] = v
}

userMetaData, err = usermetadata.UpdateUserMetadata(updateMetadataModel.UserId, userMetaData)
checkCsrfToken := false

sessionContainer, err := session.GetSession(c.Request, c.Writer, &sessmodels.VerifySessionOptions{
    AntiCsrfCheck: &checkCsrfToken,
})

mergeTokenMetadata := make(map[string]interface{})
for k, v := range updateMetadataModel.UserMetadata {
    if !isValidKey(k) {
        continue
    }

    mergeTokenMetadata[getClaimKey(k)] = v
}

firstName, firstNameExists := mergeTokenMetadata[infrastructure.FirstName]
lastName, lastNameExists := mergeTokenMetadata[infrastructure.LastName]

if firstNameExists && lastNameExists {
    mergeTokenMetadata[infrastructure.Name] = fmt.Sprintf("%s %s", firstName, lastName)
} else if firstNameExists {
    mergeTokenMetadata[infrastructure.Name] = firstName
} else if userMetaData != nil {
    mergeTokenMetadata[infrastructure.Name] = sessionContainer.GetAccessTokenPayload()[infrastructure.Name]
}

err = sessionContainer.MergeIntoAccessTokenPayload(mergeTokenMetadata)