上下文:我以前从未使用过Stormpath,我想充分学习如何做某些事情。为了练习,我正在创建自己的投资组合,包括CMS。
我的问题是,如何使用Google API将帐户注册限制在少数特定电子邮件中(只有我才能添加和删除我自己投资组合中的内容)。
例如,仅允许example1@gmail.com和example2@gmail.com注册。
我可以手动完成,但我不想那样做。我想遵循的步骤是:
- 指定电子邮件
- 用户尝试访问CMS
- 提示用户登录或注册
- 只有当用户在指定的电子邮件列表中时,用户才能使用谷歌的API注册
我知道这是一个非常普遍的问题,涉及几个领域:谷歌的API、Stormpath,更不用说Express和Node了,但也许其他人解决了这个问题,我可以看到一些代码。谢谢
我是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
// ...
}));
希望这能有所帮助=)