如何只允许一个用户注册Stormpath

背景:我以前从来没有和Stormpath一起工作,想要充分学习如何做某些事情。 为了练习,我创build了自己的投资组合,包括CMS。

我的问题是,如何限制帐户注册使用Google API的一些特定的电子邮件(只有我应该能够添加和从我自己的投资组合中删除内容)。

例如只允许example1@gmail.com和example2@gmail.com进行注册。

我可以手动做,但我不想这样做。 我想要遵循的步骤是:

  1. 指定电子邮件
  2. 用户尝试访问CMS
  3. 提示用户login或注册
  4. 只有当用户在指定的电子邮件列表中,用户才能使用Google的API进行注册。

我明白这是一个非常普遍的问题,涉及到几个领域:Google的API,Stormpath,更不用说Express和Node了,但也许有人解决了这个问题,我可以看到一些代码。 谢谢。

我是假设你正在使用的express-stormpath库的作者。 没有任何东西可以做到这一点,所以我想指出最好的方法来做到这一点:

  • 创build一个自定义的注册path,并在内置的东西在这里模型: https : //github.com/stormpath/stormpath-express/blob/master/lib/controllers.js#L143
  • 在您的自定义注册路由代码中,添加一些代码来检查用户提供的电子邮件地址是否是有效的。
  • 如果不是,拒绝他们的请求。

现在,在现实世界中,你可能不想做这样的事情(这是很多额外的工作,并没有多less买你)。 您可能想要做的是:完全禁用您的网站上的帐户注册。 这样,只有您可以使用https://stormpath.com上的Stormpath仪表板创build一个帐户,但login仍然在您的网站上运行,以便您可以login。

那有意义吗?

所以基本上,我所build议的是,你禁止注册在您的网站上说:

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

希望这有助于=)