我们正在使用spring-mvc和spring-security开发基于Web的应用程序。
简单地说,这个应用程序将在主域foo.com上运行一个网站
foo.com将只是一个漂亮的shell,它将从api.foo.com获取它的数据(使用javascript),这将是我们的REST API。
api.foo.com也将被开发的移动应用程序使用,并将使用OAuth 2进行身份验证流程。
当用户登录foo.com时,他将使用基于cookie的系统进行身份验证。
我们想知道什么是一个很好的解决方案,让已经登录使用的api.foo.com以经过验证的方式使用?
是否应该重复使用cookie并随每个请求一起发送?我们已经读过cookie + CORS在不同的域上不能很好地发挥作用于子域名吗?
我们一直在考虑让登录用户的cookie在幕后使用OAuth来访问api.foo.com。 因此,当用户对自己进行身份验证时,将向javascript代码提供访问令牌,该代码将使用相同的令牌在api.foo.com上识别自己
答案 0 :(得分:1)
我们有类似的框架,但我们使用HMAC进行API授权。我想你可以用类似的方式在cookie中使用代码。 HMAC就像OAuth之光,但它可能适用于这种情况。
以下是一些链接: http://en.wikipedia.org/wiki/Hash-based_message_authentication_code http://massimilianosciacco.com/implementing-hmac-authentication-rest-api-spring-security