auth 高可擴(kuò)展的認(rèn)證插件

v2.0.1
版本
2023-05-24
版本更新時(shí)間
5798
安裝
13
star
為了后期更好的維護(hù),最新 2.0 版本已修改包名,請(qǐng)注意切換
webman-tech/auth
Auth plugin for webman
簡(jiǎn)介
提供高可擴(kuò)展的認(rèn)證授權(quán)插件,包含以下功能:
- [x] 多用戶認(rèn)證: AuthManager 管理多 guard 實(shí)例
- [x] 多認(rèn)證方式
- [x] SessionMethod: session 認(rèn)證
- [x] RequestMethod: 請(qǐng)求參數(shù)認(rèn)證,token 放在 query 或 post 中
- [x] HttpHeaderMethod: 請(qǐng)求 Header 認(rèn)證,token 放在 header 中
- [x] HttpAuthorizationMethod: 請(qǐng)求 Header 中的 Authorization 認(rèn)證
- [x] HttpBasicMethod: 請(qǐng)求 Basic 認(rèn)證
- [x] HttpBearerMethod: 請(qǐng)求 Bearer 認(rèn)證
- [x] TinywanJwtMethod: 使用 tinywan/jwt 進(jìn)行 jwt 認(rèn)證
- [x] CompositeMethod: 組合以上多種認(rèn)證方式
- [x] 多認(rèn)證失敗處理器
- [x] RedirectHandler: 重定向處理器
- [x] ResponseHandler: 響應(yīng) 401 http status
- [x] ThrowExceptionHandler: 拋出 UnauthorizedException 異常
安裝
composer require webman-tech/auth
配置
詳見(jiàn): auth.php
使用
認(rèn)證授權(quán)方法
use WebmanTech\Auth\Auth;
$guard = Auth::guard(); // 獲取默認(rèn)的 guard
$guard = Auth::guard('admin'); // 獲取指定名稱的 guard
$guard->login($user); // 用戶登錄
$guard->logout(); // 用戶退出登錄
$guard->getId(); // 獲取當(dāng)前登錄用戶的 id
$guard->getUser(); // 獲取當(dāng)前登錄用戶的實(shí)例
$guard->isGuest(); // 判斷當(dāng)前用戶是否為游客
其他方法詳見(jiàn): GuardInterface
中間件
- 全局切換 Guard:
WebmanTech\Auth\Middleware\SetAuthGuard
- 認(rèn)證授權(quán):
WebmanTech\Auth\Middleware\Authentication
擴(kuò)展
支持?jǐn)U展以下接口:
- 認(rèn)證方式接口:
AuthenticationMethodInterface
- 認(rèn)證失敗處理方式接口:
AuthenticationFailureHandlerInterface
- Guard 接口:
GuardInterface
例子
多種用戶體系(前端用戶api接口,后端用戶session)
詳見(jiàn) examples/multi-user