vona-module-a-user 5.1.6 → 5.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -24,7 +24,10 @@ export declare class BeanPassport extends BeanBase {
24
24
  signinMock(name?: keyof IUserNameRecord, options?: ISigninOptions): Promise<IJwtToken>;
25
25
  signinWithAnonymous(): Promise<void>;
26
26
  kickOut(user?: IUser): Promise<void>;
27
- checkAuthToken(accessToken?: string, clientName?: keyof IJwtClientRecord, options?: IJwtVerifyOptions): Promise<IPayloadData | undefined>;
27
+ checkAuthToken(accessToken?: string, clientName?: keyof IJwtClientRecord, options?: IJwtVerifyOptions): Promise<{
28
+ payloadData: IPayloadData;
29
+ passport: IPassport;
30
+ } | undefined>;
28
31
  refreshAuthToken(refreshToken: string): Promise<IJwtToken>;
29
32
  createTempAuthToken(options?: IJwtSignOptions): Promise<string>;
30
33
  createOauthAuthToken(options?: IJwtSignOptions): Promise<string>;
@@ -35,5 +38,6 @@ export declare class BeanPassport extends BeanBase {
35
38
  checkUserName(name: keyof IUserNameRecord | (keyof IUserNameRecord)[]): boolean;
36
39
  private _passportSerialize;
37
40
  private _handlePayloadData;
41
+ private _combineAuthTokenOptions;
38
42
  }
39
43
  //# sourceMappingURL=bean.passport.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bean.passport.d.ts","sourceRoot":"","sources":["../../src/bean/bean.passport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,SAAS,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGvH,OAAO,EAAE,QAAQ,EAA6B,MAAM,MAAM,CAAC;AAG3D,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE7E,OAAO,KAAK,EAAE,SAAS,EAAoB,MAAM,sBAAsB,CAAC;AACxE,OAAO,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAI/D,qBACa,YAAa,SAAQ,QAAQ;IACxC,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,YAAY,CAAa;IAEjC,OAAO,KAAK,gBAAgB,GAM3B;IAED,OAAO,KAAK,eAAe,GAM1B;IAED,IAAW,eAAe,IAAI,OAAO,CAGpC;IAED,IAAW,WAAW,IAAI,OAAO,CAGhC;IAEY,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAK3B,UAAU,CAAC,QAAQ,EAAE,SAAS,GAAG,SAAS;IAIvD,IAAW,OAAO,IAAI,SAAS,GAAG,SAAS,CAE1C;IAED,IAAW,WAAW,IAAI,KAAK,GAAG,SAAS,CAE1C;IAED,IAAW,WAAW,IAAI,KAAK,GAAG,SAAS,CAE1C;IAED,IAAW,YAAY,IAAI,KAAK,EAAE,GAAG,SAAS,CAE7C;IAEY,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC;IAezE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAaxB,YAAY,CAAC,CAAC,SAAS,MAAM,aAAa,EACrD,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,MAAM,EAAE,CAAC,EACT,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,SAAS,CAAC;IAUR,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,eAAe,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC;IAItF,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAMpC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK;IAKpB,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,gBAAgB,EAAE,OAAO,CAAC,EAAE,iBAAiB;IAoBrG,gBAAgB,CAAC,YAAY,EAAE,MAAM;IAYrC,mBAAmB,CAAC,OAAO,CAAC,EAAE,eAAe;IAU7C,oBAAoB,CAAC,OAAO,CAAC,EAAE,eAAe;IAU9C,eAAe,CAAC,OAAO,CAAC,EAAE,eAAe;IAUzC,iCAAiC,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe;IAQhF,4BAA4B,CAAC,IAAI,EAAE,MAAM;IAQ/C,aAAa,CAAC,IAAI,EAAE,MAAM,eAAe,GAAG,CAAC,MAAM,eAAe,CAAC,EAAE;IAWrE,aAAa,CAAC,IAAI,EAAE,MAAM,eAAe,GAAG,CAAC,MAAM,eAAe,CAAC,EAAE;YAS9D,kBAAkB;YAMlB,kBAAkB;CAkBjC"}
1
+ {"version":3,"file":"bean.passport.d.ts","sourceRoot":"","sources":["../../src/bean/bean.passport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,SAAS,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGvH,OAAO,EAAE,QAAQ,EAA6B,MAAM,MAAM,CAAC;AAG3D,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAqB,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEhG,OAAO,KAAK,EAAE,SAAS,EAAoB,MAAM,sBAAsB,CAAC;AACxE,OAAO,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAI/D,qBACa,YAAa,SAAQ,QAAQ;IACxC,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,YAAY,CAAa;IAEjC,OAAO,KAAK,gBAAgB,GAM3B;IAED,OAAO,KAAK,eAAe,GAM1B;IAED,IAAW,eAAe,IAAI,OAAO,CAGpC;IAED,IAAW,WAAW,IAAI,OAAO,CAGhC;IAEY,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAK3B,UAAU,CAAC,QAAQ,EAAE,SAAS,GAAG,SAAS;IAIvD,IAAW,OAAO,IAAI,SAAS,GAAG,SAAS,CAE1C;IAED,IAAW,WAAW,IAAI,KAAK,GAAG,SAAS,CAE1C;IAED,IAAW,WAAW,IAAI,KAAK,GAAG,SAAS,CAE1C;IAED,IAAW,YAAY,IAAI,KAAK,EAAE,GAAG,SAAS,CAE7C;IAEY,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC;IAiBzE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAaxB,YAAY,CAAC,CAAC,SAAS,MAAM,aAAa,EACrD,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,MAAM,EAAE,CAAC,EACT,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,SAAS,CAAC;IAUR,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,eAAe,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC;IAItF,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAMpC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK;IAKpB,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,gBAAgB,EAAE,OAAO,CAAC,EAAE,iBAAiB;;;;IA2BrG,gBAAgB,CAAC,YAAY,EAAE,MAAM;IAiBrC,mBAAmB,CAAC,OAAO,CAAC,EAAE,eAAe;IAU7C,oBAAoB,CAAC,OAAO,CAAC,EAAE,eAAe;IAU9C,eAAe,CAAC,OAAO,CAAC,EAAE,eAAe;IAUzC,iCAAiC,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe;IAQhF,4BAA4B,CAAC,IAAI,EAAE,MAAM;IAS/C,aAAa,CAAC,IAAI,EAAE,MAAM,eAAe,GAAG,CAAC,MAAM,eAAe,CAAC,EAAE;IAWrE,aAAa,CAAC,IAAI,EAAE,MAAM,eAAe,GAAG,CAAC,MAAM,eAAe,CAAC,EAAE;YAS9D,kBAAkB;YAMlB,kBAAkB;YAwBlB,wBAAwB;CAkBvC"}
@@ -1,26 +1,4 @@
1
1
  import type { VonaApplication } from 'vona';
2
- import type { IServiceRecord } from 'vona-module-a-bean';
3
- import type { TypeAuthToken } from '../types/auth.ts';
4
- export declare function config(_app: VonaApplication): {
5
- user: {
6
- autoActivate: boolean;
7
- };
8
- authToken: {
9
- refreshAuthToken: TypeAuthToken;
10
- signin: TypeAuthToken;
11
- };
12
- adapter: {
13
- authToken: keyof IServiceRecord;
14
- passport: keyof IServiceRecord;
15
- user: keyof IServiceRecord;
16
- role: keyof IServiceRecord;
17
- };
18
- payloadData: {
19
- fields: {
20
- authId: string;
21
- userId: string;
22
- token: string;
23
- };
24
- };
25
- };
2
+ import type { ConfigUser } from '../types/auth.ts';
3
+ export declare function config(_app: VonaApplication): ConfigUser;
26
4
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,wBAAgB,MAAM,CAAC,IAAI,EAAE,eAAe;;;;;0BAMP,aAAa;gBACvB,aAAa;;;mBAGM,MAAM,cAAc;kBACnB,MAAM,cAAc;cAC5B,MAAM,cAAc;cACpB,MAAM,cAAc;;;;;;;;;EAU1D"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAE5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,wBAAgB,MAAM,CAAC,IAAI,EAAE,eAAe,cA4B3C"}
package/dist/index.js CHANGED
@@ -2,7 +2,7 @@ import { Global, BeanInfo, BeanBase, beanFullNameFromOnionName, createHash, uuid
2
2
  import { __decorate } from 'tslib';
3
3
  import { catchError, isNil } from '@cabloy/utils';
4
4
  import { Guard, Aspect } from 'vona-module-a-aspect';
5
- import { checkErrorJwtExpired } from 'vona-module-a-jwt';
5
+ import { checkErrorJwtExpiredAndThrow } from 'vona-module-a-jwt';
6
6
  import { Bean, Service, Scope } from 'vona-module-a-bean';
7
7
  import { CacheRedis, BeanCacheRedisBase } from 'vona-module-a-cache';
8
8
  import { Event, BeanEventBase } from 'vona-module-a-event';
@@ -19,7 +19,7 @@ let GuardPassport = class GuardPassport extends BeanBase {
19
19
  });
20
20
  if (err && !options.public) throw err;
21
21
  // throw error only when ErrorMessageJwtExpired
22
- checkErrorJwtExpired(err, this.ctx.headers);
22
+ checkErrorJwtExpiredAndThrow(err, this.ctx.headers);
23
23
  }
