【发布时间】:2011-05-11 04:50:31
【问题描述】:
这对我来说似乎是一个反复出现的问题,因为过去几年我似乎被移动应用程序所吸引。除了网络用户之外,我还想对移动用户进行身份验证和授权。我需要做到这一点足够无缝,以便用户可以轻松地拥有一个网络帐户,而不会中断他们的数据。我希望解决方案在主题上具有架构性,而不是特定于任何语言/框架。
要求/假设
- 移动用户必须能够在不登录的情况下使用本机应用程序,包括贡献内容(标记收藏夹、上传照片等)。
- 即使没有指定帐户凭据,移动用户也应该安全且唯一地对 Web 服务进行身份验证。
- 移动用户可能有多个设备,这些设备彼此不知道。
- 移动用户应该能够注册/登录,这应该将任何内容滚动到帐户的所有权中。这种“同步”应该发生在随后登录的每个帐户中。
- 帐户是在移动设备还是网络上创建的都无关紧要。
考虑的架构
- 没有衬衫,没有鞋子,没有登录 = 没有贡献。需要登录才能贡献任何类型的内容。这避免了将设备帐户与主帐户“同步”的需要。只需一个用户名/密码 + 令牌即可让设备登录。服务器对象:用户、角色
- 多设备自认证。 服务器与设备协商并将其交给设备存储的凭据。每个设备都会进行自我验证并与一个匿名帐户相关联,直到发生注册/登录。如果发生注册,则将匿名帐户转换为已知帐户。如果发生登录,来自匿名帐户的内容将被转移到已知帐户,然后被丢弃。丢失自我身份验证详细信息的设备将获得新的身份验证详细信息,并且先前的匿名帐户被放弃(然后希望以后被丢弃)并且不可恢复,因为它从未转换为已知帐户。服务器对象:用户、角色、设备
您认为什么是好的解决方案?是其中之一,还是其他?
【问题讨论】:
标签: web-services authentication architecture mobile authorization