当前位置:  开发笔记 > 后端 > 正文

扩展restful_authentication/AuthLogic以支持匿名iPhone的懒惰登录的最佳方法是什么?

如何解决《扩展restful_authentication/AuthLogic以支持匿名iPhone的懒惰登录的最佳方法是什么?》经验,为你挑选了1个好方法。

我正在构建一个与Ruby on Rails后端对话的iPhone应用程序.Ruby on Rails应用程序还将为Web用户提供服务.restful_authentication插件是提供快速和可自定义的用户身份验证的绝佳方式.但是,我希望iPhone应用程序的用户拥有一个帐户,该帐户由存储在新列中的电话的唯一标识符([[UIDevice device] uniqueIdentifier])自动创建.之后,当用户准备创建用户名/密码时,帐户将更新为包含用户名和密码,保留iPhone唯一标识符.用户在设置用户名/密码之前不应该访问该网站.但是,他们可以使用iPhone应用程序,因为应用程序可以使用它的标识符对自身进行身份验证.

修改restful_authentication以执行此操作的最佳方法是什么?创建一个插件?或者修改生成的代码?

那么替代框架呢,比如AuthLogic.允许iPhone将生成的身份验证令牌锁定到其UUID的最佳方法是什么,但是让用户稍后创建用户名/密码?



1> frankodwyer..:

我认为您不应该单独使用电话标识符进行身份验证,因为它不是秘密,它可能也是可猜测/可预测的.不要忘记,如果有人想要破解您的网络应用程序,他们不必使用您的代码 - 他们可以猜测设备ID并尝试使用任何Web客户端弄乱您的用户数据.

您应该将设备ID视为类似于用户名 - 它用于标识而不是身份验证.我建议你让用户选择一个密码,甚至更好地自动生成随机代码,然后再使用它 - 然后发送设备ID +这个密码/代码来首先注册设备,然后再对设备进行身份验证.

你也可以打赌,一些用户将拥有多个设备 - 他们最终会替换一个设备,或者你会得到像Stephen Fry那样的4个iphone.为了解决这个问题,我建议您寻找一种方法来实例化restful_authentication两次,一次用于验证用户,另一次用于验证设备.我没有使用过这个插件,但我希望你只需要使用不同的表参数来实现这一点.然后在您的应用程序逻辑中允许用户将多个设备与其帐户相关联.

为了安全地做到这一点,要么从设备上做,要么设备显示随机代码,然后他们进入网络应用程序,以证明他们拥有设备(这听起来比它更痛苦 - 这是苹果使用的相同过程在itunes,Apple TV和远程应用程序中 - 看看他们是如何做到的 - 所以对用户来说不会那么令人惊讶.

(还要确保在生成任何随机密码时使用加密随机数生成器作为基础 - 可能有一个iPhone API - 否则您的密码可能是可预测的).

推荐阅读
360691894_8a5c48
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有