目前认为是 RESTful api 设计的正确姿势。欢迎批评指正: https://github.com/timqian/jwtAuth-RESTful-server-starter

2015-12-02 14:12:38 +08:00
 timqian
4273 次点击
所在节点    程序员
24 条回复
Juggernaut
2015-12-02 14:25:19 +08:00
node.js 代码?
timqian
2015-12-02 14:38:32 +08:00
haozhang
2015-12-02 14:40:47 +08:00
说实话你的登陆的 endpoint 命名用的是 login ,这不好,应该用 authentications 之类的。而且 token 最好再次加密下。
timqian
2015-12-02 15:06:52 +08:00
@haozhang 你说的加密指的是怎样
haozhang
2015-12-02 15:22:16 +08:00
@timqian 将 token 进行加密,第一次生成 jwt 的特征太明显了。
timqian
2015-12-02 16:06:19 +08:00
@haozhang 其实不把重要信息(比如 password )放在 claims 里,应该没什么问题。对安全性有更高要求的话就用 JWE 了。
参考: https://stormpath.com/blog/jwt-the-right-way/
haozhang
2015-12-02 16:21:38 +08:00
@timqian 这种特征很明显的东西不加层密能说得过去么...而且你的 API 的命名明显是错的。
像 login 这种应该用 authentications 之类的。
nuc093
2015-12-02 17:16:15 +08:00
timqian
2015-12-02 17:19:22 +08:00
@haozhang 谢谢你的回复。
关于验证用户的 API 叫作 login 还是 authentications :的确看到大家大多用后者,我之后很可能会把它改掉。但我没有找到很好的理由非得用 authentications ( URL 应该用名词这个惯例我是知道的,但 login 也可作名词的吧)。不知道你有什么重要的理由?
关于加密,我对网络安全不是很熟,能不能说下为什么说不过去或者给个链接给我参考。

我原本想的是对于一般的用户相关 API 使用 token 来验证(比如查看用户点赞的内容), 当涉及比较重要的操作(比如下订单)。需要用户重新验证用户名密码。
timqian
2015-12-02 17:22:16 +08:00
@nuc093 的确不错。回头仔细看看
nuc093
2015-12-02 17:39:20 +08:00
@timqian 我已经用在我们的项目里了啊。后面准备加 LDAP 、权限角色。他有 github demo 跑起来很快的。
Juggernaut
2015-12-02 17:48:05 +08:00
目前 RESTful ,哪几本书最值得推荐?
大家聊聊
blue7wings
2015-12-02 17:52:50 +08:00
@Juggernaut <build apis you won't hate> laravel 相关. 这类书貌似不是特别多.
canesten
2015-12-02 17:53:20 +08:00
现在神烦 RESTful
html4 form method 只有 get post
一个 http 请求的一个完整事务里牵扯到两个不同的 resuorce 的不同 action 要咋命名?
10 个动态查询条件的 http 请求要如何设计 RESTful 的 url ?
求大神教教我
int64ago
2015-12-02 21:45:20 +08:00
@canesten
- AJAX
- 分别请求
- /path/to/:your_resource
haozhang
2015-12-02 22:35:53 +08:00
haozhang
2015-12-02 22:39:41 +08:00
hantsy
2015-12-03 00:50:30 +08:00
hantsy
2015-12-03 00:56:13 +08:00
devtiange
2015-12-03 08:10:21 +08:00
@haozhang
- 叫 login 好像没啥不妥
- jwt 里没敏感信息, 没必要加密. 你好像不太懂 jwt
- 你贴的那个 koablog 没有楼主写的好

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/240553

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX