如何只允许一个用户注册Stormpath
背景:我以前从来没有和Stormpath一起工作,想要充分学习如何做某些事情。 为了练习,我创build了自己的投资组合,包括CMS。
我的问题是,如何限制帐户注册使用Google API的一些特定的电子邮件(只有我应该能够添加和从我自己的投资组合中删除内容)。
例如只允许example1@gmail.com和example2@gmail.com进行注册。
我可以手动做,但我不想这样做。 我想要遵循的步骤是:
- 指定电子邮件
- 用户尝试访问CMS
- 提示用户login或注册
- 只有当用户在指定的电子邮件列表中,用户才能使用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 // ... }));
希望这有助于=)