|
@@ -70,21 +70,27 @@ class DingTalkController extends BaseController
|
|
|
$crypt = new DingTalkCrypto($token, $aesKey);
|
|
|
|
|
|
// 1. 获取钉钉传来的参数
|
|
|
+ $msgSignature = $request->get('msg_signature'); // 注意
|
|
|
$signature = $request->get('signature');
|
|
|
$timestamp = $request->get('timestamp');
|
|
|
$nonce = $request->get('nonce');
|
|
|
$encrypt = $request->input('encrypt');
|
|
|
|
|
|
// 2. 解密
|
|
|
- $event = $crypt->decryptMsg($signature, $timestamp, $nonce, $encrypt);
|
|
|
+ $event = $crypt->decryptMsg($msgSignature, $timestamp, $nonce, $encrypt);
|
|
|
if ($event === false) {
|
|
|
- Log::error('钉钉解密失败', [
|
|
|
- 'signature' => $signature,
|
|
|
- 'timestamp' => $timestamp,
|
|
|
- 'nonce' => $nonce,
|
|
|
- 'encrypt' => $encrypt
|
|
|
+ Log::error('钉钉解密失败', compact('msgSignature','timestamp','nonce','encrypt'));
|
|
|
+ return response()->json([
|
|
|
+ 'errcode' => 40001,
|
|
|
+ 'errmsg' => 'decrypt fail'
|
|
|
]);
|
|
|
- return response()->json(['errcode' => 1, 'errmsg' => '解密失败']);
|
|
|
+// Log::error('钉钉解密失败', [
|
|
|
+// 'msg_signature' => $msgSignature,
|
|
|
+// 'timestamp' => $timestamp,
|
|
|
+// 'nonce' => $nonce,
|
|
|
+// 'encrypt' => $encrypt
|
|
|
+// ]);
|
|
|
+// return response()->json(['errcode' => 1, 'errmsg' => '解密失败']);
|
|
|
}
|
|
|
|
|
|
Log::info('钉钉解密后的事件数据', $event);
|