我正在编写一个 Android 应用程序,该应用程序需要人们识别自己的身份。我们认为最好的做法是不要让人们在我们的服务器上注册,因为几乎每个人在其他地方都有一个主要服务的帐户(例如 Google、Twitter、Facebook、Yahoo!)。
REST API 是围绕 CakePHP 构建的。这本身并不是我需要的症结所在,但问题更多在于 Android 应用程序以及它与我们的 API 的通信。本质上,我希望看到的是拥有 X 台设备的用户能够登录他们已经有权访问的服务。
然后,我们的服务器将知道该身份作为该用户的身份。然后,我的应用程序需要一种方法来告诉我们的 API“我是来自 service example.com 的 John Doe,这是证据”。服务器还将接受具有相同身份的新设备并将其绑定到该用户。
我在这里遇到了一些问题:
- OpenID 似乎是要走的路(尽管我不确定 Twitter 是否支持 OpenID)。但是我怎样才能从我的设备上做 OpenID 呢?我不需要有人指出我的 OpenID for Java。这不是我正在寻找的答案的 100%。网站将重定向到哪里?
- 我的网络服务器和 Android 应用程序之间的身份验证部分是什么样的?我没有登录。我使用的是 OpenID。我是否应该只获取部分/全部 OpenID 信息并将其传递给网络服务器进行存储,然后再次传递以检查每个 API 调用?