cnpmcore
Version:
Private NPM Registry for Enterprise
13 lines • 1.41 kB
JavaScript
import { UserRoleManager } from "../UserRoleManager.js";
export async function AlwaysAuth(ctx, next) {
if (ctx.app.config.cnpmcore.alwaysAuth) {
// ignore login request: `PUT /-/user/org.couchdb.user::username`
const isLoginRequest = ctx.method === 'PUT' && ctx.path.startsWith('/-/user/org.couchdb.user:');
if (!isLoginRequest) {
const userRoleManager = await ctx.getEggObject(UserRoleManager);
await userRoleManager.requiredAuthorizedUser(ctx, 'read');
}
}
await next();
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWx3YXlzQXV0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2FwcC9wb3J0L21pZGRsZXdhcmUvQWx3YXlzQXV0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFeEQsTUFBTSxDQUFDLEtBQUssVUFBVSxVQUFVLENBQUMsR0FBWSxFQUFFLElBQVU7SUFDdkQsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDdkMsaUVBQWlFO1FBQ2pFLE1BQU0sY0FBYyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEtBQUssS0FBSyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFDaEcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sZUFBZSxHQUFHLE1BQU0sR0FBRyxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUNoRSxNQUFNLGVBQWUsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDNUQsQ0FBQztJQUNILENBQUM7SUFDRCxNQUFNLElBQUksRUFBRSxDQUFDO0FBQ2YsQ0FBQyJ9