UNPKG

@bitblit/ratchet-epsilon-common

Version:

Tiny adapter to simplify building API gateway Lambda APIS

40 lines 1.64 kB
import { Logger } from '@bitblit/ratchet-common/logger/logger'; export class BuiltInAuthorizers { static async simpleNoAuthenticationLogAccess(authorizationContext, evt) { Logger.debug('Auth requested for %s : %j', evt.path, authorizationContext?.auth); return true; } static async simpleLoggedInAuth(authorizationContext, evt) { const rval = !!authorizationContext?.auth; Logger.silly('SimpleLoggedInAuth returning %s for %s', rval, evt.path); return rval; } static async simpleRoleRouteAuth(authorizationContext, event, route, requiredRoleOneOf = null, requiredRoleAllOf = null) { let rval = true; const token = authorizationContext?.auth; if (token) { if (requiredRoleOneOf) { requiredRoleOneOf.forEach((r) => { rval = rval || token.roles.indexOf(r) > -1; }); if (!rval) { Logger.warn('Request to %s failed to find at least one of %j', route.path, requiredRoleOneOf); } } if (rval && requiredRoleAllOf) { requiredRoleAllOf.forEach((r) => { rval = rval && token.roles.indexOf(r) > -1; }); if (!rval) { Logger.warn('Request to %s failed to find all of %j', route.path, requiredRoleAllOf); } } } else { Logger.warn('Cannot authenticate - no parsed auth found'); rval = false; } return rval; } } //# sourceMappingURL=built-in-authorizers.js.map