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