MM-4998 Adding LoginIdAttribute to allow LDAP users to change their login ID without losing their account (#8756)
* Adding LoginIdAttribute * Modifying LDAP to use loginIDAttribute. * Adding IDAttribute migration and AD objectGUID support. * Removing unused idea. * Fix typo.
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
db6b8f6238
Коммит
d8dd271e43
@@ -1144,6 +1144,7 @@ type LdapSettings struct {
|
||||
NicknameAttribute *string
|
||||
IdAttribute *string
|
||||
PositionAttribute *string
|
||||
LoginIdAttribute *string
|
||||
|
||||
// Synchronization
|
||||
SyncIntervalMinutes *int
|
||||
@@ -1227,6 +1228,12 @@ func (s *LdapSettings) SetDefaults() {
|
||||
s.PositionAttribute = NewString(LDAP_SETTINGS_DEFAULT_POSITION_ATTRIBUTE)
|
||||
}
|
||||
|
||||
// For those upgrading to the version when LoginIdAttribute was added
|
||||
// they need IdAttribute == LoginIdAttribute not to break
|
||||
if s.LoginIdAttribute == nil {
|
||||
s.LoginIdAttribute = s.IdAttribute
|
||||
}
|
||||
|
||||
if s.SyncIntervalMinutes == nil {
|
||||
s.SyncIntervalMinutes = NewInt(60)
|
||||
}
|
||||
@@ -2074,6 +2081,10 @@ func (ls *LdapSettings) isValid() *AppError {
|
||||
if *ls.IdAttribute == "" {
|
||||
return NewAppError("Config.IsValid", "model.config.is_valid.ldap_id", nil, "", http.StatusBadRequest)
|
||||
}
|
||||
|
||||
if *ls.LoginIdAttribute == "" {
|
||||
return NewAppError("Config.IsValid", "model.config.is_valid.ldap_login_id", nil, "", http.StatusBadRequest)
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
|
||||
@@ -15,7 +15,7 @@ type SwitchRequest struct {
|
||||
Password string `json:"password"`
|
||||
NewPassword string `json:"new_password"`
|
||||
MfaCode string `json:"mfa_code"`
|
||||
LdapId string `json:"ldap_id"`
|
||||
LdapLoginId string `json:"ldap_id"`
|
||||
}
|
||||
|
||||
func (o *SwitchRequest) ToJson() string {
|
||||
|
||||
Ссылка в новой задаче
Block a user