AngularJS + Jersey RESTful 后端:身份验证和授权

Posted

技术标签:

【中文标题】AngularJS + Jersey RESTful 后端:身份验证和授权【英文标题】:AngularJS + Jersey RESTful backend: Authentication & Authorization 【发布时间】:2013-07-25 05:27:44 【问题描述】:

我正在构建一个使用 Jersey 作为 RESTful ws 提供程序的 AngularJS 网络应用程序。我希望用户能够登录并且只执行某些操作。我应该为此使用 OAuth 吗?我看到人们在为第三方提供访问属于某些用户的后端数据的机会(例如 Facebook 登录)的背景下经常提到 OAuth,但在这种情况下,只有我,我的前端调用我的后端。

以前,我用 JSF 和 CDI 来做这件事,但我决定改用 Angular,所以现在我的后端和前端不像以前那样“粘在一起”了。我应该在这个用例中使用 OAuth 吗?有没有更好的办法?

【问题讨论】:

【参考方案1】:

如果您想拥有一个松散耦合的 API,可以从其他前端和/或服务中使用,我认为 OAuth 肯定是您的最佳选择。它还可以为您省去很多跨域的麻烦(例如,IE9 不允许将 cookie、身份验证等包含在跨域请求中)。

如果您绝对确定它只是您自己的前端,我会考虑将 API 放在同一个 Web 应用程序中,这样可以通过使用与前端相同的方式来解决身份验证问题。

【讨论】:

以上是关于AngularJS + Jersey RESTful 后端:身份验证和授权的主要内容,如果未能解决你的问题,请参考以下文章

启用从 AngularJS 到 Jersey 的 CORS 发布请求

AngularJS $http、CORS 和 Jersey 的基本身份验证

前端Angularjs +后端Jersey REST Services +需要设置开发环境

AngularJS 和位于不同域的 Jersey Webservice 之间的通信。无法访问正确的会话

使用 ANGULARJS 从 Jersey rest api 调用中下载/保存文件。文件附加响应为“Content-Disposition”

HTML5 模式下的 AngularJS + Java