【问题标题】:What's the best way to handle API authentication for users (especially for mobile devices)为用户(尤其是移动设备)处理 API 身份验证的最佳方式是什么
【发布时间】:2011-01-21 00:19:24
【问题描述】:

我们希望为我们的网站创建一个 API。 API 的主要用途之一(我怀疑)将允许人们创建移动应用程序(用于 iPhone 和希望其他设备)。

为用户处理 API 身份验证的最佳方式是什么。作为一般规则,我不喜欢鼓励我们的用户将他们的用户名/电子邮件/密码详细信息交给第三方。但是,使用 oAuth 是否可以接受/成熟到足以与移动设备一起使用?唯一将 oAuth 用于移动应用程序的人似乎是 Pownce,它似乎遇到了用户问题,无论如何,我已经看不到他们如何处理问题了。

(我们的用户群非常缺乏技术性,所以我预计

选择似乎是:

  1. 忽略第 3 方和密码的问题
  2. 强制开发人员实施 oAuth 集成
  3. 尝试一些对用户不友好的方法(例如使用密钥而不是密码)

我错过了什么吗?

【问题讨论】:

  • 可能会创建一个基于 Web 的登录,第三方必须向用户显示该登录。表单提示输入用户名/密码,并通过回调到第三方应用程序(包括响应键)发布到您的 api 服务器。第 3 方将无法以这种方式访问​​用户的用户名/密码输入

标签: api authentication mobile oauth


【解决方案1】:

我认为我不完全理解您的问题,您所说的“为用户处理 API 身份验证”是什么意思?您想让用户在使用您的 API 之前进行身份验证吗?还是别的什么?

虽然有一个想法,但我认为对于任何移动平台都是如此。如果您有一个可以通过浏览器运行的 API,那么任何移动应用在下载后首次启动时都应该能够启动浏览器(所有移动平台都允许这样做)并执行任何类型的一次性身份验证。

希望这会有所帮助,进一步澄清您的问题将有助于我给出更好的答案。

【讨论】:

  • 抱歉,我的意思是:在使用 API 时,让用户向我们的 Web 应用程序进行身份验证的最佳方式是什么。例如例如,第三方编写了一个使用我们 API 的 iPhone 应用程序。当用户使用 iPhone 应用程序时,他们需要有人通过 API 将应用程序与他们在我们网站上的帐户连接起来。我不希望我们的用户只是将他们的密码和帐户详细信息交给第三方(他们可能会不安全地存储它们,或者收集它们等)。那么有哪些选择呢?移动开发者介意使用 oAuth 吗?是否有替代品等。
  • 一种选择是创建一个第三方用来打包到应用程序中的库。该库连接到网站并对用户进行身份验证。这样第三方就完全不需要参与了。该库可以是可执行格式(可能是静态库?)。第三方永远不知道它的细节,他们只是使用它。这种机制在移动领域很常见,像 Groove 这样的音乐 DRM 公司提供它用于 DRM 加密给第三方。
猜你喜欢
  • 2018-09-23
  • 2013-06-01
  • 1970-01-01
  • 2017-06-26
  • 1970-01-01
  • 2015-06-24
  • 1970-01-01
  • 1970-01-01
  • 2017-09-03
相关资源
最近更新 更多