UNPKG

unleash-server

Version:

Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.

44 lines 1.53 kB
import NoAuthUser from '../types/no-auth-user.js'; import { ApiTokenType } from '../types/model.js'; import { DEFAULT_ENV } from '../util/index.js'; import ApiUser from '../types/api-user.js'; import * as permissions from '../types/permissions.js'; // eslint-disable-next-line function noneAuthentication(baseUriPath, app) { app.use(`${baseUriPath || ''}/api/admin/`, (req, _res, next) => { if (!req.user) { req.user = new NoAuthUser(); } next(); }); } export function noApiToken(baseUriPath, app) { app.use(`${baseUriPath}/api/frontend`, (req, _res, next) => { if (!req.headers.authorization && !req.user) { req.user = new ApiUser({ tokenName: 'unknown', permissions: [permissions.FRONTEND], projects: ['*'], environment: DEFAULT_ENV, type: ApiTokenType.FRONTEND, secret: 'unknown', }); } next(); }); app.use(`${baseUriPath}/api/client`, (req, _res, next) => { if (!req.headers.authorization && !req.user) { req.user = new ApiUser({ tokenName: 'unknown', permissions: [permissions.CLIENT], projects: ['*'], environment: DEFAULT_ENV, type: ApiTokenType.CLIENT, secret: 'unknown', }); } next(); }); } export default noneAuthentication; //# sourceMappingURL=no-authentication.js.map