Проверка электронной почты в настройках учетной записи пользователя Meteor - PullRequest
1 голос
/ 13 апреля 2020

Я использую api учетных записей Meteor для создания учетных записей пользователей.

https://github.com/meteor-useraccounts/core/blob/master/Guide.md

Как добавить ограничение электронной почты к определенному домену, например, только @mydomain.org, чтобы только те пользователи домена могли входить в система, в то время как другие пользователи с другими доменами, такими как @gmail.com, не смогут войти в систему?

Ответы [ 2 ]

2 голосов
/ 13 апреля 2020

Это (к сожалению) недокументированное Accounts.config, которое является частью accounts-base. Позволяет установить ограничение домена электронной почты для создания учетных записей. Это ваше приложение не позволяет создавать учетные записи, которые не являются частью этого домена:

Введите в код запуска сервера и клиента следующее для настройки пакета учетных записей:

Accounts.config({
  restrictCreationByEmailDomain: 'mydomain.com'
})

В исходной документации говорится об этом конкретном параметре

@param {String | Function} options.restrictCreationByEmailDomain Если задана строка, то новые пользователи могут получать доступ только в том случае, если доменная часть их адреса электронной почты соответствует строке. Если задано значение для функции, разрешается только новым пользователям, если функция возвращает значение true. В функцию передается полный адрес электронной почты предложенного нового пользователя. Работает с паролем для входа в систему и внешними службами, предоставляющими адреса электронной почты (Google, Facebook, GitHub). Все существующие пользователи по-прежнему могут войти в систему после включения этой опции. Пример: Accounts.config({ restrictCreationByEmailDomain: 'school.edu' }).

Исходный код метода Account.config: https://github.com/meteor/meteor/blob/devel/packages/accounts-base/accounts_common.js#L170

1 голос
/ 13 апреля 2020

Я бы рекомендовал использовать пакет accounts-password для управления созданием и аутентификацией пользователя.

С помощью метода Accounts.createUser вы можете легко создать пользователя, к которому вы можете применить любой вид проверки. В вашем случае добавьте проверку регулярных выражений, чтобы убедиться, что адрес электронной почты приходит с вашего домена, прежде чем вызывать метод Account.createUser.

...