我已经成功地基于 mevdschee/php-crud-api 实现了我的新 API 包裹。我一直困扰于配置最佳 API 密钥方法进行身份验证的问题。在下面的代码中,我尝试配置 API 密钥的使用并在
apiKeyAuth.keys
参数上设置密钥。使用 Postman,我的 API 可以工作,但是当使用 API 密钥身份验证时,它不会接受我的 API 密钥。我的语法可能是错误的,但任何方向都值得赞赏。
配置 API 的 PHP 代码(出于安全原因取出值):
$config = new Config([
'driver' => 'mysql',
'address' => 'localhost',
'port' => 'PORT_NUMBER',
'username' => 'DATABSE_USERNAME',
'password' => 'DATABSE_PASS',
'database' => 'DATABASE_NAME',
'debug' => true,
'tables' => 'TABLES_ALLOWED',
'middlewares' => 'apiKeyAuth',
'apiKeyAuth.keys' => 'MY_API_KEY',
]);
如何解决 php-crud-api 上的身份验证问题
'middlewares' => 'apiKeyDbAuth,authorization',
'authorization.usersTable' => function ($user, $pass) {
if ($user=='admin' && $pass=='admin') {
$_SESSION['user']=$user;
echo $_SESSION['apiUser'];
return $_SESSION['apiUser'];
}
},