vona-module-a-user 5.1.7 → 5.1.9

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.
Files changed (37) hide show
  1. package/dist/.metadata/locales.d.ts.map +1 -1
  2. package/dist/bean/bean.passport.d.ts +5 -1
  3. package/dist/bean/bean.passport.d.ts.map +1 -1
  4. package/dist/bean/bean.user.d.ts.map +1 -1
  5. package/dist/bean/cacheRedis.authToken.d.ts.map +1 -1
  6. package/dist/bean/event.createAnonymous.d.ts.map +1 -1
  7. package/dist/bean/guard.passport.d.ts.map +1 -1
  8. package/dist/config/config.d.ts +2 -24
  9. package/dist/config/config.d.ts.map +1 -1
  10. package/dist/index.js +92 -44
  11. package/dist/index.js.map +1 -1
  12. package/dist/lib/auth.d.ts.map +1 -1
  13. package/dist/lib/passport.d.ts.map +1 -1
  14. package/dist/lib/user.d.ts.map +1 -1
  15. package/dist/service/authTokenAdapter.d.ts +2 -2
  16. package/dist/service/authTokenAdapter.d.ts.map +1 -1
  17. package/dist/service/redisToken.d.ts +2 -2
  18. package/dist/service/redisToken.d.ts.map +1 -1
  19. package/dist/types/auth.d.ts +37 -4
  20. package/dist/types/auth.d.ts.map +1 -1
  21. package/dist/types/authToken.d.ts +2 -2
  22. package/dist/types/authToken.d.ts.map +1 -1
  23. package/package.json +2 -2
  24. package/src/.metadata/locales.ts +6 -1
  25. package/src/bean/bean.passport.ts +101 -31
  26. package/src/bean/bean.user.ts +5 -1
  27. package/src/bean/cacheRedis.authToken.ts +4 -1
  28. package/src/bean/event.createAnonymous.ts +4 -1
  29. package/src/bean/guard.passport.ts +6 -4
  30. package/src/config/config.ts +13 -9
  31. package/src/lib/auth.ts +4 -1
  32. package/src/lib/passport.ts +3 -1
  33. package/src/lib/user.ts +4 -1
  34. package/src/service/authTokenAdapter.ts +7 -5
  35. package/src/service/redisToken.ts +4 -4
  36. package/src/types/auth.ts +40 -4
  37. package/src/types/authToken.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../src/.metadata/locales.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAK3C,eAAO,MAAM,OAAO;;;;;;;CAGnB,CAAC;AAEF,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,OAAO,OAAO,CAAC,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,CAErG"}
