【问题标题】:Developing a Secure API for own mobile client为自己的移动客户端开发安全 API
【发布时间】:2012-03-22 04:27:10
【问题描述】:

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

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

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

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

什么是 2-legged 和 3-legged 身份验证

【问题讨论】:

    标签: api rest oauth forms-authentication


    【解决方案1】:

    如果您的 API 可通过 SSL 使用,您可以直接使用 HTTP Basic Authentication

    但是 OAuth 在您的场景中的好处是,即使没有 SSL 等安全传输层,它也可以合理安全地工作,规范是这样的,它可以防止恶意“重播”请求,已经说过,没有 SSL,个别请求可能被窃听。

    您可以实现xAuth,它基本上是 OAuth,但用户身份验证要容易得多。每个 API 请求仍然需要签名,但您可以通过发送用户名和密码来获取访问令牌。这对您来说似乎是一个很有前途的选择。

    2-legged 身份验证基本上是针对应用程序的授权。基本上是两个应用程序交换 API 服务,而不涉及特定的最终用户。 2 腿授权绕过授权步骤,基本上立即提供访问令牌。

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


    【讨论】:

    • xuath 就是它本身,它不是 twitter 创造的一个名字。现实世界的术语是什么?
    • XAuth (xauth.org) 是一项与 OAuth 无关的倡议。还有 xAuth,它是针对 OAuth 授权舞蹈的 Twitter 发明。令人困惑:)
    猜你喜欢
    • 2023-03-26
    • 1970-01-01
    • 2019-05-05
    • 1970-01-01
    • 2012-02-21
    • 2020-01-24
    • 2013-06-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多