mcpField
O
omni-auth

omni-auth

github.com/diegosouzapw安全82.2k1.0k 次安装今天更新
代码仓库

关于 omni-auth

omni-auth 是用于管理 OmniRoute API 身份验证和仪表板会话的技能,介绍 Bearer 凭据、密码登录及基于 OIDC 的管理员登录。

主要功能

  1. 01使用 Bearer 凭据验证 API 请求
  2. 02通过密码登录创建仪表板会话
  3. 03发起并完成 OIDC 登录
  4. 04检查身份验证状态和 CSRF 令牌

适用场景

  1. 01获取 API 请求所需凭据
  2. 02登录仪表板
  3. 03为仪表板管理员配置 OIDC 登录

MCP 相关

OmniRoute 内置 MCP 服务,但此技能侧重身份验证,未说明 MCP 专属设置或操作。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/diegosouzapw/omniroute --skill omni-auth

安装后在 Claude Code 中输入/omni-auth确认已加载。

详细介绍

概览

管理 API 密钥认证和会话令牌。从这里开始,通过 Bearer 令牌认证请求、获取会话 Cookie,并为 OmniRoute API 配置登录要求。

认证

远程 API 请求使用 Bearer 凭据。仪表板登录则有所不同:POST /api/auth/login 接受管理密码,并返回 auth_token 会话 Cookie。

端点

POST /api/auth/login

认证用户

curl -X POST http://localhost:20128/api/auth/login \
  -H "Content-Type: application/json" \
  -c cookie.jar \
  -d '{"password":"<management-password>"}'
POST /api/auth/logout

退出登录

CSRF_TOKEN=$(curl -s http://localhost:20128/api/auth/csrf -b cookie.jar | jq -r .token)
curl -X POST http://localhost:20128/api/auth/logout \
  -b cookie.jar \
  -H "x-omniroute-csrf: $CSRF_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'
GET /api/auth/oidc/login

为仪表板管理员访问关卡启动 OIDC 登录

根据已配置的 OIDC 颁发者/客户端构建授权 URL(通过 {issuer}/.well-known/openid-configuration 发现, 若未发现则回退到 {issuer}/authorize),设置短期有效的 oidc_state Cookie,并重定向浏览器。启用 OIDC 后, 密码登录仍可作为备用方式使用。

curl http://localhost:20128/api/auth/oidc/login \
  -b cookie.jar
GET /api/auth/oidc/callback

完成仪表板管理员访问关卡的 OIDC 登录

验证 state Cookie,使用授权 code 交换令牌, 根据颁发者的 JWKS 验证 ID 令牌(受众 = 客户端 ID),并 根据 oidcAllowedSubjects 检查令牌的 sub/email;该配置必须至少包含 一项(空列表会导致 not_configured)。成功后,它会签发与密码登录相同的 30 天 auth_token 仪表板会话 JWT,并重定向到 /dashboard。

curl http://localhost:20128/api/auth/oidc/callback \
  -b cookie.jar
GET /api/auth/csrf

GET auth › csrf

curl http://localhost:20128/api/auth/csrf \
  -b cookie.jar
GET /api/auth/status

GET auth › status

curl http://localhost:20128/api/auth/status \
  -b cookie.jar

负载

有关详细的请求/响应架构,请参阅完整的 OpenAPI 规范:GET /api/openapi/spec 或 docs/openapi.yaml。

OmniRoute

本地/远程 AI 网关,提供兼容 OpenAI 的 REST 接口。一个密钥,375 个提供商, 自动回退、RTK 令牌节省、MCP 服务、A2A Agent。

设置

export OMNIROUTE_URL="http://localhost:20128"      # or VPS / tunnel URL
export OMNIROUTE_KEY="sk-..."                       # from Dashboard → API Keys

所有请求均使用:${OMNIROUTE_URL}/v1/...,并携带 Authorization: Bearer ${OMNIROUTE_KEY}。

验证:curl $OMNIROUTE_URL/api/health → {"ok":true}

发现模型

curl $OMNIROUTE_URL/v1/models                  # chat/LLM (default)
curl $OMNIROUTE_URL/v1/models/image            # image-gen
curl $OMNIROUTE_URL/v1/models/tts              # text-to-speech
curl $OMNIROUTE_URL/v1/models/embedding        # embeddings
curl $OMNIROUTE_URL/v1/models/web              # web search + fetch
curl $OMNIROUTE_URL/v1/models/stt              # speech-to-text

在请求中将 data[].id 用作 model 字段。组合模型会以 owned_by:"combo" 显示。

能力技能

能力原始 URL
聊天 / 代码生成https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omni-inference/SKILL.md
图像生成https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omni-inference/SKILL.md
文本转语音https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omni-inference/SKILL.md
语音转文本https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omni-inference/SKILL.md
嵌入https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omni-inference/SKILL.md
网页搜索https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omni-inference/SKILL.md
网页抓取https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omni-inference/SKILL.md
MCP 服务(110 个工具)https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omni-mcp/SKILL.md
A2A 协议https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omni-agents-a2a/SKILL.md
路由与组合https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omni-combos-routing/SKILL.md
令牌压缩https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omni-compression/SKILL.md
监控与健康状态https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omni-resilience/SKILL.md

CLI 技能(omniroute 二进制文件)

功能原始 URL
CLI 入口点https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/cli-serve/SKILL.md
CLI 管理与生命周期https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/cli-serve/SKILL.md
CLI 提供商与密钥https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/cli-providers/SKILL.md
CLI 云端 Agent(omniroute cloud …)https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/cli-backup-sync/SKILL.md
CLI 评估与基准测试https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/cli-eval/SKILL.md

错误

  • 401 → 设置/刷新 OMNIROUTE_KEY(Dashboard → API Keys)
  • 400 Invalid model format → 检查 /v1/models/<kind> 中是否存在 model
  • 503 Provider circuit open → 上游提供商不可用;等待 Retry-After 秒后重试
  • 429 → 请求受限;遵循 Retry-After

相较于直接使用 OpenAI 的优势

  • 自动回退组合(19 种策略):即使提供商限制速率,也不会中断编码
  • RTK 令牌节省器:通过 47 种专用过滤器(git-diff、test-jest、terraform-plan、docker-logs…)压缩 tool_result——令牌减少 20-40%
  • 穴居人模式:可选的简短系统提示词注入(LITE/FULL/ULTRA)——补全内容减少 15-25%
  • 内置 MCP + A2A 服务(这是唯一同时支持这两种协议的 AI 路由器)
  • 记忆:使用 FTS5 + Qdrant 保存持久化 Agent 上下文
  • 防护机制:用于 PII 屏蔽、提示词注入检测和视觉策略

评论

支持 Markdown