API 非用户安全
API security for non users
我第一次尝试分离的基础设施。通过独立的基础设施,我的意思是我有 2 个独立的应用程序:
- Rails 应用仅作为 API 服务
- Angular 处理所有前端内容的应用程序
目前这是一个非常简单的过程(因为我正在学习更多关于集成 2 个应用程序的知识)。我知道平台之间的通信应该通过某种基于令牌的身份验证等来保护。
我看过 devise_token_auth and ng-token-auth。
我很困惑,因为我目前不会向任何外部方开放我的 API。因此,我希望能够使用我的 API 的唯一系统是我自己的(1 组密钥)。
我说我将使用 devise_token_auth 生成我的密钥,然后将其添加到服务器端和客户端的环境变量中,我说得对吗?由于这些值目前是静态的(不会是用户特定的)
您可以使用基于令牌的身份验证系统来保护您的后端免受不需要的请求,在每次身份验证后(使用 login/password)您的后端将生成一个令牌并将其发送到您的客户端应用程序,后者将存储它本地(本地存储)。使用 angular 拦截器,您可以轻松拦截所有客户端请求并在每个请求的 header 中注入令牌,最后您的后台必须检查每个请求中令牌的存在性和有效性。
https://github.com/lynndylanhurley/devise_token_auth seems to be the response of your problem on server side, coupled with (if you don't want to implement it by yourself) https://github.com/lynndylanhurley/ng-token-auth or https://github.com/sahat/satellizer(我更喜欢这个),你可以建立一个非常稳固的系统。
身份验证的定义类似于"confirming that a user is who he says he is"。由于您不会有任何用户,因此 auth 不适用于此处。
有人可能会争辩说,在您的案例中,"user" 是 angular 客户端,因此,不知道令牌的外部用户(其他 apps/scripts)将被拒绝。但是,访问令牌也是 public 知识,它不会增加任何针对垃圾邮件的保护或您试图通过此机制实现的任何目标。
所以,别管它了。
我第一次尝试分离的基础设施。通过独立的基础设施,我的意思是我有 2 个独立的应用程序:
- Rails 应用仅作为 API 服务
- Angular 处理所有前端内容的应用程序
目前这是一个非常简单的过程(因为我正在学习更多关于集成 2 个应用程序的知识)。我知道平台之间的通信应该通过某种基于令牌的身份验证等来保护。 我看过 devise_token_auth and ng-token-auth。
我很困惑,因为我目前不会向任何外部方开放我的 API。因此,我希望能够使用我的 API 的唯一系统是我自己的(1 组密钥)。
我说我将使用 devise_token_auth 生成我的密钥,然后将其添加到服务器端和客户端的环境变量中,我说得对吗?由于这些值目前是静态的(不会是用户特定的)
您可以使用基于令牌的身份验证系统来保护您的后端免受不需要的请求,在每次身份验证后(使用 login/password)您的后端将生成一个令牌并将其发送到您的客户端应用程序,后者将存储它本地(本地存储)。使用 angular 拦截器,您可以轻松拦截所有客户端请求并在每个请求的 header 中注入令牌,最后您的后台必须检查每个请求中令牌的存在性和有效性。
https://github.com/lynndylanhurley/devise_token_auth seems to be the response of your problem on server side, coupled with (if you don't want to implement it by yourself) https://github.com/lynndylanhurley/ng-token-auth or https://github.com/sahat/satellizer(我更喜欢这个),你可以建立一个非常稳固的系统。
身份验证的定义类似于"confirming that a user is who he says he is"。由于您不会有任何用户,因此 auth 不适用于此处。
有人可能会争辩说,在您的案例中,"user" 是 angular 客户端,因此,不知道令牌的外部用户(其他 apps/scripts)将被拒绝。但是,访问令牌也是 public 知识,它不会增加任何针对垃圾邮件的保护或您试图通过此机制实现的任何目标。
所以,别管它了。