【问题标题】:Secure client token authentication for APIAPI 的安全客户端令牌身份验证
【发布时间】:2013-08-19 17:33:36
【问题描述】:

我有一个移动 iOS 应用程序,我想通过 RESTful API 进行身份验证。 每个用户都可能有多个设备链接到同一个帐户。

到目前为止,我想出了以下几点:

客户端

  • 让用户使用用户名/密码登录
  • 将用户名/密码和唯一设备 ID 发送到服务器
  • 从服务器获取 authToken 并将其设置在每个 API 调用的 HTTP 身份验证标头中
  • 注销时,删除 authToken

服务器端

  • API 使用 SSL
  • 用户有许多关联设备
  • 设备由唯一的设备 id 和 authToken 表示
  • 每次用户更改密码时,重新生成所有 authTokens
  • 如果设备被移除,请删除该设备的 authToken

这是访问 API 和手动添加/撤销设备的安全方法吗?

【问题讨论】:

  • 基本上,会话cookie。鉴于几乎所有基于 Web 的应用程序都使用这种方法,我当然希望它是一种安全的方法。

标签: api security http authentication ssl


【解决方案1】:

是的,这是一种相当标准的方法。谷歌有a document that describes this approach(文档的大部分内容都是为了将​​令牌从服务器获取到客户端,因此可能对您没有那么有用)。还有更多detailed description of bearer token authentication。

您应该查看您正在编写服务器的应用程序框架是否已经支持像 OAuth 这样的身份验证机制,因此您不必编写自己的。

【讨论】:

    猜你喜欢
    • 2016-01-22
    • 2013-02-12
    • 2016-12-08
    • 1970-01-01
    • 2012-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-27
    相关资源
    最近更新 更多