webman-tech / auth
webman auth plugin
Installs: 4 848
Dependents: 0
Suggesters: 0
Security: 0
Stars: 12
Watchers: 2
Forks: 3
Open Issues: 0
Requires
- php: >=7.4
Requires (Dev)
- tinywan/jwt: ^1.2
- workerman/webman-framework: ^1.3
README
Auth plugin for webman
简介
提供高可扩展的认证授权插件,包含以下功能:
- 多用户认证: AuthManager 管理多 guard 实例
- 多认证方式
- SessionMethod: session 认证
- RequestMethod: 请求参数认证,token 放在 query 或 post 中
- HttpHeaderMethod: 请求 Header 认证,token 放在 header 中
- HttpAuthorizationMethod: 请求 Header 中的 Authorization 认证
- HttpBasicMethod: 请求 Basic 认证
- HttpBearerMethod: 请求 Bearer 认证
- TinywanJwtMethod: 使用 tinywan/jwt 进行 jwt 认证
- CompositeMethod: 组合以上多种认证方式
- 多认证失败处理器
- RedirectHandler: 重定向处理器
- ResponseHandler: 响应 401 http status
- ThrowExceptionHandler: 抛出 UnauthorizedException 异常
安装
composer require webman-tech/auth
配置
详见: auth.php
使用
认证授权方法
use WebmanTech\Auth\Auth; $guard = Auth::guard(); // 获取默认的 guard $guard = Auth::guard('admin'); // 获取指定名称的 guard $guard->login($user); // 用户登录 $guard->logout(); // 用户退出登录 $guard->getId(); // 获取当前登录用户的 id $guard->getUser(); // 获取当前登录用户的实例 $guard->isGuest(); // 判断当前用户是否为游客
其他方法详见: GuardInterface
中间件
- 全局切换 Guard:
WebmanTech\Auth\Middleware\SetAuthGuard
- 认证授权:
WebmanTech\Auth\Middleware\Authentication
扩展
支持扩展以下接口:
- 认证方式接口:
AuthenticationMethodInterface
- 认证失败处理方式接口:
AuthenticationFailureHandlerInterface
- Guard 接口:
GuardInterface
例子
多种用户体系(前端用户api接口,后端用户session)