mirror of
https://github.com/mattermost/mattermost.git
synced 2025-02-25 18:55:24 -06:00
[GH-21566] Add request context and logger to all public methods in server/channels/app/authentication.go (#25270)
This commit is contained in:
parent
dd46afacd6
commit
a6ba7163c8
@ -1297,7 +1297,7 @@ func updateUser(c *Context, w http.ResponseWriter, r *http.Request) {
|
|||||||
|
|
||||||
// If eMail update is attempted by the currently logged in user, check if correct password was provided
|
// If eMail update is attempted by the currently logged in user, check if correct password was provided
|
||||||
if user.Email != "" && ouser.Email != user.Email && c.AppContext.Session().UserId == c.Params.UserId {
|
if user.Email != "" && ouser.Email != user.Email && c.AppContext.Session().UserId == c.Params.UserId {
|
||||||
err = c.App.DoubleCheckPassword(ouser, user.Password)
|
err = c.App.DoubleCheckPassword(c.AppContext, ouser, user.Password)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.SetInvalidParam("password")
|
c.SetInvalidParam("password")
|
||||||
return
|
return
|
||||||
@ -1378,7 +1378,7 @@ func patchUser(c *Context, w http.ResponseWriter, r *http.Request) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if err = c.App.DoubleCheckPassword(ouser, *patch.Password); err != nil {
|
if err = c.App.DoubleCheckPassword(c.AppContext, ouser, *patch.Password); err != nil {
|
||||||
c.Err = err
|
c.Err = err
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -2002,14 +2002,14 @@ func TestPatchUser(t *testing.T) {
|
|||||||
require.Equal(t, "America/New_York", ruser.Timezone["automaticTimezone"], "automaticTimezone should update properly")
|
require.Equal(t, "America/New_York", ruser.Timezone["automaticTimezone"], "automaticTimezone should update properly")
|
||||||
require.Empty(t, ruser.Timezone["manualTimezone"], "manualTimezone should update properly")
|
require.Empty(t, ruser.Timezone["manualTimezone"], "manualTimezone should update properly")
|
||||||
|
|
||||||
appErr := th.App.CheckPasswordAndAllCriteria(ruser, *patch.Password, "")
|
appErr := th.App.CheckPasswordAndAllCriteria(th.Context, user, *patch.Password, "")
|
||||||
require.NotNil(t, appErr, "Password should not match")
|
require.NotNil(t, appErr, "Password should not match")
|
||||||
|
|
||||||
currentPassword := user.Password
|
currentPassword := user.Password
|
||||||
user, appErr = th.App.GetUser(ruser.Id)
|
user, appErr = th.App.GetUser(ruser.Id)
|
||||||
require.Nil(t, appErr)
|
require.Nil(t, appErr)
|
||||||
|
|
||||||
appErr = th.App.CheckPasswordAndAllCriteria(user, currentPassword, "")
|
appErr = th.App.CheckPasswordAndAllCriteria(th.Context, user, currentPassword, "")
|
||||||
require.Nil(t, appErr, "Password should still match")
|
require.Nil(t, appErr, "Password should still match")
|
||||||
|
|
||||||
patch = &model.UserPatch{}
|
patch = &model.UserPatch{}
|
||||||
|
@ -362,7 +362,7 @@ type AppIface interface {
|
|||||||
// Ensure the zip file name ends with a .zip
|
// Ensure the zip file name ends with a .zip
|
||||||
CreateZipFileAndAddFiles(fileBackend filestore.FileBackend, fileDatas []model.FileData, zipFileName, directory string) error
|
CreateZipFileAndAddFiles(fileBackend filestore.FileBackend, fileDatas []model.FileData, zipFileName, directory string) error
|
||||||
// This to be used for places we check the users password when they are already logged in
|
// This to be used for places we check the users password when they are already logged in
|
||||||
DoubleCheckPassword(user *model.User, password string) *model.AppError
|
DoubleCheckPassword(rctx request.CTX, user *model.User, password string) *model.AppError
|
||||||
// UpdateBotActive marks a bot as active or inactive, along with its corresponding user.
|
// UpdateBotActive marks a bot as active or inactive, along with its corresponding user.
|
||||||
UpdateBotActive(c request.CTX, botUserId string, active bool) (*model.Bot, *model.AppError)
|
UpdateBotActive(c request.CTX, botUserId string, active bool) (*model.Bot, *model.AppError)
|
||||||
// UpdateBotOwner changes a bot's owner to the given value.
|
// UpdateBotOwner changes a bot's owner to the given value.
|
||||||
@ -450,13 +450,13 @@ type AppIface interface {
|
|||||||
CheckForClientSideCert(r *http.Request) (string, string, string)
|
CheckForClientSideCert(r *http.Request) (string, string, string)
|
||||||
CheckIntegrity() <-chan model.IntegrityCheckResult
|
CheckIntegrity() <-chan model.IntegrityCheckResult
|
||||||
CheckMandatoryS3Fields(settings *model.FileSettings) *model.AppError
|
CheckMandatoryS3Fields(settings *model.FileSettings) *model.AppError
|
||||||
CheckPasswordAndAllCriteria(user *model.User, password string, mfaToken string) *model.AppError
|
CheckPasswordAndAllCriteria(rctx request.CTX, user *model.User, password string, mfaToken string) *model.AppError
|
||||||
CheckPostReminders()
|
CheckPostReminders()
|
||||||
CheckRolesExist(roleNames []string) *model.AppError
|
CheckRolesExist(roleNames []string) *model.AppError
|
||||||
CheckUserAllAuthenticationCriteria(user *model.User, mfaToken string) *model.AppError
|
CheckUserAllAuthenticationCriteria(rctx request.CTX, user *model.User, mfaToken string) *model.AppError
|
||||||
CheckUserMfa(user *model.User, token string) *model.AppError
|
CheckUserMfa(rctx request.CTX, user *model.User, token string) *model.AppError
|
||||||
CheckUserPostflightAuthenticationCriteria(user *model.User) *model.AppError
|
CheckUserPostflightAuthenticationCriteria(rctx request.CTX, user *model.User) *model.AppError
|
||||||
CheckUserPreflightAuthenticationCriteria(user *model.User, mfaToken string) *model.AppError
|
CheckUserPreflightAuthenticationCriteria(rctx request.CTX, user *model.User, mfaToken string) *model.AppError
|
||||||
CheckWebConn(userID, connectionID string) *platform.CheckConnResult
|
CheckWebConn(userID, connectionID string) *platform.CheckConnResult
|
||||||
ClearChannelMembersCache(c request.CTX, channelID string) error
|
ClearChannelMembersCache(c request.CTX, channelID string) error
|
||||||
ClearLatestVersionCache()
|
ClearLatestVersionCache()
|
||||||
@ -885,7 +885,7 @@ type AppIface interface {
|
|||||||
IsConfigReadOnly() bool
|
IsConfigReadOnly() bool
|
||||||
IsFirstUserAccount() bool
|
IsFirstUserAccount() bool
|
||||||
IsLeader() bool
|
IsLeader() bool
|
||||||
IsPasswordValid(password string) *model.AppError
|
IsPasswordValid(rctx request.CTX, password string) *model.AppError
|
||||||
IsPersistentNotificationsEnabled() bool
|
IsPersistentNotificationsEnabled() bool
|
||||||
IsPhase2MigrationCompleted() *model.AppError
|
IsPhase2MigrationCompleted() *model.AppError
|
||||||
IsPluginActive(pluginName string) (bool, error)
|
IsPluginActive(pluginName string) (bool, error)
|
||||||
@ -1126,7 +1126,7 @@ type AppIface interface {
|
|||||||
UpdateOAuthApp(oldApp, updatedApp *model.OAuthApp) (*model.OAuthApp, *model.AppError)
|
UpdateOAuthApp(oldApp, updatedApp *model.OAuthApp) (*model.OAuthApp, *model.AppError)
|
||||||
UpdateOAuthUserAttrs(c request.CTX, userData io.Reader, user *model.User, provider einterfaces.OAuthProvider, service string, tokenUser *model.User) *model.AppError
|
UpdateOAuthUserAttrs(c request.CTX, userData io.Reader, user *model.User, provider einterfaces.OAuthProvider, service string, tokenUser *model.User) *model.AppError
|
||||||
UpdateOutgoingWebhook(c request.CTX, oldHook, updatedHook *model.OutgoingWebhook) (*model.OutgoingWebhook, *model.AppError)
|
UpdateOutgoingWebhook(c request.CTX, oldHook, updatedHook *model.OutgoingWebhook) (*model.OutgoingWebhook, *model.AppError)
|
||||||
UpdatePassword(user *model.User, newPassword string) *model.AppError
|
UpdatePassword(rctx request.CTX, user *model.User, newPassword string) *model.AppError
|
||||||
UpdatePasswordAsUser(c request.CTX, userID, currentPassword, newPassword string) *model.AppError
|
UpdatePasswordAsUser(c request.CTX, userID, currentPassword, newPassword string) *model.AppError
|
||||||
UpdatePasswordByUserIdSendEmail(c request.CTX, userID, newPassword, method string) *model.AppError
|
UpdatePasswordByUserIdSendEmail(c request.CTX, userID, newPassword, method string) *model.AppError
|
||||||
UpdatePasswordSendEmail(c request.CTX, user *model.User, newPassword, method string) *model.AppError
|
UpdatePasswordSendEmail(c request.CTX, user *model.User, newPassword, method string) *model.AppError
|
||||||
|
@ -44,7 +44,7 @@ func (tl TokenLocation) String() string {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) IsPasswordValid(password string) *model.AppError {
|
func (a *App) IsPasswordValid(rctx request.CTX, password string) *model.AppError {
|
||||||
if err := users.IsPasswordValidWithSettings(password, &a.Config().PasswordSettings); err != nil {
|
if err := users.IsPasswordValidWithSettings(password, &a.Config().PasswordSettings); err != nil {
|
||||||
var invErr *users.ErrInvalidPassword
|
var invErr *users.ErrInvalidPassword
|
||||||
switch {
|
switch {
|
||||||
@ -58,8 +58,8 @@ func (a *App) IsPasswordValid(password string) *model.AppError {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) CheckPasswordAndAllCriteria(user *model.User, password string, mfaToken string) *model.AppError {
|
func (a *App) CheckPasswordAndAllCriteria(rctx request.CTX, user *model.User, password string, mfaToken string) *model.AppError {
|
||||||
if err := a.CheckUserPreflightAuthenticationCriteria(user, mfaToken); err != nil {
|
if err := a.CheckUserPreflightAuthenticationCriteria(rctx, user, mfaToken); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -79,7 +79,7 @@ func (a *App) CheckPasswordAndAllCriteria(user *model.User, password string, mfa
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := a.CheckUserMfa(user, mfaToken); err != nil {
|
if err := a.CheckUserMfa(rctx, user, mfaToken); err != nil {
|
||||||
// If the mfaToken is not set, we assume the client used this as a pre-flight request to query the server
|
// If the mfaToken is not set, we assume the client used this as a pre-flight request to query the server
|
||||||
// about the MFA state of the user in question
|
// about the MFA state of the user in question
|
||||||
if mfaToken != "" {
|
if mfaToken != "" {
|
||||||
@ -99,7 +99,7 @@ func (a *App) CheckPasswordAndAllCriteria(user *model.User, password string, mfa
|
|||||||
|
|
||||||
a.InvalidateCacheForUser(user.Id)
|
a.InvalidateCacheForUser(user.Id)
|
||||||
|
|
||||||
if err := a.CheckUserPostflightAuthenticationCriteria(user); err != nil {
|
if err := a.CheckUserPostflightAuthenticationCriteria(rctx, user); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -107,7 +107,7 @@ func (a *App) CheckPasswordAndAllCriteria(user *model.User, password string, mfa
|
|||||||
}
|
}
|
||||||
|
|
||||||
// This to be used for places we check the users password when they are already logged in
|
// This to be used for places we check the users password when they are already logged in
|
||||||
func (a *App) DoubleCheckPassword(user *model.User, password string) *model.AppError {
|
func (a *App) DoubleCheckPassword(rctx request.CTX, user *model.User, password string) *model.AppError {
|
||||||
if err := checkUserLoginAttempts(user, *a.Config().ServiceSettings.MaximumLoginAttempts); err != nil {
|
if err := checkUserLoginAttempts(user, *a.Config().ServiceSettings.MaximumLoginAttempts); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -137,19 +137,19 @@ func (a *App) DoubleCheckPassword(user *model.User, password string) *model.AppE
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) checkLdapUserPasswordAndAllCriteria(c request.CTX, ldapId *string, password string, mfaToken string) (*model.User, *model.AppError) {
|
func (a *App) checkLdapUserPasswordAndAllCriteria(rctx request.CTX, ldapId *string, password string, mfaToken string) (*model.User, *model.AppError) {
|
||||||
if a.Ldap() == nil || ldapId == nil {
|
if a.Ldap() == nil || ldapId == nil {
|
||||||
err := model.NewAppError("doLdapAuthentication", "api.user.login_ldap.not_available.app_error", nil, "", http.StatusNotImplemented)
|
err := model.NewAppError("doLdapAuthentication", "api.user.login_ldap.not_available.app_error", nil, "", http.StatusNotImplemented)
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
ldapUser, err := a.Ldap().DoLogin(c, *ldapId, password)
|
ldapUser, err := a.Ldap().DoLogin(rctx, *ldapId, password)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
err.StatusCode = http.StatusUnauthorized
|
err.StatusCode = http.StatusUnauthorized
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := a.CheckUserMfa(ldapUser, mfaToken); err != nil {
|
if err := a.CheckUserMfa(rctx, ldapUser, mfaToken); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -161,19 +161,19 @@ func (a *App) checkLdapUserPasswordAndAllCriteria(c request.CTX, ldapId *string,
|
|||||||
return ldapUser, nil
|
return ldapUser, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) CheckUserAllAuthenticationCriteria(user *model.User, mfaToken string) *model.AppError {
|
func (a *App) CheckUserAllAuthenticationCriteria(rctx request.CTX, user *model.User, mfaToken string) *model.AppError {
|
||||||
if err := a.CheckUserPreflightAuthenticationCriteria(user, mfaToken); err != nil {
|
if err := a.CheckUserPreflightAuthenticationCriteria(rctx, user, mfaToken); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := a.CheckUserPostflightAuthenticationCriteria(user); err != nil {
|
if err := a.CheckUserPostflightAuthenticationCriteria(rctx, user); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) CheckUserPreflightAuthenticationCriteria(user *model.User, mfaToken string) *model.AppError {
|
func (a *App) CheckUserPreflightAuthenticationCriteria(rctx request.CTX, user *model.User, mfaToken string) *model.AppError {
|
||||||
if err := checkUserNotDisabled(user); err != nil {
|
if err := checkUserNotDisabled(user); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -189,7 +189,7 @@ func (a *App) CheckUserPreflightAuthenticationCriteria(user *model.User, mfaToke
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) CheckUserPostflightAuthenticationCriteria(user *model.User) *model.AppError {
|
func (a *App) CheckUserPostflightAuthenticationCriteria(rctx request.CTX, user *model.User) *model.AppError {
|
||||||
if !user.EmailVerified && *a.Config().EmailSettings.RequireEmailVerification {
|
if !user.EmailVerified && *a.Config().EmailSettings.RequireEmailVerification {
|
||||||
return model.NewAppError("Login", "api.user.login.not_verified.app_error", nil, "user_id="+user.Id, http.StatusUnauthorized)
|
return model.NewAppError("Login", "api.user.login.not_verified.app_error", nil, "user_id="+user.Id, http.StatusUnauthorized)
|
||||||
}
|
}
|
||||||
@ -197,7 +197,7 @@ func (a *App) CheckUserPostflightAuthenticationCriteria(user *model.User) *model
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) CheckUserMfa(user *model.User, token string) *model.AppError {
|
func (a *App) CheckUserMfa(rctx request.CTX, user *model.User, token string) *model.AppError {
|
||||||
if !user.MfaActive || !*a.Config().ServiceSettings.EnableMultifactorAuthentication {
|
if !user.MfaActive || !*a.Config().ServiceSettings.EnableMultifactorAuthentication {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@ -240,7 +240,7 @@ func checkUserNotBot(user *model.User) *model.AppError {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) authenticateUser(c request.CTX, user *model.User, password, mfaToken string) (*model.User, *model.AppError) {
|
func (a *App) authenticateUser(rctx request.CTX, user *model.User, password, mfaToken string) (*model.User, *model.AppError) {
|
||||||
license := a.Srv().License()
|
license := a.Srv().License()
|
||||||
ldapAvailable := *a.Config().LdapSettings.Enable && a.Ldap() != nil && license != nil && *license.Features.LDAP
|
ldapAvailable := *a.Config().LdapSettings.Enable && a.Ldap() != nil && license != nil && *license.Features.LDAP
|
||||||
|
|
||||||
@ -250,7 +250,7 @@ func (a *App) authenticateUser(c request.CTX, user *model.User, password, mfaTok
|
|||||||
return user, err
|
return user, err
|
||||||
}
|
}
|
||||||
|
|
||||||
ldapUser, err := a.checkLdapUserPasswordAndAllCriteria(c, user.AuthData, password, mfaToken)
|
ldapUser, err := a.checkLdapUserPasswordAndAllCriteria(rctx, user.AuthData, password, mfaToken)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
err.StatusCode = http.StatusUnauthorized
|
err.StatusCode = http.StatusUnauthorized
|
||||||
return user, err
|
return user, err
|
||||||
@ -269,7 +269,7 @@ func (a *App) authenticateUser(c request.CTX, user *model.User, password, mfaTok
|
|||||||
return user, err
|
return user, err
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := a.CheckPasswordAndAllCriteria(user, password, mfaToken); err != nil {
|
if err := a.CheckPasswordAndAllCriteria(rctx, user, password, mfaToken); err != nil {
|
||||||
err.StatusCode = http.StatusUnauthorized
|
err.StatusCode = http.StatusUnauthorized
|
||||||
return user, err
|
return user, err
|
||||||
}
|
}
|
||||||
|
@ -591,7 +591,7 @@ func (a *App) importUser(rctx request.CTX, data *imports.UserImportData, dryRun
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if password != "" {
|
if password != "" {
|
||||||
if appErr = a.UpdatePassword(user, password); appErr != nil {
|
if appErr = a.UpdatePassword(c, user, password); appErr != nil {
|
||||||
return appErr
|
return appErr
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -98,7 +98,7 @@ func (a *App) SwitchEmailToLdap(c request.CTX, email, password, code, ldapLoginI
|
|||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := a.CheckPasswordAndAllCriteria(user, password, code); err != nil {
|
if err := a.CheckPasswordAndAllCriteria(c, user, password, code); err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -147,11 +147,11 @@ func (a *App) SwitchLdapToEmail(c request.CTX, ldapPassword, code, email, newPas
|
|||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := a.CheckUserMfa(user, code); err != nil {
|
if err := a.CheckUserMfa(c, user, code); err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := a.UpdatePassword(user, newPassword); err != nil {
|
if err := a.UpdatePassword(c, user, newPassword); err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -949,7 +949,7 @@ func (a *App) SwitchEmailToOAuth(c request.CTX, w http.ResponseWriter, r *http.R
|
|||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
||||||
if err = a.CheckPasswordAndAllCriteria(user, password, code); err != nil {
|
if err = a.CheckPasswordAndAllCriteria(c, user, password, code); err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -983,7 +983,7 @@ func (a *App) SwitchOAuthToEmail(c request.CTX, email, password, requesterId str
|
|||||||
return "", model.NewAppError("SwitchOAuthToEmail", "api.user.oauth_to_email.context.app_error", nil, "", http.StatusForbidden)
|
return "", model.NewAppError("SwitchOAuthToEmail", "api.user.oauth_to_email.context.app_error", nil, "", http.StatusForbidden)
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := a.UpdatePassword(user, password); err != nil {
|
if err := a.UpdatePassword(c, user, password); err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1257,7 +1257,7 @@ func (a *OpenTracingAppLayer) CheckMandatoryS3Fields(settings *model.FileSetting
|
|||||||
return resultVar0
|
return resultVar0
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *OpenTracingAppLayer) CheckPasswordAndAllCriteria(user *model.User, password string, mfaToken string) *model.AppError {
|
func (a *OpenTracingAppLayer) CheckPasswordAndAllCriteria(rctx request.CTX, user *model.User, password string, mfaToken string) *model.AppError {
|
||||||
origCtx := a.ctx
|
origCtx := a.ctx
|
||||||
span, newCtx := tracing.StartSpanWithParentByContext(a.ctx, "app.CheckPasswordAndAllCriteria")
|
span, newCtx := tracing.StartSpanWithParentByContext(a.ctx, "app.CheckPasswordAndAllCriteria")
|
||||||
|
|
||||||
@ -1269,7 +1269,7 @@ func (a *OpenTracingAppLayer) CheckPasswordAndAllCriteria(user *model.User, pass
|
|||||||
}()
|
}()
|
||||||
|
|
||||||
defer span.Finish()
|
defer span.Finish()
|
||||||
resultVar0 := a.app.CheckPasswordAndAllCriteria(user, password, mfaToken)
|
resultVar0 := a.app.CheckPasswordAndAllCriteria(rctx, user, password, mfaToken)
|
||||||
|
|
||||||
if resultVar0 != nil {
|
if resultVar0 != nil {
|
||||||
span.LogFields(spanlog.Error(resultVar0))
|
span.LogFields(spanlog.Error(resultVar0))
|
||||||
@ -1333,7 +1333,7 @@ func (a *OpenTracingAppLayer) CheckRolesExist(roleNames []string) *model.AppErro
|
|||||||
return resultVar0
|
return resultVar0
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *OpenTracingAppLayer) CheckUserAllAuthenticationCriteria(user *model.User, mfaToken string) *model.AppError {
|
func (a *OpenTracingAppLayer) CheckUserAllAuthenticationCriteria(rctx request.CTX, user *model.User, mfaToken string) *model.AppError {
|
||||||
origCtx := a.ctx
|
origCtx := a.ctx
|
||||||
span, newCtx := tracing.StartSpanWithParentByContext(a.ctx, "app.CheckUserAllAuthenticationCriteria")
|
span, newCtx := tracing.StartSpanWithParentByContext(a.ctx, "app.CheckUserAllAuthenticationCriteria")
|
||||||
|
|
||||||
@ -1345,7 +1345,7 @@ func (a *OpenTracingAppLayer) CheckUserAllAuthenticationCriteria(user *model.Use
|
|||||||
}()
|
}()
|
||||||
|
|
||||||
defer span.Finish()
|
defer span.Finish()
|
||||||
resultVar0 := a.app.CheckUserAllAuthenticationCriteria(user, mfaToken)
|
resultVar0 := a.app.CheckUserAllAuthenticationCriteria(rctx, user, mfaToken)
|
||||||
|
|
||||||
if resultVar0 != nil {
|
if resultVar0 != nil {
|
||||||
span.LogFields(spanlog.Error(resultVar0))
|
span.LogFields(spanlog.Error(resultVar0))
|
||||||
@ -1355,7 +1355,7 @@ func (a *OpenTracingAppLayer) CheckUserAllAuthenticationCriteria(user *model.Use
|
|||||||
return resultVar0
|
return resultVar0
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *OpenTracingAppLayer) CheckUserMfa(user *model.User, token string) *model.AppError {
|
func (a *OpenTracingAppLayer) CheckUserMfa(rctx request.CTX, user *model.User, token string) *model.AppError {
|
||||||
origCtx := a.ctx
|
origCtx := a.ctx
|
||||||
span, newCtx := tracing.StartSpanWithParentByContext(a.ctx, "app.CheckUserMfa")
|
span, newCtx := tracing.StartSpanWithParentByContext(a.ctx, "app.CheckUserMfa")
|
||||||
|
|
||||||
@ -1367,7 +1367,7 @@ func (a *OpenTracingAppLayer) CheckUserMfa(user *model.User, token string) *mode
|
|||||||
}()
|
}()
|
||||||
|
|
||||||
defer span.Finish()
|
defer span.Finish()
|
||||||
resultVar0 := a.app.CheckUserMfa(user, token)
|
resultVar0 := a.app.CheckUserMfa(rctx, user, token)
|
||||||
|
|
||||||
if resultVar0 != nil {
|
if resultVar0 != nil {
|
||||||
span.LogFields(spanlog.Error(resultVar0))
|
span.LogFields(spanlog.Error(resultVar0))
|
||||||
@ -1377,7 +1377,7 @@ func (a *OpenTracingAppLayer) CheckUserMfa(user *model.User, token string) *mode
|
|||||||
return resultVar0
|
return resultVar0
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *OpenTracingAppLayer) CheckUserPostflightAuthenticationCriteria(user *model.User) *model.AppError {
|
func (a *OpenTracingAppLayer) CheckUserPostflightAuthenticationCriteria(rctx request.CTX, user *model.User) *model.AppError {
|
||||||
origCtx := a.ctx
|
origCtx := a.ctx
|
||||||
span, newCtx := tracing.StartSpanWithParentByContext(a.ctx, "app.CheckUserPostflightAuthenticationCriteria")
|
span, newCtx := tracing.StartSpanWithParentByContext(a.ctx, "app.CheckUserPostflightAuthenticationCriteria")
|
||||||
|
|
||||||
@ -1389,7 +1389,7 @@ func (a *OpenTracingAppLayer) CheckUserPostflightAuthenticationCriteria(user *mo
|
|||||||
}()
|
}()
|
||||||
|
|
||||||
defer span.Finish()
|
defer span.Finish()
|
||||||
resultVar0 := a.app.CheckUserPostflightAuthenticationCriteria(user)
|
resultVar0 := a.app.CheckUserPostflightAuthenticationCriteria(rctx, user)
|
||||||
|
|
||||||
if resultVar0 != nil {
|
if resultVar0 != nil {
|
||||||
span.LogFields(spanlog.Error(resultVar0))
|
span.LogFields(spanlog.Error(resultVar0))
|
||||||
@ -1399,7 +1399,7 @@ func (a *OpenTracingAppLayer) CheckUserPostflightAuthenticationCriteria(user *mo
|
|||||||
return resultVar0
|
return resultVar0
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *OpenTracingAppLayer) CheckUserPreflightAuthenticationCriteria(user *model.User, mfaToken string) *model.AppError {
|
func (a *OpenTracingAppLayer) CheckUserPreflightAuthenticationCriteria(rctx request.CTX, user *model.User, mfaToken string) *model.AppError {
|
||||||
origCtx := a.ctx
|
origCtx := a.ctx
|
||||||
span, newCtx := tracing.StartSpanWithParentByContext(a.ctx, "app.CheckUserPreflightAuthenticationCriteria")
|
span, newCtx := tracing.StartSpanWithParentByContext(a.ctx, "app.CheckUserPreflightAuthenticationCriteria")
|
||||||
|
|
||||||
@ -1411,7 +1411,7 @@ func (a *OpenTracingAppLayer) CheckUserPreflightAuthenticationCriteria(user *mod
|
|||||||
}()
|
}()
|
||||||
|
|
||||||
defer span.Finish()
|
defer span.Finish()
|
||||||
resultVar0 := a.app.CheckUserPreflightAuthenticationCriteria(user, mfaToken)
|
resultVar0 := a.app.CheckUserPreflightAuthenticationCriteria(rctx, user, mfaToken)
|
||||||
|
|
||||||
if resultVar0 != nil {
|
if resultVar0 != nil {
|
||||||
span.LogFields(spanlog.Error(resultVar0))
|
span.LogFields(spanlog.Error(resultVar0))
|
||||||
@ -3975,7 +3975,7 @@ func (a *OpenTracingAppLayer) DoUploadFileExpectModification(c request.CTX, now
|
|||||||
return resultVar0, resultVar1, resultVar2
|
return resultVar0, resultVar1, resultVar2
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *OpenTracingAppLayer) DoubleCheckPassword(user *model.User, password string) *model.AppError {
|
func (a *OpenTracingAppLayer) DoubleCheckPassword(rctx request.CTX, user *model.User, password string) *model.AppError {
|
||||||
origCtx := a.ctx
|
origCtx := a.ctx
|
||||||
span, newCtx := tracing.StartSpanWithParentByContext(a.ctx, "app.DoubleCheckPassword")
|
span, newCtx := tracing.StartSpanWithParentByContext(a.ctx, "app.DoubleCheckPassword")
|
||||||
|
|
||||||
@ -3987,7 +3987,7 @@ func (a *OpenTracingAppLayer) DoubleCheckPassword(user *model.User, password str
|
|||||||
}()
|
}()
|
||||||
|
|
||||||
defer span.Finish()
|
defer span.Finish()
|
||||||
resultVar0 := a.app.DoubleCheckPassword(user, password)
|
resultVar0 := a.app.DoubleCheckPassword(rctx, user, password)
|
||||||
|
|
||||||
if resultVar0 != nil {
|
if resultVar0 != nil {
|
||||||
span.LogFields(spanlog.Error(resultVar0))
|
span.LogFields(spanlog.Error(resultVar0))
|
||||||
@ -11890,7 +11890,7 @@ func (a *OpenTracingAppLayer) IsLeader() bool {
|
|||||||
return resultVar0
|
return resultVar0
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *OpenTracingAppLayer) IsPasswordValid(password string) *model.AppError {
|
func (a *OpenTracingAppLayer) IsPasswordValid(rctx request.CTX, password string) *model.AppError {
|
||||||
origCtx := a.ctx
|
origCtx := a.ctx
|
||||||
span, newCtx := tracing.StartSpanWithParentByContext(a.ctx, "app.IsPasswordValid")
|
span, newCtx := tracing.StartSpanWithParentByContext(a.ctx, "app.IsPasswordValid")
|
||||||
|
|
||||||
@ -11902,7 +11902,7 @@ func (a *OpenTracingAppLayer) IsPasswordValid(password string) *model.AppError {
|
|||||||
}()
|
}()
|
||||||
|
|
||||||
defer span.Finish()
|
defer span.Finish()
|
||||||
resultVar0 := a.app.IsPasswordValid(password)
|
resultVar0 := a.app.IsPasswordValid(rctx, password)
|
||||||
|
|
||||||
if resultVar0 != nil {
|
if resultVar0 != nil {
|
||||||
span.LogFields(spanlog.Error(resultVar0))
|
span.LogFields(spanlog.Error(resultVar0))
|
||||||
@ -17541,7 +17541,7 @@ func (a *OpenTracingAppLayer) UpdateOutgoingWebhook(c request.CTX, oldHook *mode
|
|||||||
return resultVar0, resultVar1
|
return resultVar0, resultVar1
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *OpenTracingAppLayer) UpdatePassword(user *model.User, newPassword string) *model.AppError {
|
func (a *OpenTracingAppLayer) UpdatePassword(rctx request.CTX, user *model.User, newPassword string) *model.AppError {
|
||||||
origCtx := a.ctx
|
origCtx := a.ctx
|
||||||
span, newCtx := tracing.StartSpanWithParentByContext(a.ctx, "app.UpdatePassword")
|
span, newCtx := tracing.StartSpanWithParentByContext(a.ctx, "app.UpdatePassword")
|
||||||
|
|
||||||
@ -17553,7 +17553,7 @@ func (a *OpenTracingAppLayer) UpdatePassword(user *model.User, newPassword strin
|
|||||||
}()
|
}()
|
||||||
|
|
||||||
defer span.Finish()
|
defer span.Finish()
|
||||||
resultVar0 := a.app.UpdatePassword(user, newPassword)
|
resultVar0 := a.app.UpdatePassword(rctx, user, newPassword)
|
||||||
|
|
||||||
if resultVar0 != nil {
|
if resultVar0 != nil {
|
||||||
span.LogFields(spanlog.Error(resultVar0))
|
span.LogFields(spanlog.Error(resultVar0))
|
||||||
|
@ -699,7 +699,7 @@ func TestUserWillLogIn_Blocked(t *testing.T) {
|
|||||||
th := Setup(t).InitBasic()
|
th := Setup(t).InitBasic()
|
||||||
defer th.TearDown()
|
defer th.TearDown()
|
||||||
|
|
||||||
err := th.App.UpdatePassword(th.BasicUser, "hunter2")
|
err := th.App.UpdatePassword(th.Context, th.BasicUser, "hunter2")
|
||||||
assert.Nil(t, err, "Error updating user password: %s", err)
|
assert.Nil(t, err, "Error updating user password: %s", err)
|
||||||
tearDown, _, _ := SetAppEnvironmentWithPlugins(t,
|
tearDown, _, _ := SetAppEnvironmentWithPlugins(t,
|
||||||
[]string{
|
[]string{
|
||||||
@ -737,7 +737,7 @@ func TestUserWillLogInIn_Passed(t *testing.T) {
|
|||||||
th := Setup(t).InitBasic()
|
th := Setup(t).InitBasic()
|
||||||
defer th.TearDown()
|
defer th.TearDown()
|
||||||
|
|
||||||
err := th.App.UpdatePassword(th.BasicUser, "hunter2")
|
err := th.App.UpdatePassword(th.Context, th.BasicUser, "hunter2")
|
||||||
|
|
||||||
assert.Nil(t, err, "Error updating user password: %s", err)
|
assert.Nil(t, err, "Error updating user password: %s", err)
|
||||||
|
|
||||||
@ -778,7 +778,7 @@ func TestUserHasLoggedIn(t *testing.T) {
|
|||||||
th := Setup(t).InitBasic()
|
th := Setup(t).InitBasic()
|
||||||
defer th.TearDown()
|
defer th.TearDown()
|
||||||
|
|
||||||
err := th.App.UpdatePassword(th.BasicUser, "hunter2")
|
err := th.App.UpdatePassword(th.Context, th.BasicUser, "hunter2")
|
||||||
|
|
||||||
assert.Nil(t, err, "Error updating user password: %s", err)
|
assert.Nil(t, err, "Error updating user password: %s", err)
|
||||||
|
|
||||||
|
@ -905,7 +905,7 @@ func (a *App) UpdatePasswordAsUser(c request.CTX, userID, currentPassword, newPa
|
|||||||
return model.NewAppError("updatePassword", "api.user.update_password.oauth.app_error", nil, "auth_service="+user.AuthService, http.StatusBadRequest)
|
return model.NewAppError("updatePassword", "api.user.update_password.oauth.app_error", nil, "auth_service="+user.AuthService, http.StatusBadRequest)
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := a.DoubleCheckPassword(user, currentPassword); err != nil {
|
if err := a.DoubleCheckPassword(c, user, currentPassword); err != nil {
|
||||||
if err.Id == "api.user.check_user_password.invalid.app_error" {
|
if err.Id == "api.user.check_user_password.invalid.app_error" {
|
||||||
err = model.NewAppError("updatePassword", "api.user.update_password.incorrect.app_error", nil, "", http.StatusBadRequest)
|
err = model.NewAppError("updatePassword", "api.user.update_password.incorrect.app_error", nil, "", http.StatusBadRequest)
|
||||||
}
|
}
|
||||||
@ -1366,8 +1366,8 @@ func (a *App) UpdatePasswordByUserIdSendEmail(c request.CTX, userID, newPassword
|
|||||||
return a.UpdatePasswordSendEmail(c, user, newPassword, method)
|
return a.UpdatePasswordSendEmail(c, user, newPassword, method)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) UpdatePassword(user *model.User, newPassword string) *model.AppError {
|
func (a *App) UpdatePassword(rctx request.CTX, user *model.User, newPassword string) *model.AppError {
|
||||||
if err := a.IsPasswordValid(newPassword); err != nil {
|
if err := a.IsPasswordValid(rctx, newPassword); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1383,7 +1383,7 @@ func (a *App) UpdatePassword(user *model.User, newPassword string) *model.AppErr
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) UpdatePasswordSendEmail(c request.CTX, user *model.User, newPassword, method string) *model.AppError {
|
func (a *App) UpdatePasswordSendEmail(c request.CTX, user *model.User, newPassword, method string) *model.AppError {
|
||||||
if err := a.UpdatePassword(user, newPassword); err != nil {
|
if err := a.UpdatePassword(c, user, newPassword); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2474,7 +2474,7 @@ func (a *App) ConvertBotToUser(c request.CTX, bot *model.Bot, userPatch *model.U
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
err = a.UpdatePassword(user, *userPatch.Password)
|
err = a.UpdatePassword(c, user, *userPatch.Password)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -145,7 +145,7 @@ func completeSaml(c *Context, w http.ResponseWriter, r *http.Request) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if err = c.App.CheckUserAllAuthenticationCriteria(user, ""); err != nil {
|
if err = c.App.CheckUserAllAuthenticationCriteria(c.AppContext, user, ""); err != nil {
|
||||||
handleError(err)
|
handleError(err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user