【发布时间】:2011-04-09 13:56:22
【问题描述】:
我正在构建一个使用 OpenId 对用户进行身份验证的 Web 应用程序,就像 Stackoverlfow 一样。也会有一个移动应用程序,例如安卓或 iPhone。这些应用程序必须以某种方式进行身份验证或登录,才能访问数据并更新属于用户的内容。由于无法提供用户名和密码来验证移动设备,我想知道如何实现这一点。
我想到了两种方法:
在服务器上生成一些必须在设备上输入的密钥。当移动设备发送或请求数据时,此密钥将作为 auth-key 发送,并且可以通过这种方式链接用户。使用此选项时,应以某种方式将密钥传输给用户,因此他不必输入。可能通过电子邮件、短信或扫描条形码。
移动应用程序使用浏览器或显示一个集成的 Web 面板,用于打开 Web 应用程序的特殊页面。在这个页面上,用户必须登录,然后才能允许移动应用程序读取和写入数据。
我的问题是:这两种方法都可行且安全吗?你更喜欢哪一个?有哪些细节需要注意?还有其他方法可以做到这一点吗?如果我没问题,就不可能在设备上使用 OpenId,并以这种方式链接手机和 web 应用程序,对吧?
【问题讨论】:
-
@CommonsWare:我会看看这个。
-
@CommonsWare:看起来你的建议和@Nic-Strong 一样,对吧?我不明白它是如何工作的,请参阅下面的评论。
标签: iphone android authentication mobile web-applications