unleash-server
Version:
Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.
44 lines • 1.53 kB
JavaScript
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