切换主题
认证与错误处理
用户 API 请求
bash
curl -H "Authorization: Bearer $EDMA_ACCESS_TOKEN" -H "X-Request-Id: $EDMA_REQUEST_ID" http://localhost:6100/api/v1/iam/me先在本地安全设置变量。EDMA_ACCESS_TOKEN 是当前用户令牌,EDMA_REQUEST_ID 是每次调用的请求标识。不要将实际令牌保存到共享脚本或日志。
当前用户接口返回用户、租户、组织、角色、权限和授权版本等信息。业务关联使用稳定 userId,显示使用 displayName;不依赖展示名称或同名用户名做跨系统关联。
协议端点
| 方法 | 路径 | 用途 |
|---|---|---|
| GET | /.well-known/openid-configuration | OIDC 协议发现 |
| GET | /oauth2/jwks | 公钥集合 |
| GET | /oauth2/authorize | PKCE 授权入口 |
| POST | /oauth2/token | 表单编码交换或刷新令牌 |
| GET | /userinfo | OIDC 用户信息 |
| GET | /auth/login/csrf | 登录或退出所需的 CSRF 参数 |
| POST | /auth/logout | 服务端退出与授权撤销 |
浏览器提交登录和退出时还需按当前 IAM 实现携带会话 Cookie、验证码与 CSRF 参数。Bearer API 和浏览器登录表单不是同一请求模型。
服务令牌
Client Credentials 只代表服务。租户服务需已获授目标租户 scope,接口还会检查 client_id、grant type 与业务能力。客户端密钥只存服务端,SPA 使用公共客户端和 PKCE。
常见状态码
| 状态 | 排查方向 |
|---|---|
| 400 | 请求格式、必填项或协议参数错误 |
| 401 | 令牌缺失、失效、签名或 issuer 不匹配 |
| 403 | 动作、数据范围、对象或服务客户端授权不足;浏览器表单也可能缺少 CSRF |
| 404 | 路由、资源或租户内对象不可见 |
| 409 | 幂等内容、版本或业务状态冲突 |
| 422 | 不支持的业务值或语义约束,以对应端点实现为准 |
| 429 | 限流,按策略退避 |
| 5xx | 网关、业务服务或外部依赖失败 |
不同端点错误正文并不强制统一。保留状态码、可公开错误信息与请求 ID,不把内部堆栈或令牌直接展示给业务用户。