Laravel新安装后config/auth.php的guards缺少api配置项如何解决?
Laravel默认项目无API Guard配置的原因及解决方法
这是Laravel版本迭代后的正常调整,具体说明和处理方案如下:
- 从Laravel 8.x版本开始,官方对默认项目骨架做了精简,移除了原本自带的
token驱动API guard默认配置。旧版本内置的基础token鉴权功能较少,官方现在更推荐开发者根据实际业务需求选择对应的API鉴权方案,而非默认强制加载不需要的配置。 - Laravel核心依然兼容原生的
token驱动,只是默认没有写入配置文件,无需担心核心功能被移除。
可选处理方案
- 手动补全配置
如果只需要用到基础的token驱动鉴权,直接将参考的API guard配置粘贴到config/auth.php的guards数组中即可正常使用:
'guards' => [ 'web' => [ 'driver' => 'session', 'provider' => 'users', ], 'api' => [ 'driver' => 'token', 'provider' => 'users', 'hash' => false, ], ],
- 使用官方推荐的Sanctum实现API鉴权
如果是开发前后端分离项目、移动应用等场景的API,更推荐使用功能更完善的Laravel Sanctum,执行composer require laravel/sanctum安装后,按照指引发布配置、运行迁移即可自动生成适配的鉴权规则,支持多令牌管理、令牌过期、权限作用域等实用功能。
内容的提问来源于stack exchange,提问作者Isaac Newton Aranas
相关产品推荐
相关产品推荐

