laravel - Laravel:auth.php 中的存储密钥是什么?
问题描述
如果您选择使用不同的列名,请务必
storage_key
在配置文件中更新 API 的配置选项config/auth.php
。
如果name 是 Laravel API 身份验证的默认名称,我使用token
column 代替。api_token
它说配置storage_key
使用不同的名称。我找不到这样的东西,谷歌搜索没有说什么。什么是 storage_key
以及如何使用它来设置token
API 身份验证列名不是api_token
?
提前致谢
解决方案
这是里面的方法Illuminate/Auth/AuthManager
/**
* Create a token based authentication guard.
*
* @param string $name
* @param array $config
* @return \Illuminate\Auth\TokenGuard
*/
public function createTokenDriver($name, $config)
{
// The token guard implements a basic API token based guard implementation
// that takes an API token field from the request and matches it to the
// user in the database or another persistence layer where users are.
$guard = new TokenGuard(
$this->createUserProvider($config['provider'] ?? null),
$this->app['request'],
$config['input_key'] ?? 'api_token',
$config['storage_key'] ?? 'api_token'
);
$this->app->refresh('request', $guard, 'setRequest');
return $guard;
}
它与 处于同一级别provider
,从班级中也可以看出它与 处于同一级别driver
。您需要将用于身份验证的选定(例如)之一放入storage_key
其中。默认情况下,它们都设置为.input_key
guards
api
api_token
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'token',
'provider' => 'users',
],
],
推荐阅读
- python - Python:化学元素计数器
- svelte - 部署到 web 子文件夹(url 前缀)
- c# - 无法将“System.Collections.Generic.List`1 类型的对象转换为 System.Windows.Forms.BindingSource”类型
- r - 从一系列注视计算首次注视时间、首次注视持续时间和访问持续时间(眼动追踪;R)
- php - 我将如何更新这些规则以便两者都可以在 .htaccess 中运行?
- google-apps-script - Google Sheet 加速循环
- java - 我如何访问对象 o 的吸气剂
- debugging - vmlaunch 后调试虚拟机
- python - FileNotFoundError:[Errno 2] 没有这样的文件或目录:'netsh'
- python-3.x - 使用 tkinter gui 从 python 3.8.5 编译的 Exe 在 Windows10 上引发致命错误