R81 补充企微回包字段取证

这个提交包含在:
2026-05-04 18:10:55 +08:00
父节点 9dbac63744
当前提交 849fd35638
共修改 3 个文件,包含 90 行新增和 7 行删除
+20
查看文件
@@ -214,10 +214,26 @@ async function exchangeWecomCode(config, code) {
details: { wecom: "userinfo_exchange_failed", payload },
});
}
const payloadKeys = payload && typeof payload === "object" ? Object.keys(payload).sort() : [];
const hasStringValue = (value) => typeof value === "string" && value.trim().length > 0;
return {
externalUserId: typeof payload.UserId === "string" && payload.UserId.trim() ? payload.UserId.trim() : null,
externalOpenUserId: typeof payload.OpenId === "string" && payload.OpenId.trim() ? payload.OpenId.trim() : null,
deviceId: typeof payload.DeviceId === "string" ? payload.DeviceId : null,
diagnostics: {
errcode: Number(payload.errcode ?? 0),
errmsg: typeof payload.errmsg === "string" ? payload.errmsg : null,
payloadKeys,
fieldPresence: {
UserId: hasStringValue(payload.UserId),
userid: hasStringValue(payload.userid),
OpenId: hasStringValue(payload.OpenId),
openid: hasStringValue(payload.openid),
external_userid: hasStringValue(payload.external_userid),
user_ticket: hasStringValue(payload.user_ticket),
corpid: hasStringValue(payload.corpid),
},
},
};
}
@@ -370,6 +386,10 @@ async function wecomAuthRoutes(fastify) {
hasUserId: false,
hasOpenId: Boolean(profile.externalOpenUserId),
hasDeviceId: Boolean(profile.deviceId),
wecomErrCode: profile.diagnostics?.errcode ?? null,
wecomErrMsg: profile.diagnostics?.errmsg ?? null,
payloadKeys: profile.diagnostics?.payloadKeys ?? [],
fieldPresence: profile.diagnostics?.fieldPresence ?? {},
},
"wecom callback missing internal user id",
);