File tree Expand file tree Collapse file tree 2 files changed +42
-11
lines changed Expand file tree Collapse file tree 2 files changed +42
-11
lines changed Original file line number Diff line number Diff line change @@ -69,14 +69,29 @@ if ($accessToken == '') {
69
69
70
70
```
71
71
// 解密登录用户数据
72
- $paramArr['code'] = '';
73
- $paramArr['rawData'] = '';
74
- $paramArr['signature'] = '';
75
- $paramArr['encryptedData'] = '';
76
- $paramArr['iv'] = '';
72
+ $paramArr['code'] = isset($_POST['code']) ? $_POST['code'] : '';
73
+ $paramArr['rawData'] = isset($_POST['rawData']) ? $_POST['rawData'] : '';
74
+ $paramArr['signature'] = isset($_POST['signature']) ? $_POST['signature'] : '';
75
+ $paramArr['encryptedData'] = isset($_POST['encryptedData']) ? $_POST['encryptedData'] : '';
76
+ $paramArr['iv'] = isset($_POST['iv']) ? $_POST['iv'] : '';
77
+ $paramArr['sessionKeyExpired'] = isset($_POST['sessionKeyExpired']) ? $_POST['sessionKeyExpired'] : '';
78
+
79
+ // sessionKeyExpired参数表示session_key是否过期(必须由前端判断),未过期则从缓存获取sessionKeyData
80
+ if ($paramArr['sessionKeyExpired'] != 1) {
81
+ $sessionKeyData = $redis->get('miniprogram_jscode2session_appid_' . $appId);
82
+ $sessionKeyDataArr = json_decode($sessionKeyData, true);
83
+ $paramArr['sessionKey'] = $sessionKeyDataArr['sessionKey'];
84
+ $paramArr['openId'] = $sessionKeyDataArr['openId'];
85
+ }
86
+
77
87
$res = $miniProgram->decryptData($paramArr);
78
88
79
89
if ($res['code'] == 100) {
90
+ // 将sessionKeyData写入缓存
91
+ $sessionKeyDataArr['sessionKey'] = $res['data']['sessionKey'];
92
+ $sessionKeyDataArr['openId'] = $res['data']['data']['openId'];
93
+ $redis->set('miniprogram_jscode2session_appid_' . $appId, json_encode($sessionKeyDataArr));
94
+
80
95
echo '解密成功';
81
96
} else {
82
97
echo $res['msg'];
Original file line number Diff line number Diff line change 44
44
}
45
45
46
46
// 解密登录用户数据
47
- $ paramArr ['code ' ] = '' ;
48
- $ paramArr ['rawData ' ] = '' ;
49
- $ paramArr ['signature ' ] = '' ;
50
- $ paramArr ['encryptedData ' ] = '' ;
51
- $ paramArr ['iv ' ] = '' ;
47
+ $ paramArr ['code ' ] = isset ($ _POST ['code ' ]) ? $ _POST ['code ' ] : '' ;
48
+ $ paramArr ['rawData ' ] = isset ($ _POST ['rawData ' ]) ? $ _POST ['rawData ' ] : '' ;
49
+ $ paramArr ['signature ' ] = isset ($ _POST ['signature ' ]) ? $ _POST ['signature ' ] : '' ;
50
+ $ paramArr ['encryptedData ' ] = isset ($ _POST ['encryptedData ' ]) ? $ _POST ['encryptedData ' ] : '' ;
51
+ $ paramArr ['iv ' ] = isset ($ _POST ['iv ' ]) ? $ _POST ['iv ' ] : '' ;
52
+ $ paramArr ['sessionKeyExpired ' ] = isset ($ _POST ['sessionKeyExpired ' ]) ? $ _POST ['sessionKeyExpired ' ] : '' ;
53
+
54
+ // sessionKeyExpired参数表示session_key是否过期(必须由前端判断),未过期则从缓存获取sessionKeyData
55
+ if ($ paramArr ['sessionKeyExpired ' ] != 1 ) {
56
+ $ sessionKeyData = $ redis ->get ('miniprogram_jscode2session_appid_ ' . $ appId );
57
+ $ sessionKeyDataArr = json_decode ($ sessionKeyData , true );
58
+ $ paramArr ['sessionKey ' ] = $ sessionKeyDataArr ['sessionKey ' ];
59
+ $ paramArr ['openId ' ] = $ sessionKeyDataArr ['openId ' ];
60
+ }
61
+
52
62
$ res = $ miniProgram ->decryptData ($ paramArr );
53
63
54
64
if ($ res ['code ' ] == 100 ) {
65
+ // 将sessionKeyData写入缓存
66
+ $ sessionKeyDataArr ['sessionKey ' ] = $ res ['data ' ]['sessionKey ' ];
67
+ $ sessionKeyDataArr ['openId ' ] = $ res ['data ' ]['data ' ]['openId ' ];
68
+ $ redis ->set ('miniprogram_jscode2session_appid_ ' . $ appId , json_encode ($ sessionKeyDataArr ));
69
+
55
70
echo '解密成功 ' ;
56
71
} else {
57
72
echo $ res ['msg ' ];
58
- }
73
+ }
74
+
You can’t perform that action at this time.
0 commit comments