【发布时间】:2014-03-01 09:04:15
【问题描述】:
我有一个启用 SSL 的 Web 服务,该服务是从我希望安全访问的 Android 应用调用的。具体来说,当服务被调用时,我想知道调用者的身份。我最初的想法是让用户通过 Oauth 在 Android 上进行身份验证。然后,该访问令牌将在 Web 服务调用中发送。在服务器上,我会使用令牌调用 Google 以查看用户是否在批准列表中。这是一种可行的方法还是有更好的选择。
【问题讨论】:
-
您可以检查用户代理以区分来自 android/web/iphone 的调用。
-
对此我有一些建议,但在对安全性做出假设之前我应该澄清一下。假设您有一个用于 HTTP(S) 调用的 SSL 通道,并且您的服务器有一个用于 HTTPS 客户端堆栈验证的 SSL 证书,那么您的通道应该被视为发送敏感数据的可信通道。假设这是真的,那么您的 Android 应用程序可能在其自己的 UI 中有一个名称/密码框。看起来像一个简单的质询响应(或只是发送名称/密码)作为 Web 服务的一部分来获取令牌可以工作。
-
当然,但我宁愿不处理密码。我想使用 Google Oauth,这样我就不需要要求用户注册并记住另一个密码。此外,您无需登录即可使用该应用,因为您已经在 Android 上通过了身份验证