使用 Android 保护 RESTful 服务的最佳方式

Posted

技术标签:

【中文标题】使用 Android 保护 RESTful 服务的最佳方式【英文标题】:Best way to secure RESTful service using from Android 【发布时间】:2015-06-02 08:00:01 【问题描述】:

我正在开发在线商店 android 独立应用程序(不在 webview 中)。我在服务器上有 php 引擎并实现了 REST API。但问题是 android 应用程序和服务器之间的安全性。 安全请求应该是购买项目、查看购买历史记录、取消订单。 我的应用程序将允许用户输入登录名和密码以登录应用程序,从服务器检查数据的正确性,然后用户将能够发送安全请求。 所以问题是如何保护连接?以及如何在服务器端和客户端实现这一点。 请提供如何实现这一点的建议,重要的是,这样做以构建健壮的应用程序的最佳实践是什么。 如果有任何帮助,我将不胜感激。

【问题讨论】:

【参考方案1】:

通常对于 RESTful 应用程序,您应该利用标头 Authorization。您可以实施多种安全级别:

基本身份验证。它只是对应于设置一个包含标识符和密码的 based64 编码字符串 基于令牌的身份验证。它涉及一个令牌资源,该资源提供具有过期时间的令牌,并用于代替实际的标识符/密码进行身份验证。

此链接提供有关使用这些机制的方式的更多详细信息:https://templth.wordpress.com/2015/01/05/implementing-authentication-with-tokens-for-restful-applications/。

希望对你有帮助, 蒂埃里

【讨论】:

【参考方案2】:

您可以使用OAuth 来确保您的响应 - 请求周期。

What exactly is OAuth (Open Authorization)?

【讨论】:

以上是关于使用 Android 保护 RESTful 服务的最佳方式的主要内容,如果未能解决你的问题,请参考以下文章

使用 RESTful 服务保护跨域的 API 调用

保护 RESTful Web 服务 URL [重复]

使用 Apache Shiro 保护 RESTful Web 服务

使用第三方身份验证保护资源服务器 RESTful API

如何在不使用身份验证的情况下保护 RESTful Web 服务

如何使用 OAuth2 和社交登录保护 Spring Boot RESTful 服务