Merge branch 'hotfix/21.56.9' into master
[gitter.git] / server / web / middlewares / auth-api.js
blob99f6f95711a8a60e101a5c793b3f7acc2b2c5311
1 'use strict';
3 var passport = require('passport');
4 var rateLimiter = require('./rate-limiter');
5 var logoutDestroyTokens = require('./logout-destroy-tokens');
6 var userScopes = require('gitter-web-identity/lib/user-scopes');
8 function ensureLoggedIn(req, res, next) {
9   /* Bearer strategy must return a user. If the user is { _anonymous: true }, it should be null */
10   if (req.user && req.user._anonymous) {
11     req.user = null;
12   }
14   if (req.user && userScopes.isMissingTokens(req.user)) {
15     return logoutDestroyTokens(req, res, next);
16   }
18   next();
21 module.exports = [
22   passport.authenticate('bearer', { session: false, failWithError: true }),
23   ensureLoggedIn,
24   rateLimiter