如何阻止用户在 feathersjs 中创建

How can I block user's creation in feathersjs

我无法使用 FeatherJS 阻止用户创建。

我希望只有经过身份验证的用户才能创建新用户。

我试过 before hook :

create: [
auth.verifyToken(),
auth.hashPassword(), 
gravatar()],

我试过使用 :

all: [
auth.verifyToken(),    
auth.populateUser(),
auth.restrictToAuthenticated()
],

但我仍然可以访问 signup.html 页面(我认为这是正常的,因为路由不是 "blocked")并且我仍然可以创建一个有效的新用户(这不正常我想想)。

当然,我是 FeathersJS 的新手...

你的做法是正确的。问题是演示中的用户创建使用了中间件,并且 .create 是从该中间件调用的,因此实际调用看起来像是来自服务器本身。你有两个选择。删除中间件并将新用户创建移动到客户端(这也是我们将更改新指南的内容)或 upgrading to feathers-authentication 1.0 并使用新的 authenticate 中间件保护端点。