R81 补充企微回包字段取证
这个提交包含在:
@@ -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",
|
||||
);
|
||||
|
||||
在新工单中引用
屏蔽一个用户