angularjs - 如何保护RESTful服务?

标签 angularjs rest

考虑为我的网站构建一个 Angular 2 前端。我的问题不一定与 Angular 有关,但我想提供完整的上下文。

向用户显示内容的应用程序逻辑将转移到客户端。因此,在服务器端,我需要通过 RESTful JSON 提要公开数据。让我担心的是,有人可以完全绕过我的前端并使用各种参数执行对服务的请求,从而有效地抓取我的数据库。我意识到通过抓取 HTML 可以实现其中的一些功能,但是使用格式良好的数据公开服务只是轻而易举的事。

有没有办法保护 RESTful 服务?换句话说,有没有办法确保此类服务仅响应我的 Angular 2 应用程序调用?身份验证当然不是这里的解决方案 - 我不想强制访问者进行身份验证,无论如何,刮刀可以很好地进行身份验证并获得访问权限。

最佳答案

我会推荐 JWT 授权。其中一种实现是 OAuth。基本上,您会获得一个 json Web token (JWT),该 token 已由您信任的授权机构签署,该 token 说明用户以及他们可以在您的 api 上访问哪些资源。

如果请求不包含授权 token - 您的 API 会拒绝它。

如果 token 被授权机构签署后试图授予自己特权的人篡改 - 您的 API 会拒绝它。

这是一个非常酷的套件。

site有关于不同语言的 OAuth 实现的信息,希望列出你最喜欢的。

一些浅睡时间 reading .

关于angularjs - 如何保护RESTful服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37213936/

相关文章:

rest - RESTful API 是否随时都需要 CORS 实现?

java - 如何通过 Rest 模板调用在另一个端口中运行的服务 API?

php - 使用 PayPal 结帐 REST 的捐赠是否需要服务器端验证?

javascript - ng-disabled 在 chrome 中不起作用

javascript - AngularJS:console.log 不显示任何内容

css - AngularJS 动画 : Run two animation types concurrently

javascript - 如何获取特定 id 的 Restful 数据

AngularJS 绝对类型 Visual Studio 2015

javascript - 摆脱控制台上的 'less: XHR: Getting ' http ://foo. less' 消息

java - Websphere REST 上传 - 不将上传的文件加载到内存中