docs: function bearerStrategy(accessToken, done) {
          return models.Accesstoken.findOne({token: accessToken})
              .then(function then(model) {
                  if (model) {
                      var token = model.toJSON();
                      if (token.expires > Date.now()) {
                          return models.User.findOne({id: token.user_id})
                              .then(function then(model) {
                                  if (!model) {
                                      return done(null, false);
                                  }
  
                                  if (!model.isActive()) {
                                      throw new common.errors.NoPermissionError({
                                          message: common.i18n.t('errors.models.user.accountSuspended')
                                      });
                                  }
  
                                  var user = model.toJSON(),
                                      info = {scope: '*'};
  
                                  return done(null, {id: user.id}, info);
                              })
                              .catch(function (err) {
                                  return done(err);
                              });
                      } else {
                          return done(null, false);
                      }
                  } else {
                      return done(null, false);
                  }
              });
      }