首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sails + waterlock,如何用相应的HTML模板实现工作流

sails + waterlock,如何用相应的HTML模板实现工作流
EN

Stack Overflow用户
提问于 2016-10-04 14:02:13
回答 1查看 231关注 0票数 0

背景

大约6个月前,我开始用Sails开发一个网络应用程序。我希望能够使用sails-authsails-generate-authsails-permissions轻松地实现身份验证和权限。6个月后,我意识到这些模块不再得到很好的维护。我决定用Waterlock退却。

问题

当谈到NodeJS,Express & Sails时,我是新手。来自Rails,我有偏见的期望。我需要被牵着手..。

我能够正确地安装Waterlock,并且能够使用该API。

1.登录

POST http://localhost:1337/auth/login

emailpassword中传递form-data (参见下面的屏幕截图):

(邮递员):

代码语言:javascript
复制
{
  "auth": {
    "password": "$2a$10$5swWYJLZ.KbKWA9.8Hg8eOr.8HiCBiddWDyHyGSB3y7bluJZwvjDS",
    "email": "my.email@mydomain.com",
    "createdAt": "2016-10-04T13:01:17.594Z",
    "updatedAt": "2016-10-04T13:01:17.607Z",
    "id": 12,
    "user": 13
  },
  "createdAt": "2016-10-04T13:01:17.603Z",
  "updatedAt": "2016-10-04T13:01:17.603Z",
  "id": 13
}

我想我的用户是和他的加密密码一起创建和存储的。

Next我尝试实现UI (这是我需要指导的地方):

UserController.js

代码语言:javascript
复制
'new': function(req, res) {
    res.view();
},

user/new.ejs

代码语言:javascript
复制
<h1>Sign up</h1>
<form action="/auth/login" method='POST'>
    <input type='text' placeholder='me@mydomain.com' name='email'>
    <input type='password' placeholder='password' name='password'>
    <input type='submit' value="Create account">
</form>

问题1:在创建/登录用户(即auth/login )之后,如何重定向到另一个URL?例如,刚刚创建的用户的/user/show/:id id

我尝试添加login操作-- AuthController,但这只是重写了实际的有用操作。

UPDATE:我发现waterlock.js有Post操作挂钩,但仍然不知道如何重定向到刚刚创建或登录的用户的/user/show/:id

问题2:我不应该删除返回的"password": "$2a$10$...ZwvjDS",吗?

2. JWT

好的,JSON令牌。因此,我进行了身份验证,接下来,我创建了一个JWT,可以传递下一个请求的标题。

邮递员

POST http://localhost:1337/user/jwt

代码语言:javascript
复制
{
  "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiIxM3x1bmRlZmluZWQiLCJzdWIiOiJzdWJqZWN0IiwiYXVkIjoiYXBwIG5hbWUiLCJleHAiOjE0NzYxOTIxNDc3OTgsIm5iZiI6MTQ3NTU4NzM0Nzc5OCwiaWF0IjoxNDc1NTg3MzQ3Nzk4LCJqdGkiOiI5ODgyYWY2MC04YTM1LTExZTYtODI0Yy1mNTZhYWE0MDhiZmIifQ.GYT4f49ggW8VwaEqTy0JskX6nHWZUMvM0A92KD1EC4I",
  "expires": 1476192147798
}

问题3:我是通过身份验证的,会话是创建的对吗?为什么我需要一个JWT?它比sessionAuth好吗?

找到我的答案了,这里

问题4:登录后,我需要POST http://localhost:1337/user/jwt才能获得JWT。我应该如何在帆中实现这一点?

3.如何使用我的access_token

问题5:我在哪里存储access_token并在下一个请求中使用它?(航行的最佳做法)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-06 08:19:14

广告2)当然是肯定的。客户端不应该访问他加密的密码

广告4) JWT应该在服务中,没有控制器,因为它是更安全的方式。所以是的。它应该在服务器端完成,客户端不应该访问JWT逻辑。

广告5)你想要什么都行。IMHO头部是最好的位置。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39854360

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档