|
1 | 1 | 'use strict';
|
2 | 2 |
|
3 | 3 | var urllib = require('urllib');
|
4 |
| -var wrapper = require('./util').wrapper; |
5 | 4 | var extend = require('util')._extend;
|
6 | 5 | var querystring = require('querystring');
|
| 6 | + |
| 7 | +var wrapper = require('./util').wrapper; |
7 | 8 | var WxBizDataCrypt = require('./wx_biz_data_crypt');
|
8 | 9 |
|
9 | 10 | var AccessToken = function (data) {
|
@@ -326,16 +327,10 @@ OAuth.prototype._getUser = function (options, accessToken, callback) {
|
326 | 327 | * @param {Object} options 需要解密的对象
|
327 | 328 | * @param {String} options.encryptedData 从小程序中获得的加密过的字符串
|
328 | 329 | * @param {String} options.iv 从小程序中获得的加密算法初始向量
|
329 |
| - * @param {Function} callback 回调函数 |
330 | 330 | */
|
331 |
| -OAuth.prototype.decryptMiniProgramUser = function (options, callback) { |
332 |
| - try { |
333 |
| - var decrypter = new WxBizDataCrypt(this.appid, options.sessionKey); |
334 |
| - var user = decrypter.decryptData(options.encryptedData, options.iv); |
335 |
| - }catch (e) { |
336 |
| - return callback(new Error('error occurred when trying to decrypt mini-program user data')); |
337 |
| - } |
338 |
| - return callback(null, user); |
| 331 | +OAuth.prototype.decryptMiniProgramUser = function (options) { |
| 332 | + var decrypter = new WxBizDataCrypt(this.appid, options.sessionKey); |
| 333 | + return decrypter.decryptData(options.encryptedData, options.iv); |
339 | 334 | };
|
340 | 335 |
|
341 | 336 | /**
|
@@ -480,11 +475,18 @@ OAuth.prototype.getUserByCode = function (options, callback) {
|
480 | 475 | return callback(err);
|
481 | 476 | }
|
482 | 477 | var sessionKey = result.data.session_key;
|
483 |
| - that.decryptMiniProgramUser({ |
484 |
| - sessionKey, |
485 |
| - encryptedData: options.encryptedData, |
486 |
| - iv: options.iv, |
487 |
| - }, callback); |
| 478 | + var user; |
| 479 | + try { |
| 480 | + user = that.decryptMiniProgramUser({ |
| 481 | + sessionKey, |
| 482 | + encryptedData: options.encryptedData, |
| 483 | + iv: options.iv, |
| 484 | + }); |
| 485 | + } catch (ex) { |
| 486 | + return callback(ex); |
| 487 | + } |
| 488 | + |
| 489 | + callback(null, user); |
488 | 490 | });
|
489 | 491 | } else {
|
490 | 492 | this.getAccessToken(code, function (err, result) {
|
|
0 commit comments