docs: 研究整理——同步认证迁至 ca 后的过时描述、补 liblogc 与测试清单
- ARCHITECTURE/MODULES:ca 版本 v1.1.0、共享基础库补 liblogc、tests 描述与实际 9 个文件对齐、docs 篇数 57 - core README/报告/HttpTask 注释:管理员鉴权由"gateway 唯一权威"更正为 ca(v0.9.0 认证迁址后描述滞后) - ca/gateway README 架构图 static:9200 → fsys:9200、db:8005 → db2:8005 - 主 README 与 blackbox README 补 test_core_confs.py,test_gateway 文档更新为 ca:8443 契约
This commit is contained in:
1 parent
7467e7bd42
commit
da8ebbf9e6
10 files changed
+27
-23
No files matched your search
@@ -152,10 +152,10 @@ namespace process_http_server {
|
||||
return "";
|
||||
}
|
||||
|
||||
/* 管理员验证:调用 gateway 的 /admin/verify 验签端点,验证请求携带的 Token 是否为有效管理员。
|
||||
* gateway 是 Token 签发与验证的唯一权威(RSA 验签 + is_admin + 过期检查)。
|
||||
* gateway 地址由环境变量 GATEWAY_HOST/GATEWAY_PORT 配置,默认 127.0.0.1:8443。
|
||||
* gateway 不可用或响应异常一律视为未授权(fail-closed)。 */
|
||||
/* 管理员验证:调用 ca 的 /admin/verify 验签端点,验证请求携带的 Token 是否为有效管理员。
|
||||
* ca 是 Token 签发与验证的唯一权威(RSA 验签 + is_admin + 过期检查,v0.9.0 起由 gateway 迁至 ca)。
|
||||
* ca 地址由环境变量 GATEWAY_HOST/GATEWAY_PORT 配置(沿用旧名),默认 127.0.0.1:8443。
|
||||
* ca 不可用或响应异常一律视为未授权(fail-closed)。 */
|
||||
static bool verify_admin_token(const http::request<http::string_body>& req) {
|
||||
try {
|
||||
/* 提取 Token:Authorization 头优先,回退 Cookie */
|
||||
@@ -173,7 +173,7 @@ namespace process_http_server {
|
||||
}
|
||||
if (raw.empty() || raw.substr(0, 7) != "Bearer ") return false;
|
||||
|
||||
/* gateway 地址 */
|
||||
/* ca 地址 */
|
||||
std::string host = "127.0.0.1";
|
||||
int port = 8443;
|
||||
if (const char* h = std::getenv("GATEWAY_HOST")) host = h;
|
||||
@@ -276,7 +276,7 @@ namespace process_http_server {
|
||||
res.version(req.version());
|
||||
res.set(http::field::content_type, "application/json");
|
||||
|
||||
/* 管理员认证:调用 gateway 验签,未授权直接拒绝 */
|
||||
/* 管理员认证:调用 ca 验签,未授权直接拒绝 */
|
||||
if (!verify_admin_token(req)) {
|
||||
res.result(http::status::unauthorized);
|
||||
res.body() = buildJsonResponse(false, "Unauthorized: admin token required");
|
||||
@@ -311,7 +311,7 @@ namespace process_http_server {
|
||||
res.version(req.version());
|
||||
res.set(http::field::content_type, "application/json");
|
||||
|
||||
/* 管理员认证:调用 gateway 验签,未授权直接拒绝 */
|
||||
/* 管理员认证:调用 ca 验签,未授权直接拒绝 */
|
||||
if (!verify_admin_token(req)) {
|
||||
res.result(http::status::unauthorized);
|
||||
res.body() = buildJsonResponse(false, "Unauthorized: admin token required");
|
||||
@@ -364,7 +364,7 @@ namespace process_http_server {
|
||||
res.version(req.version());
|
||||
res.set(http::field::content_type, "application/json");
|
||||
|
||||
/* 管理员认证:调用 gateway 验签,未授权直接拒绝 */
|
||||
/* 管理员认证:调用 ca 验签,未授权直接拒绝 */
|
||||
if (!verify_admin_token(req)) {
|
||||
res.result(http::status::unauthorized);
|
||||
res.body() = buildJsonResponse(false, "Unauthorized: admin token required");
|
||||
|
||||
Reference in new issue
Block a user