Получить адрес электронной почты вошедшего в систему пользователя, если несколько писем связаны с одной учетной записью - PullRequest
0 голосов
/ 18 сентября 2018

Часто пользователи связывают несколько адресов электронной почты с одной учетной записью.Но вопрос в том, есть ли способ узнать, какой пользователь электронной почты вошел в систему?

Примечание: мы строго используем электронную почту для входа, а не имя пользователя.

Электронная почта пользователей Mongodbструктура массива:

"emails" : [ 
    {
        "address" : "xyz@abc.com",
        "verified" : true
    },
    {
        "address" : "prq@abc.com",
        "verified" : true
    },
    {
        "address" : "jkl@abc.com",
        "verified" : true
    }
],

Постановка задачи - Чтобы заказать элемент в системе, нужно выполнить заказ X, а для сохранения в этом конкретном порядке нам нужен адрес электронной почты вошедшего в систему пользователя.Чтобы можно было получать уведомления, относящиеся к этому конкретному заказу.

Если мы сохраняем адрес электронной почты вошедшего в систему пользователя в поле пользовательской базы данных, при входе в него может работать, но возникает проблема, если другой пользователь, имеющий такую ​​же учетную запись, входит в систему, затем второйэлектронная почта пользователя будет обновлена ​​в базе данных, а его электронная почта будет сохранена в порядке, указанном пользователем 1.

Заранее спасибо.

1 Ответ

0 голосов
/ 19 сентября 2018

Лучший способ добиться этого - сохранить последнюю электронную почту, использованную для каждого пользователя, при входе в пользовательское поле в пользовательской модели.

С помощью крючка Account.onLogin на стороне сервера или в вашей пользовательской форме входа вы можете использовать последний использованный адрес электронной почты пользователя.Затем вы должны сохранить этот адрес электронной почты для каждого пользователя в настраиваемом поле, например user.lastEmail .

Если вам это нужно и вам нужно, то lastEmail на стороне пользователя, не забудьтеопубликуйте пользовательское поле, например , описанное в документации .

...