2015-04-12 2 views
1

Контекст: Я никогда не работал со Stormpath и не хочу полностью научиться делать определенные вещи. Для практики я создаю собственное портфолио, в том числе CMS.Как разрешить только одному пользователю регистрироваться со Stormpath

Вопрос: как я могу ограничить регистрацию учетных записей несколькими конкретными адресами электронной почты с помощью API Google (только я должен иметь возможность добавлять и удалять контент из своего собственного портфолио).

E.g. Разрешить ТОЛЬКО [email protected] и [email protected] для регистрации.

Я мог бы сделать это вручную, но я не хочу этого делать. Шаги Я хотел бы, чтобы следовать являются:

  1. Укажите электронную почту
  2. пользователь пытается получить доступ к CMS
  3. пользователю предлагается войти в систему или зарегистрироваться
  4. Только если пользователь находится в указанном списке писем, пользователь может зарегистрироваться с использованием API Google.

Я понимаю, что это очень общий вопрос, который включает в себя несколько полей: API Google, Stormpath, не говоря уже о Express и Node, но, возможно, кто-то другой решил эту проблему, и я вижу код. Благодарю.

ответ

3

Я автор библиотеки express-stormpath, которую я предполагаю использовать. Там нет ничего вне коробки, что делает это, поэтому я хотел бы отметить, что лучший способ сделать это:

  • Создание пользовательской регистрации маршрута, а также моделировать его после того, как встроенного материала здесь : https://github.com/stormpath/stormpath-express/blob/master/lib/controllers.js#L143
  • В своем коде маршрута пользовательской регистрации добавьте код, который проверяет, является ли адрес электронной почты, предоставленный пользователем, действительным или нет.
  • Если нет, отклоните их запрос.

Теперь, в реальном мире, вы, вероятно, не захотите делать такие вещи (это много лишней работы и много не покупает). Вместо этого вы, скорее всего, захотите: полностью отключить учетную запись на своем веб-сайте. Таким образом, только вы можете создать учетную запись, используя панель инструментов Stormpath, на странице https://stormpath.com, но вход в систему по-прежнему работает на вашем сайте, так что вы можете войти в систему.

Это имеет смысл?

Так в основном, то, что я предлагаю, отключить регистрацию на сайте, говоря:

app.use(stormpath.init(app, { 
    enableRegistration: false, // this will disable the registration page/functionality 
    // ... 
})); 

Надеется, что это помогает =)

+1

это очень полезно, регистрации по электронной почте через stormpath приборной панель и отключение регистрации проще, спасибо, что нашли время ответить на такой конкретный вопрос. – camou

Смежные вопросы