Devise Token Auth 使用教程

Devise Token Auth 使用教程

devise_token_authToken based authentication for Rails JSON APIs. Designed to work with jToker and ng-token-auth.项目地址:https://gitcode.com/gh_mirrors/de/devise_token_auth

1、项目介绍

Devise Token Auth 是一个基于令牌的 Rails JSON API 认证解决方案,旨在与 jTokerng-token-auth 等前端库协同工作。它支持多客户端和安全令牌认证,每次请求都会刷新令牌并在短时间内使其过期,从而确保应用的安全性。此外,它还维护每个客户端/设备的会话,允许用户拥有多个会话。

2、项目快速启动

安装依赖

首先,将 devisedevise_token_auth 添加到你的 Gemfile 中,然后运行 bundle install

gem 'devise'
gem 'devise_token_auth'

生成配置文件

运行以下命令生成 devisedevise_token_auth 的配置文件:

rails generate devise:install
rails generate devise_token_auth:install User auth

配置邮件选项

config/environments/development.rb 中添加以下配置:

config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }

配置 CORS

为了允许应用接受请求,需要设置 rack-cors。将以下内容添加到你的 Gemfile 并运行 bundle install

gem 'rack-cors'

config/application.rb 中配置 CORS 规则:

module YourApp
  class Application < Rails::Application
    config.middleware.use Rack::Cors do
      allow do
        origins '*'
        resource '*',
          headers: :any,
          methods: [:get, :post, :put, :patch, :delete, :options, :head],
          expose: ['access-token', 'expiry', 'token-type', 'uid', 'client']
      end
    end
  end
end

启动应用

现在你可以启动应用并使用 Postman 进行测试。发送一个 POST 请求到 http://localhost:3000/auth 来注册用户:

rails server

3、应用案例和最佳实践

应用案例

Devise Token Auth 适用于构建单页应用(SPA)或移动应用,需要令牌而非 cookie 进行认证的场景。例如,一个使用 AngularJS 和 ng-token-auth 的前端应用,通过 Devise Token Auth 进行用户认证和会话管理。

最佳实践

  • 安全性:确保每次请求都刷新令牌并使其在短时间内过期,以提高安全性。
  • 多客户端支持:维护每个客户端/设备的会话,允许用户拥有多个会话。
  • 集成前端库:与 ng-token-authjToker 等前端库无缝集成,简化前端开发。

4、典型生态项目

前端库

  • ng-token-auth:适用于 AngularJS 的令牌认证库。
  • jToker:适用于 jQuery 的令牌认证库。
  • redux-token-auth:适用于使用 Redux 的 React 应用的令牌认证库。

其他相关项目

  • OmniAuth:用于 OAuth2 认证,与 Devise Token Auth 结合使用,提供第三方登录功能。
  • Devise:基础的用户认证库,Devise Token Auth 是基于 Devise 的扩展。

通过以上步骤和最佳实践,你可以快速启动并使用 Devise Token Auth 构建安全的令牌认证系统。

devise_token_authToken based authentication for Rails JSON APIs. Designed to work with jToker and ng-token-auth.项目地址:https://gitcode.com/gh_mirrors/de/devise_token_auth

  • 25
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蔡怀权

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值