Laravel5.3~5.5 使用默认api验证登陆
发布日期:2025-04-04 04:00:39 浏览次数:12 分类:精选文章

本文共 1366 字,大约阅读时间需要 4 分钟。

Laravel 5.3-5.5默认API验证登录概述

一、Laravel的Guard配置

Laravel框架预设了两个Guard("guard"),分别用于Web和API身份验证。这些Guard分别对应不同的身份验证方式,您可以通过配置文件进行设置和定制。

config/auth.php文件中,Guard的配置如下:

'guards' => [    'web' => [        'driver' => 'session',        'provider' => 'users',    ],    'api' => [        'driver' => 'token',        'provider' => 'users',    ],],

二、Guard的工作原理

AuthManager类在Illuminate\Auth命名空间中定义了两个核心方法:

public function createSessionDriver($name, $config) {    // ... }public function createTokenDriver($name, $config) {    // ...}

这些方法分别调用SessionGuardTokenGuard,通过resolve($name)方法获取相应的Guard实例。

三、Token验证配置

使用token驱动意味着您需要自定义数据库表中的字段,同时指定默认的Token验证字段。

UserProvider解析器中,默认的inputKeystorageKey均为api_token

public function __construct(UserProvider $provider, Request $request) {    $this->request = $request;    $this->provider = $provider;    $this->inputKey = 'api_token';    $this->storageKey = 'api_token';}

四、实用步骤指南

  • 数据库字段配置
  • 在用户模型中添加api_token字段:

    $table->string('api_token', 60)->unique();
    1. 登录验证流程
    2. 验证用户名和密码后,生成api_token并存储到数据库中。随后,可通过token字段进行API访问验证。

      1. 身份验证方法
      2. 使用validate()方法进行身份验证,并通过user()方法获取用户信息:

        Auth::guard('api')->validate(['api_token' => $request->api_token]);$validatedUser = Auth::guard('api')->user();

        这里必须使用$request->api_token作为验证参数,确保能正确解析用户身份。

        五、测试与应用

        在实现过程中,您可以通过直接使用api_token作为请求参数的GET请求进行测试:

        GET /user API-Token=your_token_value

        以这样的方式,您可以轻松验证API端点的身份验证功能是否正常工作。

    上一篇:laravel5.5 __Resource路由__RESTFul风格控制器
    下一篇:Laravel5 容器自动加载依赖的原理

    发表评论

    最新留言

    路过,博主的博客真漂亮。。
    [***.116.15.85]2025年05月01日 13时49分33秒

    关于作者

        喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
    -- 愿君每日到此一游!

    推荐文章

    Elasticsearch面试题 2025-03-29
    element ui 时间日期选择器 el-date-picker 报错 Prop being mutated “placement“ 2025-03-29
    element 如何使用自定义icon图标 2025-03-29
    element-plus修改主题颜色 2025-03-29
    element-plus的el-date-picker日期范围选择控件,根据开始日期限定结束日期的可选范围为开始日期到开始日期+30天 2025-03-29
    element-ui:el-input输入数字-整数和小数 2025-03-29
    ElementUI-el-progress改变进度条颜色跟文字样式 2025-03-29
    ELK应用日志收集实战 2025-03-29
    elTable火狐浏览器换行 2025-03-29
    15个Python数据处理技巧(非常详细)零基础入门到精通,收藏这一篇就够了 2025-03-29
    2023年深信服、奇安信、360等大厂网络安全校招面试真题合集(附答案),让你面试轻松无压力! 2025-03-29
    2024年全国程序员平均薪资排名:同样是程序员,为什么差这么多?零基础到精通,收藏这篇就够了 2025-03-29
    0基础成功转行网络安全工程师,年薪30W+,经验总结都在这(建议收藏) 2025-03-29
    100个电脑常用组合键大全(非常详细)零基础入门到精通,收藏这篇就够了 2025-03-29
    10个程序员可以接私活的平台 2025-03-29
    10个运维拿来就用的 Shell 脚本,用了才知道有多爽,零基础入门到精通,收藏这一篇就够了 2025-03-29
    10条sql语句优化的建议 2025-03-29
    10款宝藏编程工具!新手必备,大牛强烈推荐! 从零基础到精通,收藏这篇就够了! 2025-03-29
    10款最佳免费WiFi黑客工具(附传送门)零基础入门到精通,收藏这一篇就够了 2025-03-29
    15个备受欢迎的嵌入式GUI库,从零基础到精通,收藏这篇就够了! 2025-03-29