code: function readSession(intentObj, next) {
      let headers = intentObj.client().headers;
      let sessId;
      try {
        let cookies = cookie.parse(headers['cookie']);
        if (typeof cookies[opt.cookieName] === 'string') {
          let tmp = storeObj.verifySignature(cookies[opt.cookieName]);
          if (tmp) {
            sessId = tmp;
          }
        }
      } catch (e) {
      }
      if (!sessId) sessId = storeObj.readCustomSource(intentObj);
      // IF we don't have a session, we don't have what to read.
      if (!sessId) {
        sessId = storeObj.generateId();
        if (opt.authorization && !intentObj.authorization) {
          intentObj._setAuthorization(AUTHORIZATION_TYPE, sessId);
        }
        intentObj.session = new SessionData(sessId);
        intentObj.session.isNew(true);
        return next();
      }
      if (intentObj.session && intentObj.session.id === sessId) {
        return next();
      }
      // otherwise, we have to retrieve it.
      storeObj.readSession(sessId, (err, data, custom) => {
        // if we failed tor ead from store, empty session.
        if (err) {
          if (err.ns !== 'SESSION') {
            logger.warn('Failed to read session data for sid ' + sessId, err);
          }
          intentObj.session = new SessionData(sessId);
          intentObj.session.isNew(true);
        } else {
          // if there is no session data, we have a new session.
          if (typeof data !== 'object' || !data) {
            intentObj.session = new SessionData(sessId);
            intentObj.session.isNew(true);
          } else {
            intentObj.session = new SessionData(sessId, data);
            intentObj.session.isNew(false);
          }
        }
        if (custom && intentObj.session._setFields) {
          intentObj.session._setFields(custom);
        }
        if (opt.authorization && !intentObj.authorization) {
          intentObj._setAuthorization(AUTHORIZATION_TYPE, sessId);
        }
        next();
      }, false);
    }
docs: /*
  Read the session from the store.