java - 移动应用程序的 Rest API 安全性

标签 java ios rest ssl mobile

我正在设计一个移动应用程序,该应用程序需要连接到服务器端进程以实现其业务逻辑和数据事务。我正在使用 Spring Boot 用 Ja​​va 编写服务器端代码,我打算创建一个 Rest API 以便移动应用程序连接到服务器。

我目前正在做一些研究,以寻找保护移动应用程序和服务器之间连接的最佳方式。我想做的是允许移动应用程序上的用户在打开应用程序后登录,并让他们使用该应用程序只要他们喜欢,并且在一段时间不活动后访问超时。

任何人都可以推荐任何非常简单的阅读吗?我看过 OAuth2,但这似乎是用于使用另一个帐户(如 Google、GitHub 等)登录 Web 服务。

通过将用户名和密码传递给休息端点并返回某种 token (GUID)来通过 https (SSL) 登录是否可以接受?然后让客户端(移动应用程序)在每个后续调用中传递该 GUID,以便服务器可以验证调用?在这种情况下,通过 SSL 做所有事情会更好吗?

我已经做了很多研究,但我似乎无法找到任何与我正在尝试做的事情完全匹配的东西。

希望有人可以帮助

谢谢

最佳答案

我通常做的是制作一个 JSON Web token (https://jwt.io/),然后自己处理 session 。

JWT 非常好,因为您只需要在服务器端定义一个 key 。只要您的客户能够传递您制作的字符串(例如在 header 内),并且只要没有人可以检索您的 key ,您就可以确定您在创建 token 时推送的每个数据都是由您生成的。 (不要犹豫使用最强的加密算法)

关于java - 移动应用程序的 Rest API 安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42914659/

相关文章:

android - 相当于 iOS RestKit for Android

iphone - RESTKit 是 ASIHTTPRequest 的良好替代品吗?

java - Android:创建可滚动布局

java - Encog 输入层大小限制

ios - 应用程序在后台时是否可以使用 AVAssetExportSession `exportAsynchronouslyWithCompletionHandler:` 方法?

即使已获得许可,iOS 麦克风选项也不在应用程序设置中

ios - 在 Xcode 10 中添加自定义 UITableViewController header

web-services - Swagger 可以用于 SOAP 吗?

java - STaX 解析器表现不同

java - 如何从程序中找到 JVM 版本……以及更多细节?