新来的技术总监计划将之前的 mvc 架构做成 restful api ,小弟不才,然后我发现我登录都不会写了,

2017-10-18 22:08:03 +08:00
 mune
请教大家一个完全的登录的 restful api 大概是怎样的,www.aaa.com/v1/username/lisi/pwd/123456 类似这样吗,看了网上的 restful 解释都是一个参数的,俩参数我就懵逼了,特此求教大家,
10324 次点击
所在节点    PHP
59 条回复
mikulch
2017-10-19 11:20:50 +08:00
Kilerd
2017-10-19 11:25:36 +08:00
@mikulch 静态博客 URL 地址是文章标题的拼音。 你是我碰到的第一个。
skadi
2017-10-19 11:29:22 +08:00
ls+1
prasanta
2017-10-19 11:29:30 +08:00
post /auth/token/
post /auth/session/
post /auth/oauth/

哪里行么?
solee
2017-10-19 11:30:59 +08:00
restful 就是一种 api 设计的理念,不过如何使用还是要结合你自己的业务。没有完美的标准,只有最适合的标准。

http://mp.weixin.qq.com/s/AhiyMnJ70TkOMnmkXG1Lsw 这篇文章讲得很有道理

我们的 api 设计也一直都是这么做的
smgui
2017-10-19 11:58:59 +08:00
@k9982874 赞同
smgui
2017-10-19 11:59:48 +08:00
@blacklee 是啊,问题问的就很奇怪
siteshen
2017-10-19 13:16:06 +08:00
登录和其他不一样,不需要死搬硬套,给几个我一直在使用的 API 设计示例:
{
"meta:" {"success": true},
"data": {},
}

登录 POST /auth/login {"username": "", "password": ""} -> {"token": ""}

读取我的信息 GET /me/profile -> {"me": {}}
读取用户信息 GET /users/1024/profile -> {"user": {}}

关注用户 POST /users/1024/follow
用户关注列表 GET /users/1024/following-user -> {"users": []}
ren2881971
2017-10-19 13:43:34 +08:00
LZ 想问的是 采用 restful 后 操作不了 session 咋控制登录访问权限吧。。
mikulch
2017-10-19 14:02:57 +08:00
@Kilerd 用用 gitbook-editor 你就知道为什么了。
yzmm
2017-10-19 14:12:13 +08:00
然后黑客只需要拿到日志就能拿到用户账号密码了。。。
sheng9632
2017-10-19 14:29:07 +08:00
restful 只是一种规范 和用来些什么没关系 至于做登录当然可以
zysidea
2017-10-19 14:37:29 +08:00
别用 session 了,用 JWT 吧,用户登录的时候给用户返回一个 token,然后用户的每次请求头部都加上这个 token
sobigfish
2017-10-19 15:21:35 +08:00
没有文档就说改就改了,确定这技术总监不会搞坏你们现有的业务?-。-
irrigator
2017-10-19 15:32:11 +08:00
关于 Rest 最好的教程,楼主拿走不谢。[教狗狗用 Rest ]( https://www.slideshare.net/landlessness/teach-a-dog-to-rest)
Keyes
2017-10-19 16:29:16 +08:00
@irrigator 标题好坑。。。
jtn007
2017-10-19 16:44:49 +08:00
rest 风格的 url 同样允许 api.service.com/user/1api.service.com/user?id=1 这样的冗余的,不要纠结,先好好理解 rest
asiufasd
2017-10-20 08:23:27 +08:00
其实我之前也遇到这个问题,查了好多资料,以及想了为什么要用 restful,restful 的好处就是以后可以更方便的分布和集群,所以需要无状态,如果还是用 session 管理的话,将来分布式之后 session 不方便管理。所以我觉得这里不应该用 session 来管理
lwyj123
2017-10-20 11:35:16 +08:00
我推荐楼主了解一下基于 token 的身份认证。

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

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

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

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

© 2021 V2EX