MM-58255 Ensure remote users do not get valid email addresses (#27421)
* remote users don't get valid email addresses; remote users cannot have access tokens * block notification emails for remote users --------- Co-authored-by: Mattermost Build <build@mattermost.com>
Этот коммит содержится в:
@@ -267,7 +267,7 @@ func (scs *Service) insertSyncUser(rctx request.CTX, user *model.User, _ *model.
|
||||
}
|
||||
|
||||
user.Username = mungUsername(user.Username, rc.Name, suffix, model.UserNameMaxLength)
|
||||
user.Email = mungEmail(rc.Name, model.UserEmailMaxLength)
|
||||
user.Email = model.NewId()
|
||||
|
||||
if userSaved, err = scs.server.GetStore().User().Save(rctx, user); err != nil {
|
||||
field, ok := isConflictError(err)
|
||||
@@ -321,7 +321,7 @@ func (scs *Service) updateSyncUser(rctx request.CTX, patch *model.UserPatch, use
|
||||
suffix = strconv.FormatInt(int64(i), 10)
|
||||
}
|
||||
user.Username = mungUsername(user.Username, rc.Name, suffix, model.UserNameMaxLength)
|
||||
user.Email = mungEmail(rc.Name, model.UserEmailMaxLength)
|
||||
user.Email = model.NewId()
|
||||
|
||||
if update, err = scs.server.GetStore().User().Update(rctx, user, false); err != nil {
|
||||
field, ok := isConflictError(err)
|
||||
|
||||
@@ -95,15 +95,6 @@ func mungUsername(username string, remotename string, suffix string, maxLen int)
|
||||
return fmt.Sprintf("%s%s%s:%s%s", username, suffix, userEllipses, remotename, remoteEllipses)
|
||||
}
|
||||
|
||||
// mungEmail creates a unique email address using a UID and remote name.
|
||||
func mungEmail(remotename string, maxLen int) string {
|
||||
s := fmt.Sprintf("%s@%s", model.NewId(), remotename)
|
||||
if len(s) > maxLen {
|
||||
s = s[:maxLen]
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
func isConflictError(err error) (string, bool) {
|
||||
if err == nil {
|
||||
return "", false
|
||||
|
||||
Ссылка в новой задаче
Block a user