UNPKG

@citrineos/util

Version:

The OCPP util module which supplies helpful utilities like cache and queue connectors, etc.

83 lines 3.46 kB
"use strict"; /* * // Copyright Contributors to the CitrineOS Project * // * // SPDX-License-Identifier: Apache 2.0 * */ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.LocalBypassAuthProvider = void 0; const tslog_1 = require("tslog"); const base_1 = require("@citrineos/base"); /** * A local bypass authentication provider that doesn't perform actual authentication * Only for development and testing environments */ class LocalBypassAuthProvider { /** * Creates a new local bypass authentication provider * * @param logger Optional logger instance */ constructor(logger) { this._logger = logger ? logger.getSubLogger({ name: this.constructor.name }) : new tslog_1.Logger({ name: this.constructor.name }); this._logger.warn('⚠️ WARNING: Using LocalBypassAuthProvider - This should only be used in development environments'); } extractToken(_request) { return __awaiter(this, void 0, void 0, function* () { // Always return a dummy token for local bypass this._logger.debug('LocalBypassAuthProvider.authenticateToken: Returning dummy token'); return 'local-bypass-token'; }); } /** * Always returns a successful authentication with admin user * * @param token Ignored, can be any string * @returns Authentication result with admin user info */ authenticateToken(_token) { return __awaiter(this, void 0, void 0, function* () { this._logger.debug('LocalBypassAuthProvider.authenticateToken: Bypassing authentication, using dummy user'); // Create a default admin user const user = { id: 'local-admin', name: 'Local Admin', email: 'admin@local', roles: ['admin', 'user'], groups: ['administrators'], tenantId: '1', metadata: { isLocalBypass: true, }, }; return base_1.ApiAuthenticationResult.success(user); }); } /** * Always returns a successful authorization * * @param user Ignored, can be any user * @param request Ignored, can be any request * @returns Always successful authorization */ authorizeUser(user, request) { return __awaiter(this, void 0, void 0, function* () { this._logger.debug(`LocalBypassAuthProvider.authorizeUser: Bypassing authorization for ${request.method} ${request.url}`); return base_1.ApiAuthorizationResult.success(); }); } } exports.LocalBypassAuthProvider = LocalBypassAuthProvider; //# sourceMappingURL=LocalByPassAuthProvider.js.map