2011-12-12 23 views
5

我正在写一个iPhone应用程序作为我的网站的移动版本。使用PHP的移动设备的令牌认证

我打算公开一些REST API,以便应用程序可以更新用户的数据。

我不希望用户每次登录,但我想保存他的令牌/ cookie并将其用于所有未来的请求。

我可以设置一个随机令牌并将其与用户ID一起传递,但它不是很安全,因为它很容易在越狱设备上访问它。我不能限制它使用IP,因为IP可能会频繁更改(因为它是一个移动设备)。

什么是最好的方式来实现这样的认证,这将是足够安全的,但不会惹恼用户要求他经常验证自己?

回答

4

将具有初始登录详细信息的UDID或MAC地址发送到您的服务器。为用户/ UDID(或mac)组合创建一个唯一令牌,并在用户名/密码成功时将其发回(加密)到设备。在后续访问时,设备会发送加密的令牌和UDID/MAC(通过安全连接)以进行重新验证。

如果你想让追踪UDID的偏执狂人士放心,你可以使用UDID/MAC来加密加密的令牌,但这不会是安全的,但应该仍然做这项工作。

+0

好主意注册客户端并使用移动设备的UDID/MAC(带时间戳和密码的散列)。谢谢 –