You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

配置PHP API中间件的API Key认证遇到问题求助

解决php-crud-api的API Key认证配置问题

问题根源

你的配置里apiKeyAuth.keys使用了字符串值,但该参数要求是数组类型——哪怕只有一个API Key,也需要用数组包裹。另外需确认请求时API Key的传递方式是否符合组件默认规则。

修正后的配置代码

$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'], // 改为数组格式
]);

请求时的正确传递方式

默认情况下,组件会从以下位置读取API Key:

  • HTTP请求头:X-API-Key
  • URL查询参数:apiKey
  • 请求体参数:apiKey

用Postman测试时,推荐在Headers标签添加键值对:

  • 键:X-API-Key
  • 值:MY_API_KEY

额外排查点

  1. 确保MY_API_KEY没有包含特殊字符或空格,复制时不要带多余符号
  2. 如果需要自定义API Key的读取位置,可配置apiKeyAuth.header、apiKeyAuth.param等参数调整规则

内容的提问来源于stack exchange,提问作者Mike Barbaro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 10:55:14