Rails API认证 #

一、Token认证 #

1.1 基本Token认证 #

ruby
class Api::V1::BaseController < ApplicationController
  before_action :authenticate_user!
  
  private
  
  def authenticate_user!
    token = request.headers['Authorization']&.split&.last
    @current_user = User.find_by(token: token)
    
    render json: { error: '未授权' }, status: :unauthorized unless @current_user
  end
end

二、限流 #

2.1 使用Rack::Attack #

ruby
# Gemfile
gem 'rack-attack'

# config/initializers/rack_attack.rb
Rack::Attack.throttle('api', limit: 100, period: 1.minute) do |request|
  request.ip
end

三、总结 #

3.1 核心要点 #

要点 说明
Token认证 Authorization头
限流 Rack::Attack
安全 HTTPS

3.2 下一步 #

现在你已经掌握了API认证,接下来让我们学习 API版本控制,深入了解Rails的API版本管理!

最后更新:2026-03-28