cnpmcore
Version:
Private NPM Registry for Enterprise
51 lines • 3.44 kB
JavaScript
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);
};
import { randomUUID } from 'node:crypto';
import { AccessLevel, Inject, SingletonProto } from 'egg';
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 = 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;
}
};
__decorate([
Inject(),
__metadata("design:type", Function)
], AuthAdapter.prototype, "redis", void 0);
__decorate([
Inject(),
__metadata("design:type", Object)
], AuthAdapter.prototype, "user", void 0);
AuthAdapter = __decorate([
SingletonProto({
accessLevel: AccessLevel.PUBLIC,
name: 'authAdapter',
})
], AuthAdapter);
export { AuthAdapter };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXV0aEFkYXB0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9hcHAvaW5mcmEvQXV0aEFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV6QyxPQUFPLEVBQWdCLFdBQVcsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBS3hFLE1BQU0sT0FBTyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7QUFPMUI7O0dBRUc7QUFLSSxJQUFNLFdBQVcsR0FBakIsTUFBTSxXQUFXO0lBT3RCLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBWTtRQUMzQixNQUFNLFNBQVMsR0FBRyxVQUFVLEVBQUUsQ0FBQztRQUMvQixNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFL0MsZUFBZTtRQUNmLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFDbEQsT0FBTztZQUNMLFFBQVEsRUFBRSxHQUFHLFFBQVEsK0JBQStCLFNBQVMsRUFBRTtZQUMvRCxPQUFPLEVBQUUsR0FBRyxRQUFRLDRCQUE0QixTQUFTLEVBQUU7U0FDNUQsQ0FBQztJQUNKLENBQUM7SUFFRCw2QkFBNkI7SUFDN0IsS0FBSyxDQUFDLGlCQUFpQjtRQUNyQixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNkLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNsQyxPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBZ0IsQ0FBQztRQUN2QyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0YsQ0FBQTtBQXpCVTtJQURSLE1BQU0sRUFBRTs7MENBQ2E7QUFHYjtJQURSLE1BQU0sRUFBRTs7eUNBQ2U7QUFMYixXQUFXO0lBSnZCLGNBQWMsQ0FBQztRQUNkLFdBQVcsRUFBRSxXQUFXLENBQUMsTUFBTTtRQUMvQixJQUFJLEVBQUUsYUFBYTtLQUNwQixDQUFDO0dBQ1csV0FBVyxDQTJCdkIifQ==