Web services 用于保护iOS/Android应用程序基于REST的服务的选项
我正在开发一个实现在线购物功能的web应用程序。我正在使用Struts2+Spring+Hibernate。我正在使用Spring security实现授权和身份验证。Web services 用于保护iOS/Android应用程序基于REST的服务的选项,web-services,rest,spring-security,oauth-2.0,restful-authentication,Web Services,Rest,Spring Security,Oauth 2.0,Restful Authentication,我正在开发一个实现在线购物功能的web应用程序。我正在使用Struts2+Spring+Hibernate。我正在使用Spring security实现授权和身份验证。 现在,我的客户希望为我的web应用程序开发一个iOS/Android应用程序,我的web应用程序的用户可以登录并使用该应用程序的一些功能。 移动应用程序将访问JSON上基于REST的web服务,JSON将使用Jersey实现。以下是我的问题: 用户将拥有其中三个角色中的一个角色。根据角色的不同,他们应该能够访问特定的资源。我正在
现在,我的客户希望为我的web应用程序开发一个iOS/Android应用程序,我的web应用程序的用户可以登录并使用该应用程序的一些功能。
移动应用程序将访问JSON上基于REST的web服务,JSON将使用Jersey实现。以下是我的问题:
不要忘记,您可以使用简单的HTTP基本身份验证(当然是SSL)
有关OAuth版本的比较,请参见在处理相同的问题后,我做了一些研究,目前我可以看到3种解决方案
希望这能有所帮助,我个人将与UAA一起尝试。您好,我现在正在处理同样的问题,您是否找到了解决方案?我个人认为可能会使用couldfoundry的UAA,因为实现我自己的身份验证服务器和资源服务器似乎有点过分。@radichev不,我现在一直把它放在backburner上,因为我正忙于其他事情。但是,是的,我会在重新启动后进行更新。如果你能成功地用你的实现来回答这个问题,那就太好了。谢谢此外,我已经放弃了使用JERSEY的想法,将使用SpringMVC支持RESTThank。正如我在回来时所说的,如果你的回答好的话,我会评估并接受你的回答。嗨,Radi,事实上,我是在这方面开始工作的,我觉得使用OAuth2会有点过分,因为我的不是一个公共API。所以我选择了简单的选项JWT代币。当用户第一次登录时,我创建了一个签名的JWT令牌。然后,该令牌将在每个后续请求的报头中发送。我验证令牌的签名和令牌的有效期。如果未过期且签名匹配,我将继续,否则我将拒绝该请求。目前,我已将到期时间保持足够长,以便用户不必每次令牌到期都登录。目前,它的实现非常简单,我将继续添加处理来自两台设备的多次登录等功能。如果您发现我的实现中存在任何问题或改进,请提出建议