我正在开发API - 这里没有问题
我的移动客户端将使用API与Web服务进行通信。
我的问题是我不知道什么是身份验证系统,以便人们可以在本机应用程序中登录,并且API知道哪个用户正在发送请求。
我可以基于OAuth,但我的应用程序不是第三方,我希望用户转到网页等,我希望他们在应用程序内登录,并能够以身份验证的用户身份发送请求。
什么是2腿和3腿认证
答案 0 :(得分:1)
如果您的API可通过SSL使用,则只需转到HTTP Basic Authentication。
但OAuth在您的方案中的好处是,即使没有安全的传输层(如SSL),它也可以合理安全地工作,规范可以防止恶意“重放”请求,如果没有SSL,个别请求可能被窃听。
您可以实施xAuth,这基本上是OAuth,但用户身份验证更容易。每个API请求仍然必须签名,但您可以通过发送用户名和密码来获取访问令牌。这似乎是一个很有前途的替代方案。
双腿认证基本上适用于申请授权。基本上两个应用程序交换API服务而不涉及特定的最终用户。 2腿授权绕过授权步骤,并且基本上立即提供访问令牌。
3-legged涉及用户授权第三方应用程序(消费者)与服务提供商访问其资源。此方案涉及最终用户必须验证的临时令牌(请求令牌),从而配置访问令牌。