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>
Этот коммит содержится в:
@@ -346,7 +346,7 @@ func (u *User) IsValid() *AppError {
|
||||
}
|
||||
}
|
||||
|
||||
if len(u.Email) > UserEmailMaxLength || u.Email == "" || !IsValidEmail(u.Email) {
|
||||
if len(u.Email) > UserEmailMaxLength || u.Email == "" || (!IsValidEmail(u.Email) && !u.IsRemote()) {
|
||||
return InvalidUserError("email", u.Id, u.Email)
|
||||
}
|
||||
|
||||
|
||||
@@ -9,9 +9,10 @@ import (
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/mattermost/mattermost/server/public/shared/mlog"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
|
||||
"github.com/mattermost/mattermost/server/public/shared/mlog"
|
||||
)
|
||||
|
||||
func TestUserDeepCopy(t *testing.T) {
|
||||
@@ -117,6 +118,13 @@ func TestUserIsValid(t *testing.T) {
|
||||
user.LastName = ""
|
||||
require.Nil(t, user.IsValid())
|
||||
|
||||
user.Email = NewId()
|
||||
appErr = user.IsValid()
|
||||
require.True(t, HasExpectedUserIsValidError(appErr, "email", user.Id, user.Email), "expected user is valid error: %s", appErr.Error())
|
||||
|
||||
user.RemoteId = NewString(NewId())
|
||||
require.Nil(t, user.IsValid())
|
||||
|
||||
user.FirstName = strings.Repeat("a", 65)
|
||||
appErr = user.IsValid()
|
||||
require.True(t, HasExpectedUserIsValidError(appErr, "first_name", user.Id, user.FirstName), "expected user is valid error: %s", appErr.Error())
|
||||
|
||||
Ссылка в новой задаче
Block a user