SuperAPI AI 工具集

bootstrap-api-keys

编程与开发

查看项目

更新于 10-15 19:52

技能介绍

用途:为已完成 phx.gen.auth 的 Phoenix 1.8 应用补齐完整的 API 密钥管理,包括数据层、上下文函数、LiveView 管理界面和 Bearer Token 认证 Plug。前置条件包括已安装 DaisyUI,并存在可用于归属密钥的父级关联(users、account_users 或 accounts)。

主要能力:生成 api_keys 迁移与 ApiKey Schema(令牌生成与哈希);上下文函数 create_api_key/2、list_api_keys/1、revoke_api_key/1、verify_api_token/1、touch_api_key/1;ApiKeyLive.Index 提供密钥列表表、空状态、创建弹窗、仅显示一次的令牌弹窗(含复制)、吊销确认弹窗;ApiAuth Plug 及路由管线 :api_authenticated 与 :api_write。

使用方式:先执行发现审计,用 Glob/Grep 检查迁移、Schema、上下文函数、LiveView、认证 Plug、路由和速率限制器是否已存在,输出“已存在/待创建”清单并确认后再实施;仅创建缺失部分。配置项包括父级关联(默认 users)、是否区分 public(pk_,只读)与 private(sk_,读写)密钥类型、是否限流、挂载路径(默认 /api-keys)及 live_session。应用名需按 mix.exs 将 MyApp/my_app/MyAppWeb/my_app_web 替换为实际名称。最后运行迁移并用 mix test 验证。

安全约定:不存原始令牌,只存 SHA256 哈希与 12 位前缀;令牌仅在创建后展示一次;以前缀+哈希校验;吊销为软删除,保留 status 标记;可选过期时间为 UTC 时间,在验证时检查。

限制:缺少前置条件时需自行补齐;限流与 TaskSupervisor 需目标应用已具备,否则跳过或改用同步更新;文档未提供具体命令、代码示例及价格信息。