summaryrefslogtreecommitdiffstats
path: root/store
diff options
context:
space:
mode:
Diffstat (limited to 'store')
-rw-r--r--store/sql_user_store.go6
-rw-r--r--store/sql_user_store_test.go2
-rw-r--r--store/store.go2
3 files changed, 7 insertions, 3 deletions
diff --git a/store/sql_user_store.go b/store/sql_user_store.go
index 3fddfb77d..286b6551a 100644
--- a/store/sql_user_store.go
+++ b/store/sql_user_store.go
@@ -275,7 +275,7 @@ func (us SqlUserStore) UpdateFailedPasswordAttempts(userId string, attempts int)
return storeChannel
}
-func (us SqlUserStore) UpdateAuthData(userId string, service string, authData *string, email string) StoreChannel {
+func (us SqlUserStore) UpdateAuthData(userId string, service string, authData *string, email string, resetMfa bool) StoreChannel {
storeChannel := make(StoreChannel, 1)
@@ -301,6 +301,10 @@ func (us SqlUserStore) UpdateAuthData(userId string, service string, authData *s
query += ", Email = :Email"
}
+ if resetMfa {
+ query += ", MfaActive = false, MfaSecret = ''"
+ }
+
query += " WHERE Id = :UserId"
if _, err := us.GetMaster().Exec(query, map[string]interface{}{"LastPasswordUpdate": updateAt, "UpdateAt": updateAt, "UserId": userId, "AuthService": service, "AuthData": authData, "Email": email}); err != nil {
diff --git a/store/sql_user_store_test.go b/store/sql_user_store_test.go
index acd87a036..56d9c0a6a 100644
--- a/store/sql_user_store_test.go
+++ b/store/sql_user_store_test.go
@@ -756,7 +756,7 @@ func TestUserStoreUpdateAuthData(t *testing.T) {
service := "someservice"
authData := model.NewId()
- if err := (<-store.User().UpdateAuthData(u1.Id, service, &authData, "")).Err; err != nil {
+ if err := (<-store.User().UpdateAuthData(u1.Id, service, &authData, "", true)).Err; err != nil {
t.Fatal(err)
}
diff --git a/store/store.go b/store/store.go
index 0f9b20ed8..ffc325eea 100644
--- a/store/store.go
+++ b/store/store.go
@@ -143,7 +143,7 @@ type UserStore interface {
UpdateLastPictureUpdate(userId string) StoreChannel
UpdateUpdateAt(userId string) StoreChannel
UpdatePassword(userId, newPassword string) StoreChannel
- UpdateAuthData(userId string, service string, authData *string, email string) StoreChannel
+ UpdateAuthData(userId string, service string, authData *string, email string, resetMfa bool) StoreChannel
UpdateMfaSecret(userId, secret string) StoreChannel
UpdateMfaActive(userId string, active bool) StoreChannel
Get(id string) StoreChannel