UNPKG

cnpmcore

Version:
55 lines 3.62 kB
"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.AuthAdapter = void 0; const tegg_1 = require("@eggjs/tegg"); const ioredis_1 = require("ioredis"); const crypto_1 = require("crypto"); const ONE_DAY = 3600 * 24; /** * Use sort set to keep queue in order and keep same value only insert once */ let AuthAdapter = class AuthAdapter { async getAuthUrl(ctx) { const sessionId = (0, crypto_1.randomUUID)(); await this.redis.setex(sessionId, ONE_DAY, ''); // INTEGRATE.md const registry = ctx.app.config.cnpmcore.registry; return { loginUrl: `${registry}/-/v1/login/request/session/${sessionId}`, doneUrl: `${registry}/-/v1/login/done/session/${sessionId}`, }; } // should implements in infra async ensureCurrentUser() { if (this.user) { const { name, email } = this.user; return { name, email }; } return null; } }; exports.AuthAdapter = AuthAdapter; __decorate([ (0, tegg_1.Inject)(), __metadata("design:type", ioredis_1.Redis) ], AuthAdapter.prototype, "redis", void 0); __decorate([ (0, tegg_1.Inject)(), __metadata("design:type", Object) ], AuthAdapter.prototype, "user", void 0); exports.AuthAdapter = AuthAdapter = __decorate([ (0, tegg_1.SingletonProto)({ accessLevel: tegg_1.AccessLevel.PUBLIC, name: 'authAdapter', }) ], AuthAdapter); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXV0aEFkYXB0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9hcHAvaW5mcmEvQXV0aEFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsc0NBS3FCO0FBQ3JCLHFDQUFnQztBQUNoQyxtQ0FBb0M7QUFHcEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztBQU8xQjs7R0FFRztBQUtJLElBQU0sV0FBVyxHQUFqQixNQUFNLFdBQVc7SUFPdEIsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFlO1FBQzlCLE1BQU0sU0FBUyxHQUFHLElBQUEsbUJBQVUsR0FBRSxDQUFDO1FBQy9CLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUUvQyxlQUFlO1FBQ2YsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztRQUNsRCxPQUFPO1lBQ0wsUUFBUSxFQUFFLEdBQUcsUUFBUSwrQkFBK0IsU0FBUyxFQUFFO1lBQy9ELE9BQU8sRUFBRSxHQUFHLFFBQVEsNEJBQTRCLFNBQVMsRUFBRTtTQUM1RCxDQUFDO0lBQ0osQ0FBQztJQUVELDZCQUE2QjtJQUM3QixLQUFLLENBQUMsaUJBQWlCO1FBQ3JCLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNiLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNsQyxPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBZ0IsQ0FBQztTQUN0QztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUVGLENBQUE7QUE1Qlksa0NBQVc7QUFFYjtJQURSLElBQUEsYUFBTSxHQUFFOzhCQUNPLGVBQUs7MENBQUM7QUFHYjtJQURSLElBQUEsYUFBTSxHQUFFOzt5Q0FDZTtzQkFMYixXQUFXO0lBSnZCLElBQUEscUJBQWMsRUFBQztRQUNkLFdBQVcsRUFBRSxrQkFBVyxDQUFDLE1BQU07UUFDL0IsSUFBSSxFQUFFLGFBQWE7S0FDcEIsQ0FBQztHQUNXLFdBQVcsQ0E0QnZCIn0=