非用户的API安全性

时间:2015-09-07 13:46:59

标签: ruby-on-rails angularjs http-token-authentication

我是第一次尝试分离基础设施。通过分离的基础设施,我的意思是我有两个单独的应用程序:

  1. 仅用作API服务的Rails应用
  2. 负责所有前端内容的角色应用
  3. 目前这是一个非常简单的过程(因为我正在学习更多关于集成2个应用程序的知识)。我知道平台之间的通信应该使用某种基于令牌的身份验证等来保护。 我查看了devise_token_authng-token-auth

    我很困惑,因为我目前不会向任何外部各方开放我的API。因此,我希望能够使用我的API的唯一系统是我自己的(1组密钥)。

    我是否正确地说我将使用devise_token_auth生成我的密钥,然后将其添加到服务器端和客户端的环境变量中?由于这些值当前是静态的(不是用户特定的)

2 个答案:

答案 0 :(得分:1)

您可以使用基于令牌的身份验证系统来保护您的后端免受不必要的请求,在每次身份验证(使用登录/密码)后,您的后端将生成令牌并将其发送到将在本地存储它的客户端应用程序(localstorage) 。使用角度拦截器,您可以轻松拦截所有客户端请求并在每个请求的标头中注入令牌,最后您必须检查每个请求中令牌的存在和有效性。

enter image description here似乎是您服务器端问题的回应,加上(如果您不想自己实施)https://github.com/lynndylanhurley/devise_token_authhttps://github.com/lynndylanhurley/ng-token-auth(i更喜欢这个),你可以建立一个非常坚固的系统。

答案 1 :(得分:1)

身份验证的定义类似于“确认用户是他所说的人”。由于您没有任何用户,因此auth不适用于此处。





有人可能认为您的案例中的“用户”是角客户端,因此,不知道令牌的外部用户(其他应用/脚本)将被拒绝。但是,访问令牌也是公共知识,它不会添加任何针对垃圾邮件的保护或者您尝试使用此机制实现的任何内容。





所以,不要打扰它

&#XA。
相关问题