为自己的移动客户端开发安全API

时间:2012-03-04 10:26:25

标签: api rest oauth forms-authentication

我正在开发API - 这里没有问题

我的移动客户端将使用API​​与Web服务进行通信。

我的问题是我不知道什么是身份验证系统,以便人们可以在本机应用程序中登录,并且API知道哪个用户正在发送请求。

我可以基于OAuth,但我的应用程序不是第三方,我希望用户转到网页等,我希望他们在应用程序内登录,并能够以身份验证的用户身份发送请求。

什么是2腿和3腿认证

1 个答案:

答案 0 :(得分:1)

如果您的API可通过SSL使用,则只需转到HTTP Basic Authentication

但OAuth在您的方案中的好处是,即使没有安全的传输层(如SSL),它也可以合理安全地工作,规范可以防止恶意“重放”请求,如果没有SSL,个别请求可能被窃听。

您可以实施xAuth,这基本上是OAuth,但用户身份验证更容易。每个API请求仍然必须签名,但您可以通过发送用户名和密码来获取访问令牌。这似乎是一个很有前途的替代方案。

双腿认证基本上适用于申请授权。基本上两个应用程序交换API服务而不涉及特定的最终用户。 2腿授权绕过授权步骤,并且基本上立即提供访问令牌。

3-legged涉及用户授权第三方应用程序(消费者)与服务提供商访问其资源。此方案涉及最终用户必须验证的临时令牌(请求令牌),从而配置访问令牌。