hyperf 系列教程之 hyperf-auth 高级用法

本文是关于Hyperf-auth组件的高级用法教程,详细介绍了如何自定义guard、user和UserProvider。文章提到,自定义guard只需实现Guard接口,自定义user需实现UserInterface,而复杂自定义需求可通过自定义UserProvider实现。教程适合laravel爱好者和Hyperf-auth用户,以帮助他们更好地理解和扩展认证功能。
摘要由CSDN通过智能技术生成

前言

上次写了一个 hyperf-auth 组件,收到许多朋友的反馈和支持,非常感谢大家的支持。今天补充一下关于自定义用户认证的方法。
其实,大部分场景下你都可以通过 hyperf-auth 项目的 README 文档了解到具体如何使用 hyperf-auth 的各种功能,但是关于自定义验证,README 其实只是一笔带过。
hyperf 教程之 hyperf-auth 高级用法
下面我们就来了解以下具体如何实现自定义验证。

hyperf-auth 组件的设计思路

由于我本人是个 laravel 爱好者,所以整个组件的设计思路大致是跟 laravel auth 相似的,都有 guarduser provider,包括配置方式也是极其相似的,所以,扩展方式也是相似的。

自定义 guard

想要实现一个自己的 guard 非常简单,只要实现 Qbhy\HyperfAuth\AuthGuard 接口即可,而且我抽象了一个 AbstractAuthGuard 继承该抽象类可以减少许多代码,大部分情况下,你只需要实现下面这三个方法即可。

<?php

namespace App\Auth\Guard;

use Qbhy\HyperfAuth\Authenticatable;
use Qbhy\HyperfAuth\Guard\AbstractAuthGuard;

class CustomGuard extends AbstractAuthGuard
{
   
    public function login(Authenticatable $user)
    {
   
        // TODO: Implement login() method.
    }

    public function user(): ?Authenticatable
    {
   
        // TODO: Implement user() method.
    }

    public function logout()
    {
   
        // TODO: Implement logout() method.
    }
}

该类的构造方法可以注入一些 Hyperf 环境中常用的实例,比如 RequestSession。不重写构造函数的情况下,配置文件中的值和 guard 的属性对应关系如下:

$authConfig = [
    'default' =
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值