我们正在使用 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 代码提供一个访问 token ,该代码将使用相同的 token 在 api.foo.com 上识别自己

请您参考如下方法:

我们有类似的框架,但我们使用 HMAC 进行 API 授权。我想您可以以类似的方式在 cookie 中使用代码。 HMAC 就像 OAuth light,但它可能非常适合这种情况。

以下是一些链接: http://en.wikipedia.org/wiki/Hash-based_message_authentication_code http://massimilianosciacco.com/implementing-hmac-authentication-rest-api-spring-security


评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!