1
yyfearth 2014-01-20 04:11:39 +08:00 1
虽然我没有企业里面的经验,但是我看到的一般是推荐用 OAuth
如果是简单的 https + basic auth 也可以,对于信任的客户端也是可以接受的 或者自己做一套 token 的生成和验证算法 (其实和cookie session差不多)只不过把 token/session_id 放到 authenticate header 里面,我记得 amazon 的auth就是用的这样的方式。MVC 可以用 filter 或者 配置 Spring Security 来做验证。 我之前还用过用 basic auth,但是里面的 username 和 password 实际上是 user id 和 hashed token,这样密码在客户端也有个比较基本的保护 |
2
sharpnk 2014-01-21 08:44:32 +08:00
oAuth 1/2的話,Spring有現成的Library: https://github.com/spring-projects/spring-security-oauth
具體情況取決於你的workflow,但基本的流程都是用username和password來換一個access token。然後你在每個API call的Header裏都加上這個token就可以。這樣API就可以是stateless的了,你不用擔心session的問題。但在客戶端你可能還是需要保存token以便後續使用。如果是web app的話那你基本上只有cookie一個選擇。iOS可以放在keychain裏面。 |