24
24
  }
25
25
  // check current
@@ -158,12 +158,12 @@ let BeanPassport = class BeanPassport extends BeanBase {
158
158
  // event
159
159
  await this.scope.event.signin.emit(passport);
160
160
  // serialize: payloadData for client certificate
161
- if (!options?.authToken) {
162
- options = Object.assign({}, options, {
163
- authToken: this.scope.config.authToken.signin
164
- });
165
- }
166
- const payloadData = await this._passportSerialize(passport, options);
161
+ const authTokenOptions = await this._combineAuthTokenOptions(passport.auth.authProviderId, options?.authToken, {
162
+ stateless: this.scope.config.authToken.stateless,
163
+ strategy: this.scope.config.authToken.strategy.signin,
164
+ ttl: this.scope.config.authToken.ttl
165
+ });
166
+ const payloadData = await this._passportSerialize(passport, authTokenOptions);
167
167
  // jwt token
168
168
  return await this.bean.jwt.create(payloadData, {
169
169
  dev: passport.auth?.id.toString() === '-1'
@@ -223,22 +223,38 @@ let BeanPassport = class BeanPassport extends BeanBase {
223
223
  throw err;
224
224
  }
225
225
  if (!payloadData) return; // no jwt token
226
- const verified = await this.authTokenAdapter.verify(payloadData);
227
- if (!verified) return this.app.throw(401);
228
226
  const passport = await this.passportAdapter.deserialize(payloadData);
229
227
  if (!passport) return this.app.throw(401);
228
+ // verified
229
+ const authTokenOptions = await this._combineAuthTokenOptions(passport.auth.authProviderId, undefined, {
230
+ stateless: this.scope.config.authToken.stateless
231
+ });
232
+ if (!authTokenOptions.stateless) {
233
+ const verified = await this.authTokenAdapter.verify(payloadData);
234
+ if (!verified) return this.app.throw(401);
235
+ }
236
+ // setCurrent
230
237
  await this.setCurrent(passport);
231
- return payloadData;
238
+ return {
239
+ payloadData,
240
+ passport
241
+ };
232
242
  }
233
243
  async refreshAuthToken(refreshToken) {
234
244
  // checkAuthToken by code
235
- let payloadData = await this.checkAuthToken(refreshToken, 'refresh');
236
- if (!payloadData) return this.app.throw(401);
245
+ let checkRes = await this.checkAuthToken(refreshToken, 'refresh');
246
+ if (!checkRes) return this.app.throw(401);
247
+ let {
248
+ payloadData,
249
+ passport
250
+ } = checkRes;
237
251
  // refreshAuthToken
238
- const configRefreshAuthToken = this.scope.config.authToken.refreshAuthToken;
239
- payloadData = await this._handlePayloadData(payloadData, {
240
- authToken: configRefreshAuthToken
252
+ const authTokenOptions = await this._combineAuthTokenOptions(passport.auth.authProviderId, undefined, {
253
+ stateless: this.scope.config.authToken.stateless,
254
+ strategy: this.scope.config.authToken.strategy.refreshAuthToken,
255
+ ttl: this.scope.config.authToken.ttl
241
256
  });
257
+ payloadData = await this._handlePayloadData(payloadData, authTokenOptions);
242
258
  // jwt token
243
259
  return await this.bean.jwt.create(payloadData);
244
260
  }
@@ -249,7 +265,7 @@ let BeanPassport = class BeanPassport extends BeanBase {
249
265
  if (!passport) return this.app.throw(401);
250
266
  // payloadData
251
267
  const payloadData = await this._passportSerialize(passport, {
252
- authToken: 'nochange'
268
+ strategy: 'reuse'
253
269
  });
254
270
  // jwt token
255
271
  return await this.bean.jwt.createTempAuthToken(payloadData, options);
@@ -260,7 +276,7 @@ let BeanPassport = class BeanPassport extends BeanBase {
260
276
  if (!passport) return this.app.throw(401);
261
277
  // payloadData
262
278
  const payloadData = await this._passportSerialize(passport, {
263
- authToken: 'nochange'
279
+ strategy: 'reuse'
264
280
  });
265
281
  // jwt token
266
282
  return await this.bean.jwt.createOauthAuthToken(payloadData, options);
@@ -271,7 +287,7 @@ let BeanPassport = class BeanPassport extends BeanBase {
271
287
  if (!passport) return this.app.throw(401);
272
288
  // payloadData
273
289
  const payloadData = await this._passportSerialize(passport, {
274
- authToken: 'nochange'
290
+ strategy: 'reuse'
275
291
  });
276
292
  // code
277
293
  return await this.bean.jwt.createOauthCode(payloadData, options);
@@ -285,8 +301,11 @@ let BeanPassport = class BeanPassport extends BeanBase {
285
301
  }
286
302
  async createAuthTokenFromOauthCode(code) {
287
303
  // checkAuthToken by code
288
- const payloadData = await this.checkAuthToken(code, 'code');
289
- if (!payloadData) return this.app.throw(401);
304
+ const checkRes = await this.checkAuthToken(code, 'code');
305
+ if (!checkRes) return this.app.throw(401);
306
+ const {
307
+ payloadData
308
+ } = checkRes;
290
309
  // jwt token
291
310
  return await this.bean.jwt.create(payloadData);
292
311
  }
@@ -308,27 +327,46 @@ let BeanPassport = class BeanPassport extends BeanBase {
308
327
  if (!optionsName.includes(userName)) return false;
309
328
  return true;
310
329
  }
311
- async _passportSerialize(passport, options) {
330
+ async _passportSerialize(passport, authTokenOptions) {
312
331
  // serialize
313
332
  const payloadData = await this.passportAdapter.serialize(passport);
314
- return await this._handlePayloadData(payloadData, options);
333
+ return await this._handlePayloadData(payloadData, authTokenOptions);
315
334
  }
316
- async _handlePayloadData(payloadData, options) {
335
+ async _handlePayloadData(payloadData, authTokenOptions) {
317
336
  // auth token
318
- const authToken = options?.authToken ?? 'refresh';
319
- if (authToken === 'recreate') {
320
- return await this.authTokenAdapter.create(payloadData);
337
+ const stateless = authTokenOptions?.stateless;
338
+ const strategy = authTokenOptions?.strategy ?? 'refresh';
339
+ const ttl = authTokenOptions?.ttl;
340
+ if (stateless) {
341
+ // do nothing
342
+ return payloadData;
343
+ } else if (strategy === 'reissue') {
344
+ return await this.authTokenAdapter.create(payloadData, ttl);
321
345
  } else {
322
346
  const payloadData2 = await this.authTokenAdapter.retrieve(payloadData);
323
347
  if (!payloadData2) {
324
- return await this.authTokenAdapter.create(payloadData);
348
+ return await this.authTokenAdapter.create(payloadData, ttl);
325
349
  }
326
- if (authToken === 'refresh') {
327
- await this.authTokenAdapter.refresh(payloadData2);
350
+ if (strategy === 'refresh') {
351
+ await this.authTokenAdapter.refresh(payloadData2, ttl);
328
352
  }
329
353
  return payloadData2;
330
354
  }
331
355
  }
356
+ async _combineAuthTokenOptions(authProviderId, authTokenOptionsCustom, authTokenOptionsDefault) {
357
+ if (!authProviderId) return authTokenOptionsDefault;
358
+ const {
359
+ clientOptions
360
+ } = await this.bean.authProvider.getClientOptions({
361
+ id: authProviderId
362
+ }, {
363
+ authTokenOptions: authTokenOptionsCustom ?? {}
364
+ }, {
365
+ authTokenOptions: authTokenOptionsDefault
366
+ });
367
+ if (!clientOptions) this.app.throw(403);
368
+ return clientOptions.authTokenOptions;
369
+ }
332
370
  };
333
371
  BeanPassport = __decorate([Bean(), BeanInfo({
334
372
  module: "a-user"
@@ -457,13 +495,13 @@ BeanUser = __decorate([Bean(), BeanInfo({
457
495
  })], BeanUser);
458
496
 
459
497
  let ServiceAuthTokenAdapter = class ServiceAuthTokenAdapter extends BeanBase {
460
- async create(payloadData) {
498
+ async create(payloadData, ttl) {
461
499
  const authIdStr = this._getAuthId(payloadData)?.toString();
462
500
  const token = authIdStr === '-1' ? createHash(authIdStr) : uuidv4();
463
501
  const payloadDataNew = Object.assign({}, payloadData, {
464
502
  [this.scope.config.payloadData.fields.token]: token
465
503
  });
466
- await this.scope.service.redisToken.create(payloadDataNew);
504
+ await this.scope.service.redisToken.create(payloadDataNew, ttl);
467
505
  return payloadDataNew;
468
506
  }
469
507
  async retrieve(payloadData) {
@@ -472,8 +510,8 @@ let ServiceAuthTokenAdapter = class ServiceAuthTokenAdapter extends BeanBase {
472
510
  async verify(payloadData) {
473
511
  return await this.scope.service.redisToken.verify(payloadData);
474
512
  }
475
- async refresh(payloadData) {
476
- await this.scope.service.redisToken.refresh(payloadData);
513
+ async refresh(payloadData, ttl) {
514
+ await this.scope.service.redisToken.refresh(payloadData, ttl);
477
515
  }
478
516
  async remove(payloadData) {
479
517
  await this.scope.service.redisToken.remove(payloadData);
@@ -506,15 +544,19 @@ let ServiceRedisToken = class ServiceRedisToken extends BeanBase {
506
544
  [this.scope.config.payloadData.fields.token]: token
507
545
  };
508
546
  }
509
- async create(payloadData) {
547
+ async create(payloadData, ttl) {
510
548
  const key = this._getAuthRedisKey(payloadData);
511
549
  if (!key || !this._getToken(payloadData)) return this.app.throw(401);
512
- await this.scope.cacheRedis.authToken.set(this._getToken(payloadData), key);
550
+ await this.scope.cacheRedis.authToken.set(this._getToken(payloadData), key, {
551
+ ttl
552
+ });
513
553
  }
514
- async refresh(payloadData) {
554
+ async refresh(payloadData, ttl) {
515
555
  const key = this._getAuthRedisKey(payloadData);
516
556
  if (!key) return this.app.throw(401);
517
- await this.scope.cacheRedis.authToken.expire(key);
557
+ await this.scope.cacheRedis.authToken.expire(key, {
558
+ ttl
559
+ });
518
560
  }
519
561
  async remove(payloadData) {
520
562
  const key = this._getAuthRedisKey(payloadData);
@@ -612,14 +654,17 @@ MetaRuntime = __decorate([Meta(), BeanInfo({
612
654
  })], MetaRuntime);
613
655
 
614
656
  function config(_app) {
615
- return {
657
+ const configUser = {
616
658
  user: {
617
659
  autoActivate: false
618
660
  },
619
661
  authToken: {
620
- refreshAuthToken: 'refresh',
621
- // 'recreate': not support different clients
622
- signin: 'refresh'
662
+ stateless: false,
663
+ strategy: {
664
+ refreshAuthToken: 'refresh',
665
+ signin: 'refresh'
666
+ },
667
+ ttl: 30 * 24 * 60 * 60 * 1000
623
668
  },
624
669
  adapter: {
625
670
  authToken: 'a-user:authTokenAdapter',
@@ -635,6 +680,7 @@ function config(_app) {
635
680
  }
636
681
  }
637
682
  };
683
+ return configUser;
638
684
  }
639
685
 
640
686
  const errors = {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/bean/guard.passport.ts","../src/bean/guard.roleName.ts","../src/bean/guard.userName.ts","../src/lib/auth.ts","../src/bean/bean.passport.ts","../src/bean/bean.role.ts","../src/bean/bean.user.ts","../src/service/authTokenAdapter.ts","../src/service/redisToken.ts","../src/bean/cacheRedis.authToken.ts","../src/bean/event.activate.ts","../src/bean/event.createAnonymous.ts","../src/bean/event.register.ts","../src/bean/event.signin.ts","../src/bean/event.signout.ts","../src/bean/meta.printTip.ts","../src/bean/meta.runtime.ts","../src/config/config.ts","../src/config/errors.ts","../src/main.ts","../src/.metadata/index.ts","../src/config/locale/en-us.ts","../src/config/locale/zh-cn.ts","../src/.metadata/locales.ts","../src/lib/passport.ts","../src/lib/user.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["GuardPassport","BeanBase","execute","options","next","bean","passport","current","checkAuthToken","_","err","catchError","public","checkErrorJwtExpired","ctx","headers","signinWithAnonymous","isAuthenticated","app","throw","activated","isActivated","innerAccess","__decorate","Guard","Global","__z_BeanInfo","module","GuardRoleName","result","_check","rejectWhenDismatched","passWhenMatched","name","checkRoleName","GuardUserName","checkUserName","$getAuthIdSystem","_authName","authId","BeanPassport","constructor","args","_authTokenAdapter","_passportAdapter","_mockCounter","authTokenAdapter","beanFullName","beanFullNameFromOnionName","scope","config","adapter","authToken","_getBean","passportAdapter","user","currentUser","anonymous","isAdmin","setCurrent","state","currentAuth","auth","currentRoles","roles","signin","isNil","instanceName","Error","event","emit","Object","assign","payloadData","_passportSerialize","jwt","create","dev","id","toString","signout","serialize","remove","undefined","signinSystem","authName","findOneByName","role","findAllByUserId","signinMock","userAnonymous","createAnonymous","kickOut","removeAll","accessToken","clientName","get","verify","includes","code","verified","deserialize","refreshAuthToken","refreshToken","configRefreshAuthToken","_handlePayloadData","createTempAuthToken","createOauthAuthToken","createOauthCode","createOauthCodeFromOauthAuthToken","createAuthTokenFromOauthCode","roleNames","map","item","optionsName","Array","isArray","some","roleName","userName","payloadData2","retrieve","refresh","Bean","BeanRole","_roleAdapter","roleAdapter","findOneById","findOne","userId","addUserId","BeanUser","_userAdapter","userAdapter","activate","setActivated","register","confirmed","randomUsername","autoActivate","data","userCheck","error","UserExists","Date","now","substring","userData","userNew","registerByProfile","profile","userOfProfile","updateById","update","removeById","ServiceAuthTokenAdapter","authIdStr","_getAuthId","token","createHash","uuidv4","payloadDataNew","fields","service","redisToken","Service","ServiceRedisToken","_getToken","key","_getAuthRedisKey","cacheRedis","set","expire","del","keyPrefix","_getAuthRedisKeyPrefix","keys","lookupKeys","mdel","instance","_getUserId","CacheRedisAuthToken","BeanCacheRedisBase","CacheRedis","ttl","disableTransactionCompensate","EventActivate","BeanEventBase","Event","EventCreateAnonymous","EventRegister","EventSignin","EventSignout","MetaPrintTip","meta","isDev","title","message","Meta","MetaRuntime","isProd","_app","errors","Main","BeanSimple","moduleLoading","moduleLoaded","defineProperty","context","enumerable","configLoaded","_config","ScopeModuleAUser","BeanScopeBase","Scope","locales","locale_en_us","locale_zh_cn","$locale","$makeLocaleMagic","Public","_public","Aspect","guardGlobal","Activated","UserName","guard","RoleName","Admin","Passport","admin","$getUserIdSystem","_userName"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/bean/guard.passport.ts","../src/bean/guard.roleName.ts","../src/bean/guard.userName.ts","../src/lib/auth.ts","../src/bean/bean.passport.ts","../src/bean/bean.role.ts","../src/bean/bean.user.ts","../src/service/authTokenAdapter.ts","../src/service/redisToken.ts","../src/bean/cacheRedis.authToken.ts","../src/bean/event.activate.ts","../src/bean/event.createAnonymous.ts","../src/bean/event.register.ts","../src/bean/event.signin.ts","../src/bean/event.signout.ts","../src/bean/meta.printTip.ts","../src/bean/meta.runtime.ts","../src/config/config.ts","../src/config/errors.ts","../src/main.ts","../src/.metadata/index.ts","../src/config/locale/en-us.ts","../src/config/locale/zh-cn.ts","../src/.metadata/locales.ts","../src/lib/passport.ts","../src/lib/user.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["GuardPassport","BeanBase","execute","options","next","bean","passport","current","checkAuthToken","_","err","catchError","public","checkErrorJwtExpiredAndThrow","ctx","headers","signinWithAnonymous","isAuthenticated","app","throw","activated","isActivated","innerAccess","__decorate","Guard","Global","__z_BeanInfo","module","GuardRoleName","result","_check","rejectWhenDismatched","passWhenMatched","name","checkRoleName","GuardUserName","checkUserName","$getAuthIdSystem","_authName","authId","BeanPassport","constructor","args","_authTokenAdapter","_passportAdapter","_mockCounter","authTokenAdapter","beanFullName","beanFullNameFromOnionName","scope","config","adapter","authToken","_getBean","passportAdapter","user","currentUser","anonymous","isAdmin","setCurrent","state","currentAuth","auth","currentRoles","roles","signin","isNil","instanceName","Error","event","emit","authTokenOptions","_combineAuthTokenOptions","authProviderId","stateless","strategy","ttl","payloadData","_passportSerialize","jwt","create","dev","id","toString","signout","serialize","remove","undefined","signinSystem","authName","findOneByName","role","findAllByUserId","signinMock","userAnonymous","createAnonymous","kickOut","removeAll","accessToken","clientName","get","verify","includes","code","deserialize","verified","refreshAuthToken","refreshToken","checkRes","_handlePayloadData","createTempAuthToken","createOauthAuthToken","createOauthCode","createOauthCodeFromOauthAuthToken","createAuthTokenFromOauthCode","roleNames","map","item","optionsName","Array","isArray","some","roleName","userName","payloadData2","retrieve","refresh","authTokenOptionsCustom","authTokenOptionsDefault","clientOptions","authProvider","getClientOptions","Bean","BeanRole","_roleAdapter","roleAdapter","findOneById","findOne","userId","addUserId","BeanUser","_userAdapter","userAdapter","activate","setActivated","register","confirmed","randomUsername","autoActivate","data","userCheck","error","UserExists","Date","now","substring","userData","userNew","registerByProfile","profile","userOfProfile","updateById","update","removeById","ServiceAuthTokenAdapter","authIdStr","_getAuthId","token","createHash","uuidv4","payloadDataNew","Object","assign","fields","service","redisToken","Service","ServiceRedisToken","_getToken","key","_getAuthRedisKey","cacheRedis","set","expire","del","keyPrefix","_getAuthRedisKeyPrefix","keys","lookupKeys","mdel","instance","_getUserId","CacheRedisAuthToken","BeanCacheRedisBase","CacheRedis","disableTransactionCompensate","EventActivate","BeanEventBase","Event","EventCreateAnonymous","EventRegister","EventSignin","EventSignout","MetaPrintTip","meta","isDev","title","message","Meta","MetaRuntime","isProd","_app","configUser","errors","Main","BeanSimple","moduleLoading","moduleLoaded","defineProperty","context","enumerable","configLoaded","_config","ScopeModuleAUser","BeanScopeBase","Scope","locales","locale_en_us","locale_zh_cn","$locale","$makeLocaleMagic","Public","_public","Aspect","guardGlobal","Activated","UserName","guard","RoleName","Admin","Passport","admin","$getUserIdSystem","_userName"],"mappings":"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"}
@@ -3,10 +3,10 @@ import { BeanBase } from 'vona';
3
3
  import type { IAuthTokenAdapter } from '../types/authToken.ts';
4
4
  import type { IUser } from '../types/user.ts';
5
5
  export declare class ServiceAuthTokenAdapter extends BeanBase implements IAuthTokenAdapter {
6
- create(payloadData: IPayloadData): Promise<IPayloadData>;
6
+ create(payloadData: IPayloadData, ttl?: number): Promise<IPayloadData>;
7
7
  retrieve(payloadData: IPayloadData): Promise<IPayloadData | undefined>;
8
8
  verify(payloadData: IPayloadData): Promise<boolean>;
9
- refresh(payloadData: IPayloadData): Promise<void>;
9
+ refresh(payloadData: IPayloadData, ttl?: number): Promise<void>;
10
10
  remove(payloadData: IPayloadData): Promise<void>;
11
11
  removeAll(user: IUser): Promise<void>;
12
12
  private _getAuthId;
@@ -1 +1 @@
1
- {"version":3,"file":"authTokenAdapter.d.ts","sourceRoot":"","sources":["../../src/service/authTokenAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,QAAQ,EAAsB,MAAM,MAAM,CAAC;AAGpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,qBACa,uBAAwB,SAAQ,QAAS,YAAW,iBAAiB;IAC1E,MAAM,CAAC,WAAW,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAQxD,QAAQ,CAAC,WAAW,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAItE,MAAM,CAAC,WAAW,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAInD,OAAO,CAAC,WAAW,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD,MAAM,CAAC,WAAW,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD,SAAS,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C,OAAO,CAAC,UAAU;CAGnB"}
1
+ {"version":3,"file":"authTokenAdapter.d.ts","sourceRoot":"","sources":["../../src/service/authTokenAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,QAAQ,EAAsB,MAAM,MAAM,CAAC;AAGpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,qBACa,uBAAwB,SAAQ,QAAS,YAAW,iBAAiB;IAC1E,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAQtE,QAAQ,CAAC,WAAW,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAItE,MAAM,CAAC,WAAW,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAInD,OAAO,CAAC,WAAW,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/D,MAAM,CAAC,WAAW,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD,SAAS,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C,OAAO,CAAC,UAAU;CAGnB"}
@@ -4,8 +4,8 @@ import { BeanBase } from 'vona';
4
4
  export declare class ServiceRedisToken extends BeanBase {
5
5
  verify(payloadData: IPayloadData): Promise<boolean>;
6
6
  retrieve(payloadData: IPayloadData): Promise<IPayloadData | undefined>;
7
- create(payloadData: IPayloadData): Promise<undefined>;
8
- refresh(payloadData: IPayloadData): Promise<undefined>;
7
+ create(payloadData: IPayloadData, ttl?: number): Promise<undefined>;
8
+ refresh(payloadData: IPayloadData, ttl?: number): Promise<undefined>;
9
9
  remove(payloadData: IPayloadData): Promise<void>;
10
10
  removeAll(user: IUser): Promise<void>;
11
11
  private _getAuthRedisKey;
@@ -1 +1 @@
1
- {"version":3,"file":"redisToken.d.ts","sourceRoot":"","sources":["../../src/service/redisToken.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAGhC,qBACa,iBAAkB,SAAQ,QAAQ;IACvC,MAAM,CAAC,WAAW,EAAE,YAAY;IAOhC,QAAQ,CAAC,WAAW,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAQtE,MAAM,CAAC,WAAW,EAAE,YAAY;IAMhC,OAAO,CAAC,WAAW,EAAE,YAAY;IAMjC,MAAM,CAAC,WAAW,EAAE,YAAY;IAMhC,SAAS,CAAC,IAAI,EAAE,KAAK;IAM3B,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,UAAU;CAGnB"}
1
+ {"version":3,"file":"redisToken.d.ts","sourceRoot":"","sources":["../../src/service/redisToken.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAGhC,qBACa,iBAAkB,SAAQ,QAAQ;IACvC,MAAM,CAAC,WAAW,EAAE,YAAY;IAOhC,QAAQ,CAAC,WAAW,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAQtE,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,MAAM;IAM9C,OAAO,CAAC,WAAW,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,MAAM;IAM/C,MAAM,CAAC,WAAW,EAAE,YAAY;IAMhC,SAAS,CAAC,IAAI,EAAE,KAAK;IAM3B,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,UAAU;CAGnB"}
@@ -1,22 +1,55 @@
1
1
  import type { TableIdentity } from 'table-identity';
2
2
  import type { IAuthProviderRecord } from 'vona-module-a-auth';
3
+ import type { IServiceRecord } from 'vona-module-a-bean';
3
4
  export interface IAuthIdRecord {
4
5
  '-1': 'dev';
5
6
  '-10000': 'mock';
6
7
  }
7
8
  export interface IAuthProvider {
8
- id: TableIdentity;
9
+ id: number;
9
10
  providerName: keyof IAuthProviderRecord;
10
11
  clientName: string;
11
12
  }
12
13
  export interface IAuth {
13
14
  id: TableIdentity;
14
15
  profileId?: string;
16
+ authProviderId?: number;
15
17
  authProvider?: IAuthProvider;
16
18
  }
17
- export type TypeAuthToken = 'recreate' | 'refresh' | 'nochange';
19
+ export type TypeAuthTokenStrategy = 'reissue' | 'refresh' | 'reuse';
20
+ export interface IAuthTokenConfig {
21
+ stateless: boolean;
22
+ strategy: {
23
+ refreshAuthToken: TypeAuthTokenStrategy;
24
+ signin: TypeAuthTokenStrategy;
25
+ };
26
+ ttl: number;
27
+ }
28
+ export interface ConfigUser {
29
+ user: {
30
+ autoActivate: boolean;
31
+ };
32
+ authToken: IAuthTokenConfig;
33
+ adapter: {
34
+ authToken: keyof IServiceRecord;
35
+ passport: keyof IServiceRecord;
36
+ user: keyof IServiceRecord;
37
+ role: keyof IServiceRecord;
38
+ };
39
+ payloadData: {
40
+ fields: {
41
+ authId: string;
42
+ userId: string;
43
+ token: string;
44
+ };
45
+ };
46
+ }
47
+ export interface IAuthTokenOptions {
48
+ stateless?: boolean;
49
+ strategy?: TypeAuthTokenStrategy;
50
+ ttl?: number;
51
+ }
18
52
  export interface ISigninOptions {
19
- /** default: refresh */
20
- authToken?: TypeAuthToken;
53
+ authToken?: IAuthTokenOptions;
21
54
  }
22
55
  //# sourceMappingURL=auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/types/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,KAAK,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,aAAa,CAAC;IAClB,YAAY,EAAE,MAAM,mBAAmB,CAAC;IACxC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,aAAa,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,aAAa,CAAC;CAC9B;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC;AAEhE,MAAM,WAAW,cAAc;IAC7B,uBAAuB;IACvB,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/types/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,KAAK,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,mBAAmB,CAAC;IACxC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,aAAa,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,aAAa,CAAC;CAC9B;AAED,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAEpE,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE;QACR,gBAAgB,EAAE,qBAAqB,CAAC;QACxC,MAAM,EAAE,qBAAqB,CAAC;KAC/B,CAAC;IACF,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE;QACJ,YAAY,EAAE,OAAO,CAAC;KACvB,CAAC;IACF,SAAS,EAAE,gBAAgB,CAAC;IAC5B,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,cAAc,CAAC;QAChC,QAAQ,EAAE,MAAM,cAAc,CAAC;QAC/B,IAAI,EAAE,MAAM,cAAc,CAAC;QAC3B,IAAI,EAAE,MAAM,cAAc,CAAC;KAC5B,CAAC;IACF,WAAW,EAAE;QACX,MAAM,EAAE;YACN,MAAM,EAAE,MAAM,CAAC;YACf,MAAM,EAAE,MAAM,CAAC;YACf,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;KACH,CAAC;CACH;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,iBAAiB,CAAC;CAC/B"}
@@ -1,10 +1,10 @@
1
1
  import type { IPayloadData } from 'vona-module-a-jwt';
2
2
  import type { IUser } from './user.ts';
3
3
  export interface IAuthTokenAdapter {
4
- create(payloadData: IPayloadData): Promise<IPayloadData>;
4
+ create(payloadData: IPayloadData, ttl?: number): Promise<IPayloadData>;
5
5
  retrieve(payloadData: IPayloadData): Promise<IPayloadData | undefined>;
6
6
  verify(payloadData: IPayloadData): Promise<boolean>;
7
- refresh(payloadData: IPayloadData): Promise<void>;
7
+ refresh(payloadData: IPayloadData, ttl?: number): Promise<void>;
8
8
  remove(payloadData: IPayloadData): Promise<void>;
9
9
  removeAll(user: IUser): Promise<void>;
10
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"authToken.d.ts","sourceRoot":"","sources":["../../src/types/authToken.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAEvC,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,WAAW,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACzD,QAAQ,CAAC,WAAW,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;IACvE,MAAM,CAAC,WAAW,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,OAAO,CAAC,WAAW,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,CAAC,WAAW,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,SAAS,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC"}
1
+ {"version":3,"file":"authToken.d.ts","sourceRoot":"","sources":["../../src/types/authToken.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAEvC,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACvE,QAAQ,CAAC,WAAW,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;IACvE,MAAM,CAAC,WAAW,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,OAAO,CAAC,WAAW,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChE,MAAM,CAAC,WAAW,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,SAAS,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vona-module-a-user",
3
- "version": "5.1.6",
3
+ "version": "5.1.8",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "Vona Module"
@@ -4,7 +4,7 @@ import { catchError, isNil } from '@cabloy/utils';
4
4
  import { BeanBase, beanFullNameFromOnionName } from 'vona';
5
5
  import { Bean } from 'vona-module-a-bean';
6
6
 
7
- import type { IAuth, IAuthIdRecord, ISigninOptions } from '../types/auth.ts';
7
+ import type { IAuth, IAuthIdRecord, IAuthTokenOptions, ISigninOptions } from '../types/auth.ts';
8
8
  import type { IAuthTokenAdapter } from '../types/authToken.ts';
9
9
  import type { IPassport, IPassportAdapter } from '../types/passport.ts';
10
10
  import type { IRole, IRoleNameRecord } from '../types/role.ts';
@@ -76,10 +76,12 @@ export class BeanPassport extends BeanBase {
76
76
  // event
77
77
  await this.scope.event.signin.emit(passport);
78
78
  // serialize: payloadData for client certificate
79
- if (!options?.authToken) {
80
- options = Object.assign({}, options, { authToken: this.scope.config.authToken.signin });
81
- }
82
- const payloadData = await this._passportSerialize(passport, options);
79
+ const authTokenOptions = await this._combineAuthTokenOptions(passport.auth!.authProviderId, options?.authToken, {
80
+ stateless: this.scope.config.authToken.stateless,
81
+ strategy: this.scope.config.authToken.strategy.signin,
82
+ ttl: this.scope.config.authToken.ttl,
83
+ });
84
+ const payloadData = await this._passportSerialize(passport, authTokenOptions);
83
85
  // jwt token
84
86
  return await this.bean.jwt.create(payloadData, { dev: passport.auth?.id.toString() === '-1' });
85
87
  }
@@ -139,21 +141,33 @@ export class BeanPassport extends BeanBase {
139
141
  throw err;
140
142
  }
141
143
  if (!payloadData) return; // no jwt token
142
- const verified = await this.authTokenAdapter.verify(payloadData);
143
- if (!verified) return this.app.throw(401);
144
144
  const passport = await this.passportAdapter.deserialize(payloadData);
145
145
  if (!passport) return this.app.throw(401);
146
+ // verified
147
+ const authTokenOptions = await this._combineAuthTokenOptions(passport.auth!.authProviderId, undefined, {
148
+ stateless: this.scope.config.authToken.stateless,
149
+ });
150
+ if (!authTokenOptions.stateless) {
151
+ const verified = await this.authTokenAdapter.verify(payloadData);
152
+ if (!verified) return this.app.throw(401);
153
+ }
154
+ // setCurrent
146
155
  await this.setCurrent(passport);
147
- return payloadData;
156
+ return { payloadData, passport };
148
157
  }
149
158
 
150
159
  public async refreshAuthToken(refreshToken: string) {
151
160
  // checkAuthToken by code
152
- let payloadData = await this.checkAuthToken(refreshToken, 'refresh');
153
- if (!payloadData) return this.app.throw(401);
161
+ let checkRes = await this.checkAuthToken(refreshToken, 'refresh');
162
+ if (!checkRes) return this.app.throw(401);
163
+ let { payloadData, passport } = checkRes;
154
164
  // refreshAuthToken
155
- const configRefreshAuthToken = this.scope.config.authToken.refreshAuthToken;
156
- payloadData = await this._handlePayloadData(payloadData, { authToken: configRefreshAuthToken });
165
+ const authTokenOptions = await this._combineAuthTokenOptions(passport.auth!.authProviderId, undefined, {
166
+ stateless: this.scope.config.authToken.stateless,
167
+ strategy: this.scope.config.authToken.strategy.refreshAuthToken,
168
+ ttl: this.scope.config.authToken.ttl,
169
+ });
170
+ payloadData = await this._handlePayloadData(payloadData, authTokenOptions);
157
171
  // jwt token
158
172
  return await this.bean.jwt.create(payloadData);
159
173
  }
@@ -164,7 +178,7 @@ export class BeanPassport extends BeanBase {
164
178
  const passport = this.current;
165
179
  if (!passport) return this.app.throw(401);
166
180
  // payloadData
167
- const payloadData = await this._passportSerialize(passport, { authToken: 'nochange' });
181
+ const payloadData = await this._passportSerialize(passport, { strategy: 'reuse' });
168
182
  // jwt token
169
183
  return await this.bean.jwt.createTempAuthToken(payloadData, options);
170
184
  }
@@ -174,7 +188,7 @@ export class BeanPassport extends BeanBase {
174
188
  const passport = this.current;
175
189
  if (!passport) return this.app.throw(401);
176
190
  // payloadData
177
- const payloadData = await this._passportSerialize(passport, { authToken: 'nochange' });
191
+ const payloadData = await this._passportSerialize(passport, { strategy: 'reuse' });
178
192
  // jwt token
179
193
  return await this.bean.jwt.createOauthAuthToken(payloadData, options);
180
194
  }
@@ -184,7 +198,7 @@ export class BeanPassport extends BeanBase {
184
198
  const passport = this.current;
185
199
  if (!passport) return this.app.throw(401);
186
200
  // payloadData
187
- const payloadData = await this._passportSerialize(passport, { authToken: 'nochange' });
201
+ const payloadData = await this._passportSerialize(passport, { strategy: 'reuse' });
188
202
  // code
189
203
  return await this.bean.jwt.createOauthCode(payloadData, options);
190
204
  }
@@ -199,8 +213,9 @@ export class BeanPassport extends BeanBase {
199
213
 
200
214
  public async createAuthTokenFromOauthCode(code: string) {
201
215
  // checkAuthToken by code
202
- const payloadData = await this.checkAuthToken(code, 'code');
203
- if (!payloadData) return this.app.throw(401);
216
+ const checkRes = await this.checkAuthToken(code, 'code');
217
+ if (!checkRes) return this.app.throw(401);
218
+ const { payloadData } = checkRes;
204
219
  // jwt token
205
220
  return await this.bean.jwt.create(payloadData);
206
221
  }
@@ -225,28 +240,52 @@ export class BeanPassport extends BeanBase {
225
240
  return true;
226
241
  }
227
242
 
228
- private async _passportSerialize(passport: IPassport, options?: ISigninOptions) {
243
+ private async _passportSerialize(passport: IPassport, authTokenOptions?: IAuthTokenOptions) {
229
244
  // serialize
230
245
  const payloadData = await this.passportAdapter.serialize(passport);
231
- return await this._handlePayloadData(payloadData, options);
246
+ return await this._handlePayloadData(payloadData, authTokenOptions);
232
247
  }
233
248
 
234
- private async _handlePayloadData(payloadData: IPayloadData, options?: ISigninOptions) {
249
+ private async _handlePayloadData(payloadData: IPayloadData, authTokenOptions?: IAuthTokenOptions) {
235
250
  // auth token
236
- const authToken = options?.authToken ?? 'refresh';
237
- if (authToken === 'recreate') {
238
- return await this.authTokenAdapter.create(payloadData);
251
+ const stateless = authTokenOptions?.stateless;
252
+ const strategy = authTokenOptions?.strategy ?? 'refresh';
253
+ const ttl = authTokenOptions?.ttl;
254
+ if (stateless) {
255
+ // do nothing
256
+ return payloadData;
257
+ } else if (strategy === 'reissue') {
258
+ return await this.authTokenAdapter.create(payloadData, ttl);
239
259
  } else {
240
260
  const payloadData2 = await this.authTokenAdapter.retrieve(payloadData);
241
261
  if (!payloadData2) {
242
- return await this.authTokenAdapter.create(payloadData);
262
+ return await this.authTokenAdapter.create(payloadData, ttl);
243
263
  }
244
- if (authToken === 'refresh') {
245
- await this.authTokenAdapter.refresh(payloadData2);
246
- } else if (authToken === 'nochange') {
264
+ if (strategy === 'refresh') {
265
+ await this.authTokenAdapter.refresh(payloadData2, ttl);
266
+ } else if (strategy === 'reuse') {
247
267
  // do nothing
248
268
  }
249
269
  return payloadData2;
250
270
  }
251
271
  }
272
+
273
+ private async _combineAuthTokenOptions(
274
+ authProviderId: number | undefined,
275
+ authTokenOptionsCustom: IAuthTokenOptions | undefined,
276
+ authTokenOptionsDefault: IAuthTokenOptions,
277
+ ) {
278
+ if (!authProviderId) return authTokenOptionsDefault;
279
+ const { clientOptions } = await this.bean.authProvider.getClientOptions(
280
+ {
281
+ id: authProviderId,
282
+ },
283
+ { authTokenOptions: authTokenOptionsCustom ?? {} },
284
+ {
285
+ authTokenOptions: authTokenOptionsDefault,
286
+ },
287
+ );
288
+ if (!clientOptions) this.app.throw(403);
289
+ return clientOptions.authTokenOptions!;
290
+ }
252
291
  }
@@ -4,7 +4,7 @@ import type { IDecoratorGuardOptionsGlobal, IGuardExecute } from 'vona-module-a-
4
4
  import { catchError } from '@cabloy/utils';
5
5
  import { BeanBase, Global } from 'vona';
6
6
  import { Guard } from 'vona-module-a-aspect';
7
- import { checkErrorJwtExpired } from 'vona-module-a-jwt';
7
+ import { checkErrorJwtExpiredAndThrow } from 'vona-module-a-jwt';
8
8
 
9
9
  export interface IGuardOptionsPassport extends IDecoratorGuardOptionsGlobal {
10
10
  public: boolean;
@@ -25,7 +25,7 @@ export class GuardPassport extends BeanBase implements IGuardExecute {
25
25
  });
26
26
  if (err && !options.public) throw err;
27
27
  // throw error only when ErrorMessageJwtExpired
28
- checkErrorJwtExpired(err, this.ctx.headers);
28
+ checkErrorJwtExpiredAndThrow(err, this.ctx.headers);
29
29
  }
30
30
  }
31
31
  // check current
@@ -1,22 +1,25 @@
1
1
  import type { VonaApplication } from 'vona';
2
- import type { IServiceRecord } from 'vona-module-a-bean';
3
2
 
4
- import type { TypeAuthToken } from '../types/auth.ts';
3
+ import type { ConfigUser } from '../types/auth.ts';
5
4
 
6
5
  export function config(_app: VonaApplication) {
7
- return {
6
+ const configUser: ConfigUser = {
8
7
  user: {
9
8
  autoActivate: false,
10
9
  },
11
10
  authToken: {
12
- refreshAuthToken: 'refresh' as TypeAuthToken, // 'recreate': not support different clients
13
- signin: 'refresh' as TypeAuthToken,
11
+ stateless: false,
12
+ strategy: {
13
+ refreshAuthToken: 'refresh',
14
+ signin: 'refresh',
15
+ },
16
+ ttl: 30 * 24 * 60 * 60 * 1000,
14
17
  },
15
18
  adapter: {
16
- authToken: 'a-user:authTokenAdapter' as keyof IServiceRecord,
17
- passport: 'home-user:passportAdapter' as keyof IServiceRecord,
18
- user: 'home-user:userAdapter' as keyof IServiceRecord,
19
- role: 'home-user:roleAdapter' as keyof IServiceRecord,
19
+ authToken: 'a-user:authTokenAdapter',
20
+ passport: 'home-user:passportAdapter',
21
+ user: 'home-user:userAdapter',
22
+ role: 'home-user:roleAdapter',
20
23
  },
21
24
  payloadData: {
22
25
  fields: {
@@ -26,4 +29,5 @@ export function config(_app: VonaApplication) {
26
29
  },
27
30
  },
28
31
  };
32
+ return configUser;
29
33
  }
@@ -8,11 +8,11 @@ import type { IUser } from '../types/user.ts';
8
8
 
9
9
  @Service()
10
10
  export class ServiceAuthTokenAdapter extends BeanBase implements IAuthTokenAdapter {
11
- async create(payloadData: IPayloadData): Promise<IPayloadData> {
11
+ async create(payloadData: IPayloadData, ttl?: number): Promise<IPayloadData> {
12
12
  const authIdStr = this._getAuthId(payloadData)?.toString();
13
13
  const token = authIdStr === '-1' ? createHash(authIdStr) : uuidv4();
14
14
  const payloadDataNew = Object.assign({}, payloadData, { [this.scope.config.payloadData.fields.token]: token });
15
- await this.scope.service.redisToken.create(payloadDataNew);
15
+ await this.scope.service.redisToken.create(payloadDataNew, ttl);
16
16
  return payloadDataNew;
17
17
  }
18
18
 
@@ -24,8 +24,8 @@ export class ServiceAuthTokenAdapter extends BeanBase implements IAuthTokenAdapt
24
24
  return await this.scope.service.redisToken.verify(payloadData);
25
25
  }
26
26
 
27
- async refresh(payloadData: IPayloadData): Promise<void> {
28
- await this.scope.service.redisToken.refresh(payloadData);
27
+ async refresh(payloadData: IPayloadData, ttl?: number): Promise<void> {
28
+ await this.scope.service.redisToken.refresh(payloadData, ttl);
29
29
  }
30
30
 
31
31
  async remove(payloadData: IPayloadData): Promise<void> {
@@ -21,16 +21,16 @@ export class ServiceRedisToken extends BeanBase {
21
21
  return { ...payloadData, [this.scope.config.payloadData.fields.token]: token };
22
22
  }
23
23
 
24
- async create(payloadData: IPayloadData) {
24
+ async create(payloadData: IPayloadData, ttl?: number) {
25
25
  const key = this._getAuthRedisKey(payloadData);
26
26
  if (!key || !this._getToken(payloadData)) return this.app.throw(401);
27
- await this.scope.cacheRedis.authToken.set(this._getToken(payloadData), key);
27
+ await this.scope.cacheRedis.authToken.set(this._getToken(payloadData), key, { ttl });
28
28
  }
29
29
 
30
- async refresh(payloadData: IPayloadData) {
30
+ async refresh(payloadData: IPayloadData, ttl?: number) {
31
31
  const key = this._getAuthRedisKey(payloadData);
32
32
  if (!key) return this.app.throw(401);
33
- await this.scope.cacheRedis.authToken.expire(key);
33
+ await this.scope.cacheRedis.authToken.expire(key, { ttl });
34
34
  }
35
35
 
36
36
  async remove(payloadData: IPayloadData) {
package/src/types/auth.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import type { TableIdentity } from 'table-identity';
2
2
  import type { IAuthProviderRecord } from 'vona-module-a-auth';
3
+ import type { IServiceRecord } from 'vona-module-a-bean';
3
4
 
4
5
  export interface IAuthIdRecord {
5
6
  '-1': 'dev';
@@ -7,7 +8,7 @@ export interface IAuthIdRecord {
7
8
  }
8
9
 
9
10
  export interface IAuthProvider {
10
- id: TableIdentity;
11
+ id: number;
11
12
  providerName: keyof IAuthProviderRecord;
12
13
  clientName: string;
13
14
  }
@@ -15,12 +16,47 @@ export interface IAuthProvider {
15
16
  export interface IAuth {
16
17
  id: TableIdentity;
17
18
  profileId?: string;
19
+ authProviderId?: number;
18
20
  authProvider?: IAuthProvider;
19
21
  }
20
22
 
21
- export type TypeAuthToken = 'recreate' | 'refresh' | 'nochange';
23
+ export type TypeAuthTokenStrategy = 'reissue' | 'refresh' | 'reuse';
24
+
25
+ export interface IAuthTokenConfig {
26
+ stateless: boolean;
27
+ strategy: {
28
+ refreshAuthToken: TypeAuthTokenStrategy;
29
+ signin: TypeAuthTokenStrategy;
30
+ };
31
+ ttl: number;
32
+ }
33
+
34
+ export interface ConfigUser {
35
+ user: {
36
+ autoActivate: boolean;
37
+ };
38
+ authToken: IAuthTokenConfig;
39
+ adapter: {
40
+ authToken: keyof IServiceRecord;
41
+ passport: keyof IServiceRecord;
42
+ user: keyof IServiceRecord;
43
+ role: keyof IServiceRecord;
44
+ };
45
+ payloadData: {
46
+ fields: {
47
+ authId: string;
48
+ userId: string;
49
+ token: string;
50
+ };
51
+ };
52
+ }
53
+
54
+ export interface IAuthTokenOptions {
55
+ stateless?: boolean;
56
+ strategy?: TypeAuthTokenStrategy;
57
+ ttl?: number;
58
+ }
22
59
 
23
60
  export interface ISigninOptions {
24
- /** default: refresh */
25
- authToken?: TypeAuthToken;
61
+ authToken?: IAuthTokenOptions;
26
62
  }
@@ -3,10 +3,10 @@ import type { IPayloadData } from 'vona-module-a-jwt';
3
3
  import type { IUser } from './user.ts';
4
4
 
5
5
  export interface IAuthTokenAdapter {
6
- create(payloadData: IPayloadData): Promise<IPayloadData>;
6
+ create(payloadData: IPayloadData, ttl?: number): Promise<IPayloadData>;
7
7
  retrieve(payloadData: IPayloadData): Promise<IPayloadData | undefined>;
8
8
  verify(payloadData: IPayloadData): Promise<boolean>;
9
- refresh(payloadData: IPayloadData): Promise<void>;
9
+ refresh(payloadData: IPayloadData, ttl?: number): Promise<void>;
10
10
  remove(payloadData: IPayloadData): Promise<void>;
11
11
  removeAll(user: IUser): Promise<void>;
12
12
  }