kriss/webman-auth

This package is abandoned and no longer maintained. The author suggests using the webman-tech/auth package instead.

webman auth plugin

v2.0.1 2023-05-24 07:02 UTC

This package is auto-updated.

Last update: 2023-05-30 06:57:29 UTC


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

扩展

支持扩展以下接口:

例子

多种用户体系(前端用户api接口,后端用户session)

详见 examples/multi-user