我是REST安全的新手,我正在尝试构建一个AngularJS(Angular 1)应用程序,该应用程序将RESTful Web服务作为其后端进行集成。此Web服务将是应用程序(前端)获取和写入所有数据的方式。
该应用程序最初将是REST服务的唯一客户端,但最终我想将该服务作为公开的公共API打开,而不仅仅是我的Angular应用程序使用/使用。
我正在试图弄清楚如何为我的REST服务构建身份验证/授权解决方案,并且有一些我不清楚的事情。我希望Angular应用程序及其支持REST服务都拥有自己的身份验证/授权模型(我认为 - 我可以谈论这个)。
myapp-client
的用户名和自己的密码? 或 在第一种情况下,就像我说的那样,Angular应用程序可能会附带硬编码的凭据,用于集成并连接到REST服务(再次作为示例:用户名:myapp-client,密码:12345)。我认为这是最简单的,但随后(非常可能)在浏览器/前端代码中公开这些硬编码凭据,然后在sun下的任何脚本小子都有用户名+密码来访问我的整个REST API。
在后一种情况下,我认为Angular应用程序必须充当用户的某种中间人:
我想我正在寻找确认我怀疑前一个解决方案(应用程序用来与后端集成的1个服务用户)在浏览器中公开凭据以及后一种解决方案是可行的方法。还要确认JWT是否是实现后一种解决方案的一种方式,或者我是否需要使用OAuthv2或其他方法。
答案 0 :(得分:1)
当您需要通过REST API验证Angular应用程序时,步骤如下。