【发布时间】:2012-12-05 00:45:27
【问题描述】:
我已经找到了很多关于这个问题的学术答案,但我希望从该领域的从业者那里得到一个。
背景
我想创建一个基于 Java 的 RESTful API,使用 Grails 框架让各种移动客户端(iOS 和 Android)通过我的服务访问受保护的资源。我需要对某些请求进行身份验证,并且我已经通过网络设置了 SSL(因此所有请求都通过 https 进行)。我的 Web API 最终将作为服务公开给其他 Web 应用程序。
问题
对于要被移动设备以及最终其他网络应用程序使用的网络服务,人们推荐哪种身份验证方法?
这些都是我的选择。你能告诉我什么时候适合每个用例吗?
- 我可以进行 HTTP 基本身份验证
- 我可以进行 HTTP Digest 身份验证
- 我可以实现 OAuth 身份验证(1.0 或 2.0)吗?
- 我可以在请求中将凭据作为参数传递
- 我可以使用上面的身份验证方法,然后传递一个委托/令牌进行身份验证
- 我可以实现自己的自定义 HTTP 身份验证标头
- 我可以使用 cookie 并在每次请求时将它们传递给服务器
- 其他...?
需要
如果您有一个偏向某一种方式的人,我想知道您为什么会选择这种方式。更好的是,如果您在 Grails 中执行此操作,我会非常感兴趣。
我已经知道了……
我已经阅读了出色的答案 here 以及 Richardson 和 Ruby 的书 Restful Web Services。
【问题讨论】:
标签: java web-services rest authentication grails