【问题标题】:Google App Engine as Authentication Server for Mobile ApplicationGoogle App Engine 作为移动应用程序的身份验证服务器
【发布时间】:2011-06-02 16:58:28
【问题描述】:

我正在尝试将 Google App Engine 作为身份验证服务器,用于在原生 android 上运行的移动应用程序。用户名和密码将存储在 GAE 中,我的目标是能够使用 GAE 存储和验证来自移动应用程序的凭据。这可能吗?我研究过 OAuth 和 JSON,但我认为我没有合适的设置。

另外,如果我走错了路,请指出正确的路径。

【问题讨论】:

    标签: python google-app-engine oauth titanium


    【解决方案1】:

    如果“存储凭据”是指存储用户名和密码,那么我想你会以错误的方式解决这个问题。无论您是在谈论 OAuth 还是 OpenID,其想法是您永远不会看到或无法访问委托身份验证机制的密码(也可能不是用户名)。相反,您会收到一个身份验证或授权令牌来完成您的工作(在 OpeniD 的情况下,一些有关此人的元信息,例如名字/姓氏和电子邮件地址)。

    对了,有没有考虑过第三者,比如Janrain

    【讨论】:

      【解决方案2】:

      如果您有兴趣在您的 GAE 实例中实现更类似于 API 的实现,我肯定会更多地研究 OAuth。但是,如果您只对验证这一移动应用程序的凭据感兴趣,那么您无需走那么远。

      幸运的是,您可以通过 SSL 调用您的 GAE 实例,这意味着您可以卸载所有的握手和加密业务。然后我会简单地使用http-basic authentication,或者简单地将用户ID和加密密码作为请求中的参数发送。

      在 iPhone 上有一个用于密码存储的 KeyChain,也许有一个 Android 对应项?无论如何,请确保将加密的密码存储在设备上和 GAE 数据存储中。验证凭据时发送加密密码。您永远不应该知道您的用户的明文密码。这将提供一定程度的模糊性,我认为这已经足够(通过 SSL 发送时肯定如此)。

      然后您可以简单地返回帐户凭据是否经过验证。

      【讨论】:

        猜你喜欢
        • 2015-03-11
        • 2011-04-23
        • 2020-03-21
        • 2014-04-30
        • 2019-05-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-01
        相关资源
        最近更新 更多