【问题标题】:How to create REST authentication for iOS and Android mobile apps如何为 iOS 和 Android 移动应用程序创建 REST 身份验证
【发布时间】:2012-04-11 17:59:07
【问题描述】:

我正在使用 iOS 和 Android 版本构建应用程序。我想创建或实现两个应用程序都可以使用的现有 REST 身份验证过程。我知道我可以通过简单的 Get 服务来完成此操作,但这会以明文形式传递密码。是否有任何 API 可以处理移动应用的身份验证?

我不想使用 OAuth,因为我不希望用户不得不采取额外的步骤来允许访问他们的数据。我希望用户无缝地输入用户名和密码,并像在我使用的大多数移动应用程序中一样进行身份验证。

【问题讨论】:

    标签: android ios authentication rest mobile


    【解决方案1】:

    如果你确定你不需要像 OAuth 这样的东西,那么你只需要两件事:

    1) 仅限 https - 这可以防止用户名:密码被拦截(很容易)

    2) 将用户名:密码发送到的 POST URL

    POST 很重要!如果只是 GET,那么用户名和密码将存储在您的服务器日志中,并且请求可能会被缓存。

    你会得到类似的东西:

    https://www.example.com/myaccount/login
    

    使用 POST 参数

    username=deanWombourne&password=hunter2
    

    然后,我会将登录状态作为该会话的属性存储在服务器上,以供将来所有请求使用。

    【讨论】:

    • 我不反对oauth,如果它可以像大多数移动设备上的登录方式一样工作。你说可以吗?
    • +1 用于聪明的 bash.org 参考。你可以去 Hunter2 我的 Hunter2-ing Hunter2!
    【解决方案2】:

    如果您使用安全连接 (HTTPS),则发送用户名/密码不会成为问题。其他需要考虑的事情是,移动设备上的会话超时和会话缓存,以及为此所需的安全步骤、间歇性网络连接问题等。

    【讨论】:

    • 查看我关于将用户名和密码作为 POST 而不是 GET 发送的答案 - 我了解到虽然痛苦的经历 :)
    • 我明白了,我并不是要暗示使用 GET 方法。但是我不知道服务器日志方面。今天又学到了一件事。谢谢。
    【解决方案3】:

    您能否向我们展示您的一些代码,以便我们更好地了解,现在可以使用 OAuth,因为用户更熟悉此方法,并且无需您使用 HTTPS 更安全,因为有一部分不接受在非官方应用上写密码的用户(我也是),所以他们可能会忽略你。

    【讨论】:

      【解决方案4】:

      HTTPS 是您的首选,如果可能的话。

      我建议您查看亚马逊 S3 身份验证。 http://docs.amazonwebservices.com/AmazonS3/latest/dev/RESTAuthentication.html

      也看here

      【讨论】:

        猜你喜欢
        • 2019-07-25
        • 2011-04-27
        • 2014-02-25
        • 2012-05-23
        • 1970-01-01
        • 2023-03-23
        • 2014-05-15
        • 2014-07-10
        • 1970-01-01
        相关资源
        最近更新 更多