1

目标是让用户通过 Twitter 登录,获取 OAuth 令牌和机密(通过反向身份验证)并将其传递给服务器。然后,服务器将使用 Twitter 验证令牌的有效性,并创建一个新用户以及它自己的令牌,应用程序将使用该令牌来来回进行经过身份验证的通信。

我正在努力解决后半部分的问题 - 以安全的方式传递初始数据。

4

1 回答 1

0

最终通过以下方式解决了初始登录身份验证问题:

  1. 用户通过应用程序(移动设备)通过 Facebook 或 Twitter 登录
  2. 应用程序将设备 ID、OAuth 数据传递给服务器
  3. 服务器根据以上数据创建新用户(或使用设备id作为主键更新当前用户)
  4. 服务器创建(或更新)用户令牌和用户秘密哈希并将其返回给应用程序
  5. 应用程序存储令牌/秘密哈希

从现在开始,每个 API 请求都使用请求时生成的用户秘密哈希和随机盐进行签名。用户令牌签名随着每个 API 请求一起传递(通过标头)。

Socket 连接握手授权使用相同的逻辑。

于 2012-07-03T12:21:43.197 回答