all files / express-stormpath/lib/middleware/ revoke-tokens.js

84.62% Statements 11/13
50% Branches 2/4
100% Functions 1/1
84.62% Lines 11/13
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31                                       
'use strict';
 
var Cookies = require('cookies');
var helpers = require('../helpers');
 
/**
 * Revokes any tokens currently attached to the request.
 *
 * @param {Object} req - The http request.
 * @param {Object} res - The http response.
 */
module.exports = function (req, res) {
  var cookies = new Cookies(req, res);
 
  var client = req.app.get('stormpathClient');
  var config = req.app.get('stormpathConfig');
 
  var jwtSigningKey = config.client.apiKey.secret;
 
  var accessTokenJwt = cookies.get(config.web.accessTokenCookie.name);
  var refreshTokenJwt = cookies.get(config.web.refreshTokenCookie.name);
 
  Iif (accessTokenJwt) {
    helpers.revokeToken.revokeAccessToken(client, accessTokenJwt, jwtSigningKey);
  }
 
  Iif (refreshTokenJwt) {
    helpers.revokeToken.revokeRefreshToken(client, refreshTokenJwt, jwtSigningKey);
  }
};