假设现在需要保存登陆状态,按照最简便的 token 设计,先请求一个 resource 比如 POST /authorization
送过去账号密码,拿到 token
值( github api 好像是 GET ?),下次请求需要登陆的资源就用 jwt 或者干脆 ?token=xxx
直接带过去。
但是有个问题,不是说 REST api 是无状态,不应该维持用户的登陆状态的吗?这里所说的无状态指的是不关联客户端的 cookie,还是说完全不关心用户是否登陆?
涉及到需要登陆的资源,感觉 REST 根本无法做到不涉及登陆状态,即使登陆模块独立出去,客户端请求 api 获取当前登陆用户的某个资源,跟登陆模块交涉的行为还是需要 api 拿到客户端的凭证之后自己来做(客户端自己交涉登陆模块拿到当前已登陆用户的 ID,再用这个 ID 去请求 api 拿到此登陆用户的资源,貌似完全不合理...)。
另外还有个问题,这个 “授权”,最终获得授权的 token 持有者身份究竟是 “客户端”,还是使用客户端的 “用户”?比如开发了 iOS app,那 token 描述的是 app 还是拿着手机登陆发帖的普通用户?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.