requireInternalToken.js 603 B

12345678910111213141516171819
  1. import { safeEqual } from '../libs/auth.js';
  2. const getBearerToken = (authorization = '') => {
  3. const [scheme, token] = authorization.split(' ');
  4. return scheme?.toLowerCase() === 'bearer' ? token : '';
  5. };
  6. const requireInternalToken = (req, res, next) => {
  7. const expectedToken = process.env.PPAI_INTERNAL_API_TOKEN;
  8. const providedToken = req.get('x-internal-token') || getBearerToken(req.get('authorization'));
  9. if (expectedToken && safeEqual(providedToken, expectedToken)) {
  10. return next();
  11. }
  12. return res.unauthorized('Invalid internal token');
  13. };
  14. export default requireInternalToken;