用于处理鉴权
- 系列项目说明
- 使用
Rails
自带的ActiveModel::SecurePassword
模块处理密码; - 使用
auth_token
统一鉴权,兼容 api 和 cookies, 服务端可控制 auth_token 失效; - 架构:
- 为合并用户提供了灵活的架构基础;
- 支持多终端登录;
- 采用全局唯一 User 设计,通过 UserTag 标签
- 在部分场景下,通过
UserTag
自动打标签;
如果用户表和项目表分离存贮,注意不要在项目中使用users
, accounts
, oauth_users
任何一张表作为连表查询的中间表。
- User
- Account
- OauthUser
- App
- AuthorizedToken: 授权token
- VerifyToken: 验证Token
class ApplicationController < ActionController::Base
include Auth::Controller::Application
before_action :require_login
end
class User < ActiveRecord::Base
include Auth::Model::User
end
# in controller
current_user
# in view with helper method
current_user
遵循 MIT 协议