Skip to content

Commit 544a6c7

Browse files
committed
Add error handling for token decoding in fitbit module
1 parent 7e08d71 commit 544a6c7

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

modules/fitbit.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,13 @@ module.exports = {
2929
var credentials = JSON.parse(krypt.decrypt(JSON.parse(user.credentials), config.secret));
3030

3131
if (credentials.token !== undefined && credentials.token !== null) {
32-
var decodedToken = JWT.decode(credentials.token, null, true);
32+
var decodedToken;
33+
try {
34+
decodedToken = JWT.decode(credentials.token, null, true);
35+
} catch(err) {
36+
logger.warn('error decoding token', err);
37+
return callback(err);
38+
}
3339

3440
// Check if the token is still good
3541
if (Date.now() / 1000 < decodedToken.exp) {
@@ -153,6 +159,8 @@ module.exports = {
153159
},
154160
json: true
155161
}, function(err, response, data) {
162+
response = response || {}
163+
156164
if (err) {
157165
logger.warn(ERR_BAD_REQUEST, err);
158166
return callback({status: response.statusCode, message: ERR_BAD_REQUEST}, null);

0 commit comments

Comments
 (0)