1
+ {"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../src/.metadata/locales.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAO3C,eAAO,MAAM,OAAO;;;;;;;CAGnB,CAAC;AAEF,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,OAAO,OAAO,CAAC,CAAC,cAAc,CAAC,EACtE,GAAG,EAAE,CAAC,EACN,GAAG,IAAI,EAAE,GAAG,EAAE,GACb,GAAG,CAEL"}
@@ -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,EACV,gBAAgB,EAChB,eAAe,EACf,SAAS,EACT,iBAAiB,EACjB,YAAY,EACb,MAAM,mBAAmB,CAAC;AAG3B,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,GAS3B;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;IAqBzE,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,CACrB,IAAI,CAAC,EAAE,MAAM,eAAe,EAC5B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,SAAS,CAAC;IAIR,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAMpC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK;IAKpB,cAAc,CACzB,WAAW,CAAC,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,MAAM,gBAAgB,EACnC,OAAO,CAAC,EAAE,iBAAiB;;;;IAgChB,gBAAgB,CAAC,YAAY,EAAE,MAAM;IAqBrC,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;YA2BlB,wBAAwB;CAkBvC"}
@@ -1 +1 @@
1
- {"version":3,"file":"bean.user.d.ts","sourceRoot":"","sources":["../../src/bean/bean.user.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,OAAO,EAAE,QAAQ,EAA6B,MAAM,MAAM,CAAC;AAG3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,KAAK,EAAgB,MAAM,kBAAkB,CAAC;AAE5D,qBACa,QAAS,SAAQ,QAAQ;IACpC,OAAO,CAAC,YAAY,CAAe;IAEnC,OAAO,KAAK,WAAW,GAMtB;IAEK,QAAQ,CAAC,IAAI,EAAE,KAAK;IAMpB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;IAuB7F,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,EAAE,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;IAKtF,eAAe,IAAI,OAAO,CAAC,KAAK,CAAC;IAMjC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAIvD,WAAW,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAI1D,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAIzD,UAAU,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C,UAAU,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5C,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAGlD"}
1
+ {"version":3,"file":"bean.user.d.ts","sourceRoot":"","sources":["../../src/bean/bean.user.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,OAAO,EAAE,QAAQ,EAA6B,MAAM,MAAM,CAAC;AAG3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,KAAK,EAAgB,MAAM,kBAAkB,CAAC;AAE5D,qBACa,QAAS,SAAQ,QAAQ;IACpC,OAAO,CAAC,YAAY,CAAe;IAEnC,OAAO,KAAK,WAAW,GAMtB;IAEK,QAAQ,CAAC,IAAI,EAAE,KAAK;IAMpB,QAAQ,CACZ,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,EACpB,SAAS,CAAC,EAAE,OAAO,EACnB,cAAc,CAAC,EAAE,OAAO,GACvB,OAAO,CAAC,KAAK,CAAC;IAuBX,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,EAAE,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;IAKtF,eAAe,IAAI,OAAO,CAAC,KAAK,CAAC;IAMjC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAIvD,WAAW,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAI1D,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAIzD,UAAU,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C,UAAU,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5C,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAGlD"}
@@ -1 +1 @@
1
- {"version":3,"file":"cacheRedis.authToken.d.ts","sourceRoot":"","sources":["../../src/bean/cacheRedis.authToken.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAc,MAAM,qBAAqB,CAAC;AAErE,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAC7C,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAAC;AAE9C,qBAIa,mBAAoB,SAAQ,kBAAkB,CAAC,uBAAuB,EAAE,wBAAwB,CAAC;CAAG"}
1
+ {"version":3,"file":"cacheRedis.authToken.d.ts","sourceRoot":"","sources":["../../src/bean/cacheRedis.authToken.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAc,MAAM,qBAAqB,CAAC;AAErE,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAC7C,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAAC;AAE9C,qBAIa,mBAAoB,SAAQ,kBAAkB,CACzD,uBAAuB,EACvB,wBAAwB,CACzB;CAAG"}
@@ -1 +1 @@
1
- {"version":3,"file":"event.createAnonymous.d.ts","sourceRoot":"","sources":["../../src/bean/event.createAnonymous.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAS,MAAM,qBAAqB,CAAC;AAE3D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,MAAM,4BAA4B,GAAG,SAAS,CAAC;AAErD,MAAM,MAAM,8BAA8B,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;AAE5D,qBACa,oBAAqB,SAAQ,aAAa,CAAC,4BAA4B,EAAE,8BAA8B,CAAC;CAAG"}
1
+ {"version":3,"file":"event.createAnonymous.d.ts","sourceRoot":"","sources":["../../src/bean/event.createAnonymous.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAS,MAAM,qBAAqB,CAAC;AAE3D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,MAAM,4BAA4B,GAAG,SAAS,CAAC;AAErD,MAAM,MAAM,8BAA8B,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;AAE5D,qBACa,oBAAqB,SAAQ,aAAa,CACrD,4BAA4B,EAC5B,8BAA8B,CAC/B;CAAG"}
@@ -1 +1 @@
1
- {"version":3,"file":"guard.passport.d.ts","sourceRoot":"","sources":["../../src/bean/guard.passport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,KAAK,EAAE,4BAA4B,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGxF,OAAO,EAAE,QAAQ,EAAU,MAAM,MAAM,CAAC;AAIxC,MAAM,WAAW,qBAAsB,SAAQ,4BAA4B;IACzE,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,qBAEa,aAAc,SAAQ,QAAS,YAAW,aAAa;IAC5D,OAAO,CAAC,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;CAmC5E"}
1
+ {"version":3,"file":"guard.passport.d.ts","sourceRoot":"","sources":["../../src/bean/guard.passport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,KAAK,EAAE,4BAA4B,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGxF,OAAO,EAAE,QAAQ,EAAU,MAAM,MAAM,CAAC;AAIxC,MAAM,WAAW,qBAAsB,SAAQ,4BAA4B;IACzE,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,qBAEa,aAAc,SAAQ,QAAS,YAAW,aAAa;IAC5D,OAAO,CAAC,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;CAqC5E"}
@@ -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
@@ -22,15 +22,17 @@ let GuardPassport = class GuardPassport extends BeanBase {
22
22
  checkErrorJwtExpiredAndThrow(err, this.ctx.headers);
23
23
  }
24
24
  }
25
- // check current
26
- if (!this.bean.passport.current) {
27
- await this.bean.passport.signinWithAnonymous();
28
- }
25
+ // check public
29
26
  if (!options.public && !this.bean.passport.isAuthenticated) {
30
27
  // return false;
31
28
  // 401 for this guard, 403 for the next guards
32
29
  return this.app.throw(401);
33
30
  }
31
+ // anonymous
32
+ if (!this.bean.passport.current) {
33
+ await this.bean.passport.signinWithAnonymous();
34
+ }
35
+ // check activated
34
36
  if (this.bean.passport.isAuthenticated) {
35
37
  if (options.activated === true && !this.bean.passport.isActivated) {
36
38
  return this.app.throw(403);
@@ -158,12 +160,12 @@ let BeanPassport = class BeanPassport extends BeanBase {
158
160
  // event
159
161
  await this.scope.event.signin.emit(passport);
160
162
  // 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);
163
+ const authTokenOptions = await this._combineAuthTokenOptions(passport.auth.authProviderId, options?.authToken, {
164
+ stateless: this.scope.config.authToken.stateless,
165
+ strategy: this.scope.config.authToken.strategy.signin,
166
+ ttl: this.scope.config.authToken.ttl
167
+ });
168
+ const payloadData = await this._passportSerialize(passport, authTokenOptions);
167
169
  // jwt token
168
170
  return await this.bean.jwt.create(payloadData, {
169
171
  dev: passport.auth?.id.toString() === '-1'
@@ -223,22 +225,38 @@ let BeanPassport = class BeanPassport extends BeanBase {
223
225
  throw err;
224
226
  }
225
227
  if (!payloadData) return; // no jwt token
226
- const verified = await this.authTokenAdapter.verify(payloadData);
227
- if (!verified) return this.app.throw(401);
228
228
  const passport = await this.passportAdapter.deserialize(payloadData);
229
229
  if (!passport) return this.app.throw(401);
230
+ // verified
231
+ const authTokenOptions = await this._combineAuthTokenOptions(passport.auth.authProviderId, undefined, {
232
+ stateless: this.scope.config.authToken.stateless
233
+ });
234
+ if (!authTokenOptions.stateless) {
235
+ const verified = await this.authTokenAdapter.verify(payloadData);
236
+ if (!verified) return this.app.throw(401);
237
+ }
238
+ // setCurrent
230
239
  await this.setCurrent(passport);
231
- return payloadData;
240
+ return {
241
+ payloadData,
242
+ passport
243
+ };
232
244
  }
233
245
  async refreshAuthToken(refreshToken) {
234
246
  // checkAuthToken by code
235
- let payloadData = await this.checkAuthToken(refreshToken, 'refresh');
236
- if (!payloadData) return this.app.throw(401);
247
+ let checkRes = await this.checkAuthToken(refreshToken, 'refresh');
248
+ if (!checkRes) return this.app.throw(401);
249
+ let {
250
+ payloadData,
251
+ passport
252
+ } = checkRes;
237
253
  // refreshAuthToken
238
- const configRefreshAuthToken = this.scope.config.authToken.refreshAuthToken;
239
- payloadData = await this._handlePayloadData(payloadData, {
240
- authToken: configRefreshAuthToken
254
+ const authTokenOptions = await this._combineAuthTokenOptions(passport.auth.authProviderId, undefined, {
255
+ stateless: this.scope.config.authToken.stateless,
256
+ strategy: this.scope.config.authToken.strategy.refreshAuthToken,
257
+ ttl: this.scope.config.authToken.ttl
241
258
  });
259
+ payloadData = await this._handlePayloadData(payloadData, authTokenOptions);
242
260
  // jwt token
243
261
  return await this.bean.jwt.create(payloadData);
244
262
  }
@@ -249,7 +267,7 @@ let BeanPassport = class BeanPassport extends BeanBase {
249
267
  if (!passport) return this.app.throw(401);
250
268
  // payloadData
251
269
  const payloadData = await this._passportSerialize(passport, {
252
- authToken: 'nochange'
270
+ strategy: 'reuse'
253
271
  });
254
272
  // jwt token
255
273
  return await this.bean.jwt.createTempAuthToken(payloadData, options);
@@ -260,7 +278,7 @@ let BeanPassport = class BeanPassport extends BeanBase {
260
278
  if (!passport) return this.app.throw(401);
261
279
  // payloadData
262
280
  const payloadData = await this._passportSerialize(passport, {
263
- authToken: 'nochange'
281
+ strategy: 'reuse'
264
282
  });
265
283
  // jwt token
266
284
  return await this.bean.jwt.createOauthAuthToken(payloadData, options);
@@ -271,7 +289,7 @@ let BeanPassport = class BeanPassport extends BeanBase {
271
289
  if (!passport) return this.app.throw(401);
272
290
  // payloadData
273
291
  const payloadData = await this._passportSerialize(passport, {
274
- authToken: 'nochange'
292
+ strategy: 'reuse'
275
293
  });
276
294
  // code
277
295
  return await this.bean.jwt.createOauthCode(payloadData, options);
@@ -285,8 +303,11 @@ let BeanPassport = class BeanPassport extends BeanBase {
285
303
  }
286
304
  async createAuthTokenFromOauthCode(code) {
287
305
  // checkAuthToken by code
288
- const payloadData = await this.checkAuthToken(code, 'code');
289
- if (!payloadData) return this.app.throw(401);
306
+ const checkRes = await this.checkAuthToken(code, 'code');
307
+ if (!checkRes) return this.app.throw(401);
308
+ const {
309
+ payloadData
310
+ } = checkRes;
290
311
  // jwt token
291
312
  return await this.bean.jwt.create(payloadData);
292
313
  }
@@ -308,27 +329,46 @@ let BeanPassport = class BeanPassport extends BeanBase {
308
329
  if (!optionsName.includes(userName)) return false;
309
330
  return true;
310
331
  }
311
- async _passportSerialize(passport, options) {
332
+ async _passportSerialize(passport, authTokenOptions) {
312
333
  // serialize
313
334
  const payloadData = await this.passportAdapter.serialize(passport);
314
- return await this._handlePayloadData(payloadData, options);
335
+ return await this._handlePayloadData(payloadData, authTokenOptions);
315
336
  }
316
- async _handlePayloadData(payloadData, options) {
337
+ async _handlePayloadData(payloadData, authTokenOptions) {
317
338
  // auth token
318
- const authToken = options?.authToken ?? 'refresh';
319
- if (authToken === 'recreate') {
320
- return await this.authTokenAdapter.create(payloadData);
339
+ const stateless = authTokenOptions?.stateless;
340
+ const strategy = authTokenOptions?.strategy ?? 'refresh';
341
+ const ttl = authTokenOptions?.ttl;
342
+ if (stateless) {
343
+ // do nothing
344
+ return payloadData;
345
+ } else if (strategy === 'reissue') {
346
+ return await this.authTokenAdapter.create(payloadData, ttl);
321
347
  } else {
322
348
  const payloadData2 = await this.authTokenAdapter.retrieve(payloadData);
323
349
  if (!payloadData2) {
324
- return await this.authTokenAdapter.create(payloadData);
350
+ return await this.authTokenAdapter.create(payloadData, ttl);
325
351
  }
326
- if (authToken === 'refresh') {
327
- await this.authTokenAdapter.refresh(payloadData2);
352
+ if (strategy === 'refresh') {
353
+ await this.authTokenAdapter.refresh(payloadData2, ttl);
328
354
  }
329
355
  return payloadData2;
330
356
  }
331
357
  }
358
+ async _combineAuthTokenOptions(authProviderId, authTokenOptionsCustom, authTokenOptionsDefault) {
359
+ if (!authProviderId) return authTokenOptionsDefault;
360
+ const {
361
+ clientOptions
362
+ } = await this.bean.authProvider.getClientOptions({
363
+ id: authProviderId
364
+ }, {
365
+ authTokenOptions: authTokenOptionsCustom ?? {}
366
+ }, {
367
+ authTokenOptions: authTokenOptionsDefault
368
+ });
369
+ if (!clientOptions) this.app.throw(403);
370
+ return clientOptions.authTokenOptions;
371
+ }
332
372
  };
333
373
  BeanPassport = __decorate([Bean(), BeanInfo({
334
374
  module: "a-user"
@@ -457,13 +497,13 @@ BeanUser = __decorate([Bean(), BeanInfo({
457
497
  })], BeanUser);
458
498
 
459
499
  let ServiceAuthTokenAdapter = class ServiceAuthTokenAdapter extends BeanBase {
460
- async create(payloadData) {
500
+ async create(payloadData, ttl) {
461
501
  const authIdStr = this._getAuthId(payloadData)?.toString();
462
502
  const token = authIdStr === '-1' ? createHash(authIdStr) : uuidv4();
463
503
  const payloadDataNew = Object.assign({}, payloadData, {
464
504
  [this.scope.config.payloadData.fields.token]: token
465
505
  });
466
- await this.scope.service.redisToken.create(payloadDataNew);
506
+ await this.scope.service.redisToken.create(payloadDataNew, ttl);
467
507
  return payloadDataNew;
468
508
  }
469
509
  async retrieve(payloadData) {
@@ -472,8 +512,8 @@ let ServiceAuthTokenAdapter = class ServiceAuthTokenAdapter extends BeanBase {
472
512
  async verify(payloadData) {
473
513
  return await this.scope.service.redisToken.verify(payloadData);
474
514
  }
475
- async refresh(payloadData) {
476
- await this.scope.service.redisToken.refresh(payloadData);
515
+ async refresh(payloadData, ttl) {
516
+ await this.scope.service.redisToken.refresh(payloadData, ttl);
477
517
  }
478
518
  async remove(payloadData) {
479
519
  await this.scope.service.redisToken.remove(payloadData);
@@ -506,15 +546,19 @@ let ServiceRedisToken = class ServiceRedisToken extends BeanBase {
506
546
  [this.scope.config.payloadData.fields.token]: token
507
547
  };
508
548
  }
509
- async create(payloadData) {
549
+ async create(payloadData, ttl) {
510
550
  const key = this._getAuthRedisKey(payloadData);
511
551
  if (!key || !this._getToken(payloadData)) return this.app.throw(401);
512
- await this.scope.cacheRedis.authToken.set(this._getToken(payloadData), key);
552
+ await this.scope.cacheRedis.authToken.set(this._getToken(payloadData), key, {
553
+ ttl
554
+ });
513
555
  }
514
- async refresh(payloadData) {
556
+ async refresh(payloadData, ttl) {
515
557
  const key = this._getAuthRedisKey(payloadData);
516
558
  if (!key) return this.app.throw(401);
517
- await this.scope.cacheRedis.authToken.expire(key);
559
+ await this.scope.cacheRedis.authToken.expire(key, {
560
+ ttl
561
+ });
518
562
  }
519
563
  async remove(payloadData) {
520
564
  const key = this._getAuthRedisKey(payloadData);
@@ -612,14 +656,17 @@ MetaRuntime = __decorate([Meta(), BeanInfo({
612
656
  })], MetaRuntime);
613
657
 
614
658
  function config(_app) {
615
- return {
659
+ const configUser = {
616
660
  user: {
617
661
  autoActivate: false
618
662
  },
619
663
  authToken: {
620
- refreshAuthToken: 'refresh',
621
- // 'recreate': not support different clients
622
- signin: 'refresh'
664
+ stateless: false,
665
+ strategy: {
666
+ refreshAuthToken: 'refresh',
667
+ signin: 'refresh'
668
+ },
669
+ ttl: 30 * 24 * 60 * 60 * 1000
623
670
  },
624
671
  adapter: {
625
672
  authToken: 'a-user:authTokenAdapter',
@@ -635,6 +682,7 @@ function config(_app) {
635
682
  }
636
683
  }
637
684
  };
685
+ return configUser;
638
686
  }
639
687
 
640
688
  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","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","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","isAuthenticated","app","throw","signinWithAnonymous","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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/lib/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,aAAa,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,aAAa,CAErH"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/lib/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,aAAa,EAC5D,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,EAC3B,MAAM,EAAE,CAAC,GACR,aAAa,CAEf"}
@@ -1 +1 @@
1
- {"version":3,"file":"passport.d.ts","sourceRoot":"","sources":["../../src/lib/passport.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAEvE,iBAAS,MAAM,CAAC,OAAO,GAAE,OAAc,GAAG,cAAc,GAAG,eAAe,CAEzE;AAGD,iBAAS,SAAS,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,cAAc,GAAG,eAAe,CAExE;AAED,iBAAS,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG,cAAc,GAAG,eAAe,CAE5F;AAED,iBAAS,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG,cAAc,GAAG,eAAe,CAE5F;AAED,iBAAS,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,GAAG,cAAc,GAAG,eAAe,CAEvG;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,OAAO,MAAM,CAAC;IACtB,SAAS,EAAE,OAAO,SAAS,CAAC;IAC5B,QAAQ,EAAE,OAAO,QAAQ,CAAC;IAC1B,QAAQ,EAAE,OAAO,QAAQ,CAAC;IAC1B,KAAK,EAAE,OAAO,KAAK,CAAC;CACrB;AAED,eAAO,MAAM,QAAQ,EAAE,uBAMgB,CAAC"}
1
+ {"version":3,"file":"passport.d.ts","sourceRoot":"","sources":["../../src/lib/passport.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAEvE,iBAAS,MAAM,CAAC,OAAO,GAAE,OAAc,GAAG,cAAc,GAAG,eAAe,CAEzE;AAGD,iBAAS,SAAS,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,cAAc,GAAG,eAAe,CAExE;AAED,iBAAS,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG,cAAc,GAAG,eAAe,CAE5F;AAED,iBAAS,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG,cAAc,GAAG,eAAe,CAE5F;AAED,iBAAS,KAAK,CACZ,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,GACrD,cAAc,GAAG,eAAe,CAElC;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,OAAO,MAAM,CAAC;IACtB,SAAS,EAAE,OAAO,SAAS,CAAC;IAC5B,QAAQ,EAAE,OAAO,QAAQ,CAAC;IAC1B,QAAQ,EAAE,OAAO,QAAQ,CAAC;IAC1B,KAAK,EAAE,OAAO,KAAK,CAAC;CACrB;AAED,eAAO,MAAM,QAAQ,EAAE,uBAMgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../src/lib/user.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,aAAa,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,aAAa,CAErH"}
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../src/lib/user.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,aAAa,EAC5D,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,EAC3B,MAAM,EAAE,CAAC,GACR,aAAa,CAEf"}
@@ -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;IAUtE,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,7 @@
1
1
  {
2
2
  "name": "vona-module-a-user",
3
- "version": "5.1.7",
3
+ "version": "5.1.9",
4
+ "gitHead": "a79189b882c17af5911573896a781bbb0046d37d",
4
5
  "description": "",
5
6
  "keywords": [
6
7
  "Vona Module"
@@ -30,7 +31,6 @@
30
31
  "vonaModule": {
31
32
  "dependencies": {}
32
33
  },
33
- "gitHead": "a79189b882c17af5911573896a781bbb0046d37d",
34
34
  "scripts": {
35
35
  "clean": "rimraf dist tsconfig.build.tsbuildinfo",
36
36
  "tsc:publish": "npm run clean && vona :bin:buildModule --sourcemap && tsc -p tsconfig.build.json"
@@ -1,5 +1,7 @@
1
1
  import type { TypeLocaleBase } from 'vona';
2
+
2
3
  import { $makeLocaleMagic } from 'vona';
4
+
3
5
  import locale_en_us from '../config/locale/en-us.ts';
4
6
  import locale_zh_cn from '../config/locale/zh-cn.ts';
5
7
 
@@ -8,6 +10,9 @@ export const locales = {
8
10
  'zh-cn': locale_zh_cn,
9
11
  };
10
12
 
11
- export function $locale<K extends keyof (typeof locales)[TypeLocaleBase]>(key: K, ...args: any[]): any {
13
+ export function $locale<K extends keyof (typeof locales)[TypeLocaleBase]>(
14
+ key: K,
15
+ ...args: any[]
16
+ ): any {
12
17
  return $makeLocaleMagic(`a-user::${key}`, ...args);
13
18
  }
@@ -1,10 +1,16 @@
1
- import type { IJwtClientRecord, IJwtSignOptions, IJwtToken, IJwtVerifyOptions, IPayloadData } from 'vona-module-a-jwt';
1
+ import type {
2
+ IJwtClientRecord,
3
+ IJwtSignOptions,
4
+ IJwtToken,
5
+ IJwtVerifyOptions,
6
+ IPayloadData,
7
+ } from 'vona-module-a-jwt';
2
8
 
3
9
  import { catchError, isNil } from '@cabloy/utils';
4
10
  import { BeanBase, beanFullNameFromOnionName } from 'vona';
5
11
  import { Bean } from 'vona-module-a-bean';
6
12
 
7
- import type { IAuth, IAuthIdRecord, ISigninOptions } from '../types/auth.ts';
13
+ import type { IAuth, IAuthIdRecord, IAuthTokenOptions, ISigninOptions } from '../types/auth.ts';
8
14
  import type { IAuthTokenAdapter } from '../types/authToken.ts';
9
15
  import type { IPassport, IPassportAdapter } from '../types/passport.ts';
10
16
  import type { IRole, IRoleNameRecord } from '../types/role.ts';
@@ -20,7 +26,10 @@ export class BeanPassport extends BeanBase {
20
26
 
21
27
  private get authTokenAdapter(): IAuthTokenAdapter {
22
28
  if (!this._authTokenAdapter) {
23
- const beanFullName = beanFullNameFromOnionName(this.scope.config.adapter.authToken, 'service');
29
+ const beanFullName = beanFullNameFromOnionName(
30
+ this.scope.config.adapter.authToken,
31
+ 'service',
32
+ );
24
33
  this._authTokenAdapter = this.bean._getBean(beanFullName) as IAuthTokenAdapter;
25
34
  }
26
35
  return this._authTokenAdapter;
@@ -76,10 +85,16 @@ export class BeanPassport extends BeanBase {
76
85
  // event
77
86
  await this.scope.event.signin.emit(passport);
78
87
  // 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);
88
+ const authTokenOptions = await this._combineAuthTokenOptions(
89
+ passport.auth!.authProviderId,
90
+ options?.authToken,
91
+ {
92
+ stateless: this.scope.config.authToken.stateless,
93
+ strategy: this.scope.config.authToken.strategy.signin,
94
+ ttl: this.scope.config.authToken.ttl,
95
+ },
96
+ );
97
+ const payloadData = await this._passportSerialize(passport, authTokenOptions);
83
98
  // jwt token
84
99
  return await this.bean.jwt.create(payloadData, { dev: passport.auth?.id.toString() === '-1' });
85
100
  }
@@ -112,7 +127,10 @@ export class BeanPassport extends BeanBase {
112
127
  return await this.signin(passport, options);
113
128
  }
114
129
 
115
- public async signinMock(name?: keyof IUserNameRecord, options?: ISigninOptions): Promise<IJwtToken> {
130
+ public async signinMock(
131
+ name?: keyof IUserNameRecord,
132
+ options?: ISigninOptions,
133
+ ): Promise<IJwtToken> {
116
134
  return await this.signinSystem('mock', (-10000 - ++this._mockCounter) as any, name, options);
117
135
  }
118
136
 
@@ -127,7 +145,11 @@ export class BeanPassport extends BeanBase {
127
145
  await this.authTokenAdapter.removeAll(user);
128
146
  }
129
147
 
130
- public async checkAuthToken(accessToken?: string, clientName?: keyof IJwtClientRecord, options?: IJwtVerifyOptions) {
148
+ public async checkAuthToken(
149
+ accessToken?: string,
150
+ clientName?: keyof IJwtClientRecord,
151
+ options?: IJwtVerifyOptions,
152
+ ) {
131
153
  clientName = clientName ?? 'access';
132
154
  const [payloadData, err] = await catchError(() => {
133
155
  return this.bean.jwt.get(clientName).verify(accessToken, options);
@@ -139,21 +161,41 @@ export class BeanPassport extends BeanBase {
139
161
  throw err;
140
162
  }
141
163
  if (!payloadData) return; // no jwt token
142
- const verified = await this.authTokenAdapter.verify(payloadData);
143
- if (!verified) return this.app.throw(401);
144
164
  const passport = await this.passportAdapter.deserialize(payloadData);
145
165
  if (!passport) return this.app.throw(401);
166
+ // verified
167
+ const authTokenOptions = await this._combineAuthTokenOptions(
168
+ passport.auth!.authProviderId,
169
+ undefined,
170
+ {
171
+ stateless: this.scope.config.authToken.stateless,
172
+ },
173
+ );
174
+ if (!authTokenOptions.stateless) {
175
+ const verified = await this.authTokenAdapter.verify(payloadData);
176
+ if (!verified) return this.app.throw(401);
177
+ }
178
+ // setCurrent
146
179
  await this.setCurrent(passport);
147
- return payloadData;
180
+ return { payloadData, passport };
148
181
  }
149
182
 
150
183
  public async refreshAuthToken(refreshToken: string) {
151
184
  // checkAuthToken by code
152
- let payloadData = await this.checkAuthToken(refreshToken, 'refresh');
153
- if (!payloadData) return this.app.throw(401);
185
+ let checkRes = await this.checkAuthToken(refreshToken, 'refresh');
186
+ if (!checkRes) return this.app.throw(401);
187
+ let { payloadData, passport } = checkRes;
154
188
  // refreshAuthToken
155
- const configRefreshAuthToken = this.scope.config.authToken.refreshAuthToken;
156
- payloadData = await this._handlePayloadData(payloadData, { authToken: configRefreshAuthToken });
189
+ const authTokenOptions = await this._combineAuthTokenOptions(
190
+ passport.auth!.authProviderId,
191
+ undefined,
192
+ {
193
+ stateless: this.scope.config.authToken.stateless,
194
+ strategy: this.scope.config.authToken.strategy.refreshAuthToken,
195
+ ttl: this.scope.config.authToken.ttl,
196
+ },
197
+ );
198
+ payloadData = await this._handlePayloadData(payloadData, authTokenOptions);
157
199
  // jwt token
158
200
  return await this.bean.jwt.create(payloadData);
159
201
  }
@@ -164,7 +206,7 @@ export class BeanPassport extends BeanBase {
164
206
  const passport = this.current;
165
207
  if (!passport) return this.app.throw(401);
166
208
  // payloadData
167
- const payloadData = await this._passportSerialize(passport, { authToken: 'nochange' });
209
+ const payloadData = await this._passportSerialize(passport, { strategy: 'reuse' });
168
210
  // jwt token
169
211
  return await this.bean.jwt.createTempAuthToken(payloadData, options);
170
212
  }
@@ -174,7 +216,7 @@ export class BeanPassport extends BeanBase {
174
216
  const passport = this.current;
175
217
  if (!passport) return this.app.throw(401);
176
218
  // payloadData
177
- const payloadData = await this._passportSerialize(passport, { authToken: 'nochange' });
219
+ const payloadData = await this._passportSerialize(passport, { strategy: 'reuse' });
178
220
  // jwt token
179
221
  return await this.bean.jwt.createOauthAuthToken(payloadData, options);
180
222
  }
@@ -184,7 +226,7 @@ export class BeanPassport extends BeanBase {
184
226
  const passport = this.current;
185
227
  if (!passport) return this.app.throw(401);
186
228
  // payloadData
187
- const payloadData = await this._passportSerialize(passport, { authToken: 'nochange' });
229
+ const payloadData = await this._passportSerialize(passport, { strategy: 'reuse' });
188
230
  // code
189
231
  return await this.bean.jwt.createOauthCode(payloadData, options);
190
232
  }
@@ -199,8 +241,9 @@ export class BeanPassport extends BeanBase {
199
241
 
200
242
  public async createAuthTokenFromOauthCode(code: string) {
201
243
  // checkAuthToken by code
202
- const payloadData = await this.checkAuthToken(code, 'code');
203
- if (!payloadData) return this.app.throw(401);
244
+ const checkRes = await this.checkAuthToken(code, 'code');
245
+ if (!checkRes) return this.app.throw(401);
246
+ const { payloadData } = checkRes;
204
247
  // jwt token
205
248
  return await this.bean.jwt.create(payloadData);
206
249
  }
@@ -225,28 +268,55 @@ export class BeanPassport extends BeanBase {
225
268
  return true;
226
269
  }
227
270
 
228
- private async _passportSerialize(passport: IPassport, options?: ISigninOptions) {
271
+ private async _passportSerialize(passport: IPassport, authTokenOptions?: IAuthTokenOptions) {
229
272
  // serialize
230
273
  const payloadData = await this.passportAdapter.serialize(passport);
231
- return await this._handlePayloadData(payloadData, options);
274
+ return await this._handlePayloadData(payloadData, authTokenOptions);
232
275
  }
233
276
 
234
- private async _handlePayloadData(payloadData: IPayloadData, options?: ISigninOptions) {
277
+ private async _handlePayloadData(
278
+ payloadData: IPayloadData,
279
+ authTokenOptions?: IAuthTokenOptions,
280
+ ) {
235
281
  // auth token
236
- const authToken = options?.authToken ?? 'refresh';
237
- if (authToken === 'recreate') {
238
- return await this.authTokenAdapter.create(payloadData);
282
+ const stateless = authTokenOptions?.stateless;
283
+ const strategy = authTokenOptions?.strategy ?? 'refresh';
284
+ const ttl = authTokenOptions?.ttl;
285
+ if (stateless) {
286
+ // do nothing
287
+ return payloadData;
288
+ } else if (strategy === 'reissue') {
289
+ return await this.authTokenAdapter.create(payloadData, ttl);
239
290
  } else {
240
291
  const payloadData2 = await this.authTokenAdapter.retrieve(payloadData);
241
292
  if (!payloadData2) {
242
- return await this.authTokenAdapter.create(payloadData);
293
+ return await this.authTokenAdapter.create(payloadData, ttl);
243
294
  }
244
- if (authToken === 'refresh') {
245
- await this.authTokenAdapter.refresh(payloadData2);
246
- } else if (authToken === 'nochange') {
295
+ if (strategy === 'refresh') {
296
+ await this.authTokenAdapter.refresh(payloadData2, ttl);
297
+ } else if (strategy === 'reuse') {
247
298
  // do nothing
248
299
  }
249
300
  return payloadData2;
250
301
  }
251
302
  }
303
+
304
+ private async _combineAuthTokenOptions(
305
+ authProviderId: number | undefined,
306
+ authTokenOptionsCustom: IAuthTokenOptions | undefined,
307
+ authTokenOptionsDefault: IAuthTokenOptions,
308
+ ) {
309
+ if (!authProviderId) return authTokenOptionsDefault;
310
+ const { clientOptions } = await this.bean.authProvider.getClientOptions(
311
+ {
312
+ id: authProviderId,
313
+ },
314
+ { authTokenOptions: authTokenOptionsCustom ?? {} },
315
+ {
316
+ authTokenOptions: authTokenOptionsDefault,
317
+ },
318
+ );
319
+ if (!clientOptions) this.app.throw(403);
320
+ return clientOptions.authTokenOptions!;
321
+ }
252
322
  }
@@ -24,7 +24,11 @@ export class BeanUser extends BeanBase {
24
24
  });
25
25
  }
26
26
 
27
- async register(user: Partial<IUser>, confirmed?: boolean, randomUsername?: boolean): Promise<IUser> {
27
+ async register(
28
+ user: Partial<IUser>,
29
+ confirmed?: boolean,
30
+ randomUsername?: boolean,
31
+ ): Promise<IUser> {
28
32
  // config.user.autoActivate > confirmed
29
33
  const autoActivate = this.scope.config.user.autoActivate ? true : confirmed;
30
34
  const data = { user, confirmed, autoActivate };
@@ -7,4 +7,7 @@ export type TCacheRedisAuthTokenData = string;
7
7
  ttl: 30 * 24 * 60 * 60 * 1000,
8
8
  disableTransactionCompensate: true,
9
9
  })
10
- export class CacheRedisAuthToken extends BeanCacheRedisBase<TCacheRedisAuthTokenKey, TCacheRedisAuthTokenData> {}
10
+ export class CacheRedisAuthToken extends BeanCacheRedisBase<
11
+ TCacheRedisAuthTokenKey,
12
+ TCacheRedisAuthTokenData
13
+ > {}
@@ -7,4 +7,7 @@ export type TypeEventCreateAnonymousData = undefined;
7
7
  export type TypeEventCreateAnonymousResult = Partial<IUser>;
8
8
 
9
9
  @Event()
10
- export class EventCreateAnonymous extends BeanEventBase<TypeEventCreateAnonymousData, TypeEventCreateAnonymousResult> {}
10
+ export class EventCreateAnonymous extends BeanEventBase<
11
+ TypeEventCreateAnonymousData,
12
+ TypeEventCreateAnonymousResult
13
+ > {}
@@ -28,15 +28,17 @@ export class GuardPassport extends BeanBase implements IGuardExecute {
28
28
  checkErrorJwtExpiredAndThrow(err, this.ctx.headers);
29
29
  }
30
30
  }
31
- // check current
32
- if (!this.bean.passport.current) {
33
- await this.bean.passport.signinWithAnonymous();
34
- }
31
+ // check public
35
32
  if (!options.public && !this.bean.passport.isAuthenticated) {
36
33
  // return false;
37
34
  // 401 for this guard, 403 for the next guards
38
35
  return this.app.throw(401);
39
36
  }
37
+ // anonymous
38
+ if (!this.bean.passport.current) {
39
+ await this.bean.passport.signinWithAnonymous();
40
+ }
41
+ // check activated
40
42
  if (this.bean.passport.isAuthenticated) {
41
43
  if (options.activated === true && !this.bean.passport.isActivated) {
42
44
  return this.app.throw(403);
@@ -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
  }
package/src/lib/auth.ts CHANGED
@@ -2,6 +2,9 @@ import type { TableIdentity } from 'table-identity';
2
2
 
3
3
  import type { IAuthIdRecord } from '../types/auth.ts';
4
4
 
5
- export function $getAuthIdSystem<K extends keyof IAuthIdRecord>(_authName: IAuthIdRecord[K], authId: K): TableIdentity {
5
+ export function $getAuthIdSystem<K extends keyof IAuthIdRecord>(
6
+ _authName: IAuthIdRecord[K],
7
+ authId: K,
8
+ ): TableIdentity {
6
9
  return authId;
7
10
  }
@@ -20,7 +20,9 @@ function RoleName(options?: Partial<IGuardOptionsRoleName>): ClassDecorator & Me
20
20
  return Aspect.guard('a-user:roleName', options);
21
21
  }
22
22
 
23
- function Admin(options?: Partial<Omit<IGuardOptionsRoleName, 'name'>>): ClassDecorator & MethodDecorator {
23
+ function Admin(
24
+ options?: Partial<Omit<IGuardOptionsRoleName, 'name'>>,
25
+ ): ClassDecorator & MethodDecorator {
24
26
  return Aspect.guard('a-user:roleName', Object.assign({}, options, { name: 'admin' as const }));
25
27
  }
26
28
 
package/src/lib/user.ts CHANGED
@@ -2,6 +2,9 @@ import type { TableIdentity } from 'table-identity';
2
2
 
3
3
  import type { IUserIdRecord } from '../types/user.ts';
4
4
 
5
- export function $getUserIdSystem<K extends keyof IUserIdRecord>(_userName: IUserIdRecord[K], userId: K): TableIdentity {
5
+ export function $getUserIdSystem<K extends keyof IUserIdRecord>(
6
+ _userName: IUserIdRecord[K],
7
+ userId: K,
8
+ ): TableIdentity {
6
9
  return userId;
7
10
  }
@@ -8,11 +8,13 @@ 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
- const payloadDataNew = Object.assign({}, payloadData, { [this.scope.config.payloadData.fields.token]: token });
15
- await this.scope.service.redisToken.create(payloadDataNew);
14
+ const payloadDataNew = Object.assign({}, payloadData, {
15
+ [this.scope.config.payloadData.fields.token]: token,
16
+ });
17
+ await this.scope.service.redisToken.create(payloadDataNew, ttl);
16
18
  return payloadDataNew;
17
19
  }
18
20
 
@@ -24,8 +26,8 @@ export class ServiceAuthTokenAdapter extends BeanBase implements IAuthTokenAdapt
24
26
  return await this.scope.service.redisToken.verify(payloadData);
25
27
  }
26
28
 
27
- async refresh(payloadData: IPayloadData): Promise<void> {
28
- await this.scope.service.redisToken.refresh(payloadData);
29
+ async refresh(payloadData: IPayloadData, ttl?: number): Promise<void> {
30
+ await this.scope.service.redisToken.refresh(payloadData, ttl);
29
31
  }
30
32
 
31
33
  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
  }