首页 新闻 会员 周边 捐助

无状态的rest web api如何实现客户端身份验证?

0
悬赏园豆:40 [已解决问题] 解决于 2015-07-15 09:35

springMVC实现了rest web api,如何实现客户端身份验证?谢谢

 

客户端包括web、js、智能终端

美国国父爱泼斯坦的主页 美国国父爱泼斯坦 | 初学一级 | 园豆:152
提问于:2015-07-13 15:41
< >
分享
最佳答案
0

一般是用户登陆验证后,服务端返回一个token,然后客户端访问时候通过token来访问,至于token放那里那就是自己组织的问题了。为了安全性一般来说token根据每次登陆场景随机产生

收获园豆:15
visonme | 小虾三级 |园豆:1674 | 2015-07-13 16:17
其他回答(5)
0

我猜你想要的答案是用 Cookie 保存用户状态信息。

收获园豆:15
Launcher | 园豆:45050 (高人七级) | 2015-07-13 15:43

客户端除js外,也包括智能终端

支持(0) 反对(0) 美国国父爱泼斯坦 | 园豆:152 (初学一级) | 2015-07-13 15:52

@ddxkj: 啥终端都行,只要是 HTTP 协议。

支持(0) 反对(0) Launcher | 园豆:45050 (高人七级) | 2015-07-13 16:02

@Launcher: Cookie不太安全,所以不考虑

支持(0) 反对(0) 美国国父爱泼斯坦 | 园豆:152 (初学一级) | 2015-07-13 16:08

@ddxkj: 你对安全了解的太少了,而且对 HTTP 也不熟悉,就算你跟我说什么 OAuth 之类的,我告诉你,跟 Cookie 没有必然关系,你必须启用 HTTPS 才能有足够的安全性,出于性能的考量通常我们只在认证阶段启用 HTTPS,之后拿到 Token 后(用 cookie header来保存或者用 access-token header 都一样)在后续的请求中使用 HTTP。

支持(0) 反对(1) Launcher | 园豆:45050 (高人七级) | 2015-07-13 16:17

@Launcher: 好的,谢谢

支持(0) 反对(0) 美国国父爱泼斯坦 | 园豆:152 (初学一级) | 2015-07-13 16:34

bu好意思 打断一下 你知道什么是无状态吗

支持(0) 反对(2) 倪倪倪倪倪 | 园豆:200 (初学一级) | 2016-07-27 11:12
0

我使用的方式是在header 里面加入access-token

收获园豆:5
Jaryleely | 园豆:367 (菜鸟二级) | 2015-07-13 15:50

能不能详细点?

 

我考虑用oauth2.0或hmac算法

支持(0) 反对(0) 美国国父爱泼斯坦 | 园豆:152 (初学一级) | 2015-07-13 16:08

@ddxkj: 你用 OAuth 只是完成了认证而已,之后每个独立的请求,你都需要将认证通过后颁发给你的 Token 携带在你的请求中,这个 Token 既可以用 Cookie header 传递,也可以用 access-token header 传递,而且你还可以自己定义一个 header 来保存,甚至你还可以将其作为 content 的内容来传递。用 Cookie header 有个好处,就是浏览器友好。

 

无状态的交互,如果需要状态信息,那么就需要在每次请求中都携带状态信息,因此我的回答专注于如何在每次请求中携带状态信息,而不是如何去生成这种状态信息,因为我觉得你不懂的地方在于前者。

支持(0) 反对(0) Launcher | 园豆:45050 (高人七级) | 2015-07-13 16:25

@Launcher: 好的,谢谢

支持(0) 反对(0) 美国国父爱泼斯坦 | 园豆:152 (初学一级) | 2015-07-13 16:34
0

传递token

Y2zz | 园豆:393 (菜鸟二级) | 2015-07-13 15:59

能不能详细点?

 

我考虑用oauth2.0或hmac算法

支持(0) 反对(0) 美国国父爱泼斯坦 | 园豆:152 (初学一级) | 2015-07-13 16:09
0

OAuth

dudu | 园豆:30778 (高人七级) | 2015-07-13 16:33
0

好吧,基本都是OAuth认证。认证通过后,将token存起来,以后发api的时候每次都带上token,token一般是放在headers中的。

收获园豆:5
幻天芒 | 园豆:37207 (高人七级) | 2015-07-14 09:31

谢谢指教

支持(2) 反对(0) 美国国父爱泼斯坦 | 园豆:152 (初学一级) | 2015-07-14 09:37
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册