0

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

到目前为止,我想出了以下内容:

客户端

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

服务器端

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

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

4

1 回答 1

0

是的,这是一种相当标准的方法。Google 有一个文档描述了这种方法(该文档的大部分内容是为了将令牌从服务器获取到客户端,因此可能对您没有那么有用)。还有一些更详细的不记名令牌认证描述

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

于 2013-08-19T15:10:08.940 回答