我正在尝试在Sails.js中开发API后端 .
我需要的最基本的东西是身份验证 .
有了这个,我找到了 sails-generate-auth
生成器,我已经按照sails-generate-auth中列出的所有步骤进行了操作 .
现在,当我访问 http://localhost:1337/register
时,我看到一个简单的注册表单,同样适用于登录,登录后,我在浏览器中看到一个cookie设置为 sails.sid
.
在检查 AuthController.js
之后,我看到它已经为服务器渲染视图编写了 .
我应该如何修改controller / sailsApp以便它支持基于API的身份验证 .
我理想的是希望:
-
一个注册路由,它将通过内容类型为application / json的帖子接受用户名和密码 .
-
登录路由,它将接受带有内容类型application / json的用户名和密码,并返回带有承载令牌,以便前端应用程序可以在下次发出请求时将其添加到其标头中 .
-
auth ACL下的所有其他路由,它将检查是否存在且已验证的承载令牌 .
2 回答
在你的AuthController回调函数中替换这个:
有了这个:
现在,当客户端发送登录/注册请求时,服务器将使用JSON响应进行响应 . 确保您在其他风帆应用操作上请求令牌 .
我一直在使用这些步骤一段时间了 .
第1步(Globals):$ npm install -g sails
第2步(应用程序):$ sails new myApp
步骤3(文件):将https://github.com/carlospliego/sails-token-auth-setup中的每个文件复制到其对应的文件夹中
步骤4(策略):将此代码添加到config / policies.js
第5步:更改config / tokenSecret.js的值
第6步:(依赖关系)
npm install - 保存护照
npm install --save passport-local
npm install --save bcrypt-nodejs
npm install --save jsonwebtoken
npm install --save express-jwt
您的 endpoints 将如下所示:
POST / GET / PUT / DELETE用户/
POST auth / login
删除身份验证/注销
以下是有关如何在风帆中创建基于令牌的身份验证的精彩指南:https://github.com/carlospliego/sails-token-auth-setup