【问题标题】:Best authentication method to grant API access to Rails app授予 API 访问 Rails 应用程序的最佳身份验证方法
【发布时间】:2011-06-08 00:56:16
【问题描述】:

我想为我的网络应用提供经过身份验证的 API 访问。这种服务的消费者通常是其他网站/服务。

验证这些用户的最佳方法是什么? OAuth、openID、http 身份验证?

【问题讨论】:

    标签: ruby-on-rails api authentication


    【解决方案1】:

    在我们的工作中,“哪个最好?”的答案是“视情况而定”。 :)

    • HTTP 身份验证 - 如果您已经让客户端通过 ID 和密码登录到您的服务,您可能只需要做最少的工作就可以很好地使用您的 API .如果您的 API 基本上是单一用途的,并且不需要详细的权限,那么您可以在此处获得相当快的工作。

    • API 令牌 - 如果您希望客户能够在不提供密码的情况下轻松进行身份验证(想想那些构建与您的 API 交互的服务的公司;也许 IT 部门不希望开发团队知道密码;等等),然后将 GitHub 上的随机 API 令牌附加到用户帐户可能是最快的方法。作为奖励,您可以提供一种无需更改帐户密码即可重新生成 API 令牌的方法。

    • OAuth - 如果您拥有多个权限或想要更细粒度地控制客户端访问您的 API 的方式和时间,OAuth 是一个不错的选择(OAuth2 更容易使用,IMO ,并支持multiple methods of obtaining an access token)。此外,许多语言都有库、gem 等,可以让它们简化 OAuth 工作流程。

    【讨论】:

      【解决方案2】:

      我会说“最佳”方法是 oAuth。它更灵活,并且可以独立于应用程序以供进一步使用。 我正在使用 oAuth 对我的客户端(应用程序)进行身份验证。

      ;)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-07-14
        • 2015-12-21
        • 2015-04-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多