@tstdl/base 0.84.12 → 0.84.14

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.
@@ -39,6 +39,16 @@ export type TokenResult<AdditionalTokenPayload extends Record = Record<never>> =
39
39
  jsonToken: Token<AdditionalTokenPayload>;
40
40
  refreshToken: string;
41
41
  };
42
+ type CreateTokenResult<AdditionalTokenPayload extends Record> = {
43
+ token: string;
44
+ jsonToken: Token<AdditionalTokenPayload>;
45
+ };
46
+ type CreateRefreshTokenResult = {
47
+ token: string;
48
+ jsonToken: RefreshToken;
49
+ salt: Uint8Array;
50
+ hash: Uint8Array;
51
+ };
42
52
  export declare class AuthenticationService<AdditionalTokenPayload extends Record = Record<never>, AuthenticationData = void> implements AfterResolve {
43
53
  private readonly credentialsRepository;
44
54
  private readonly sessionRepository;
@@ -70,9 +80,12 @@ export declare class AuthenticationService<AdditionalTokenPayload extends Record
70
80
  validateRefreshToken(token: string): Promise<RefreshToken>;
71
81
  validateSecretResetToken(token: string): Promise<SecretResetToken>;
72
82
  resolveSubject(subject: string): Promise<string>;
73
- private createToken;
74
- private createRefreshToken;
83
+ /** Creates a token without session or refresh token and is not saved in database */
84
+ createToken(additionalTokenPayload: AdditionalTokenPayload, subject: string, sessionId: string, refreshTokenExpiration: number, timestamp: number): Promise<CreateTokenResult<AdditionalTokenPayload>>;
85
+ /** Creates a refresh token without session or something else. */
86
+ createRefreshToken(subject: string, sessionId: string, expirationTimestamp: number): Promise<CreateRefreshTokenResult>;
75
87
  private createSecretResetToken;
76
88
  private deriveSigningSecrets;
77
89
  private getHash;
78
90
  }
91
+ export {};
@@ -224,6 +224,7 @@ let AuthenticationService = class AuthenticationService2 {
224
224
  async resolveSubject(subject) {
225
225
  return this.subjectResolver?.resolveSubject(subject) ?? subject;
226
226
  }
227
+ /** Creates a token without session or refresh token and is not saved in database */
227
228
  async createToken(additionalTokenPayload, subject, sessionId, refreshTokenExpiration, timestamp) {
228
229
  const header = {
229
230
  v: this.tokenVersion,
@@ -246,6 +247,7 @@ let AuthenticationService = class AuthenticationService2 {
246
247
  const token = await (0, import_jwt.createJwtTokenString)(jsonToken, this.derivedTokenSigningSecret);
247
248
  return { token, jsonToken };
248
249
  }
250
+ /** Creates a refresh token without session or something else. */
249
251
  async createRefreshToken(subject, sessionId, expirationTimestamp) {
250
252
  const secret = (0, import_random.getRandomString)(64, import_alphabet.Alphabet.LowerUpperCaseNumbers);
251
253
  const salt = (0, import_random.getRandomBytes)(32);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tstdl/base",
3
- "version": "0.84.12",
3
+ "version": "0.84.14",
4
4
  "author": "Patrick Hein",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -68,7 +68,7 @@ function localizationData(data) {
68
68
  function getLocalizationKeys(_localization) {
69
69
  return (0, import_property_name.getPropertyNameProxy)();
70
70
  }
71
- const autoEnumerationLocalization = (0, import_memoize.memoizeSingle)(_autoEnumerationLocalization, { weak: true });
71
+ const autoEnumerationLocalization = (0, import_memoize.memoize)(_autoEnumerationLocalization);
72
72
  const parametersPattern = /(?:\{\{\s*(?<parameter>\w+)\s*\}\})/ug;
73
73
  const warnedMissingKeys = /* @__PURE__ */ new Set();
74
74
  let LocalizationService = class LocalizationService2 {