@gauts/auth 0.1.2 → 0.1.3
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.
- package/README.md +10 -0
- package/dist/config.d.ts +2 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +2 -0
- package/dist/config.js.map +1 -1
- package/dist/password/index.js +1 -1
- package/dist/password/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -86,6 +86,16 @@ const auth = createAuth({
|
|
|
86
86
|
});
|
|
87
87
|
```
|
|
88
88
|
|
|
89
|
+
New bcrypt hashes reject passwords above 72 bytes. Applications with historical hashes created from longer bcrypt input can opt into a larger verification-only boundary without permitting new truncated hashes:
|
|
90
|
+
|
|
91
|
+
```ts
|
|
92
|
+
password: {
|
|
93
|
+
algorithm: "bcrypt",
|
|
94
|
+
maxBytes: 72,
|
|
95
|
+
verifyMaxBytes: 1024,
|
|
96
|
+
}
|
|
97
|
+
```
|
|
98
|
+
|
|
89
99
|
The configured algorithm is used for both hashing and verification. The package does not detect, convert, migrate, or fall back to another algorithm.
|
|
90
100
|
|
|
91
101
|
## Login
|
package/dist/config.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ export type BcryptConfig = {
|
|
|
10
10
|
algorithm: "bcrypt";
|
|
11
11
|
maxBytes?: number;
|
|
12
12
|
rounds?: number;
|
|
13
|
+
verifyMaxBytes?: number;
|
|
13
14
|
};
|
|
14
15
|
export type PasswordConfig = Argon2idConfig | BcryptConfig;
|
|
15
16
|
export type SessionConfig = {
|
|
@@ -28,6 +29,7 @@ export type ResolvedPasswordConfig = {
|
|
|
28
29
|
algorithm: "bcrypt";
|
|
29
30
|
maxBytes: number;
|
|
30
31
|
rounds: number;
|
|
32
|
+
verifyMaxBytes: number;
|
|
31
33
|
};
|
|
32
34
|
export type ResolvedSessionConfig = {
|
|
33
35
|
max: number;
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG,YAAY,CAAC;AAE3D,MAAM,MAAM,aAAa,GAAG;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAC9B;IACE,SAAS,EAAE,UAAU,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB,GACD;IACE,SAAS,EAAE,QAAQ,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEN,MAAM,MAAM,qBAAqB,GAAG;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAmCF,eAAO,MAAM,qBAAqB,GAAI,SAAQ,cAAmB,KAAG,sBAuCnE,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,SAAQ,aAAkB,KAAG,qBAgBjE,CAAC"}
|
package/dist/config.js
CHANGED
|
@@ -11,6 +11,7 @@ const BCRYPT_DEFAULTS = {
|
|
|
11
11
|
algorithm: "bcrypt",
|
|
12
12
|
maxBytes: 72,
|
|
13
13
|
rounds: 12,
|
|
14
|
+
verifyMaxBytes: 72,
|
|
14
15
|
};
|
|
15
16
|
const SESSION_DEFAULTS = {
|
|
16
17
|
max: 10,
|
|
@@ -38,6 +39,7 @@ export const resolvePasswordConfig = (config = {}) => {
|
|
|
38
39
|
algorithm: "bcrypt",
|
|
39
40
|
maxBytes: requireInteger("password.maxBytes", resolved.maxBytes, 1, 72),
|
|
40
41
|
rounds: requireInteger("password.rounds", resolved.rounds, 4, 31),
|
|
42
|
+
verifyMaxBytes: requireInteger("password.verifyMaxBytes", resolved.verifyMaxBytes, resolved.maxBytes, 1_048_576),
|
|
41
43
|
};
|
|
42
44
|
}
|
|
43
45
|
const resolved = { ...ARGON_DEFAULTS, ...config };
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/password/index.js
CHANGED
|
@@ -35,7 +35,7 @@ const createBcrypt = (config) => ({
|
|
|
35
35
|
return hashBcrypt(password, config.rounds);
|
|
36
36
|
},
|
|
37
37
|
verify: async (password, storedHash) => {
|
|
38
|
-
requirePassword(password, config.
|
|
38
|
+
requirePassword(password, config.verifyMaxBytes);
|
|
39
39
|
if (!BCRYPT_PATTERN.test(storedHash)) {
|
|
40
40
|
return false;
|
|
41
41
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/password/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,UAAU,CAAC;AAGxE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAQ3C,MAAM,cAAc,GAAG,sCAAsC,CAAC;AAE9D,MAAM,eAAe,GAAG,CAAC,QAAgB,EAAE,QAAgB,EAAE,EAAE;IAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAElD,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;QAClC,MAAM,WAAW,CACf,wBAAwB,EACxB,uCAAuC,MAAM,CAAC,QAAQ,CAAC,SAAS,CACjE,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CACrB,MAAkE,EACjD,EAAE,CAAC,CAAC;IACrB,SAAS,EAAE,UAAU;IAErB,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;QACvB,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE3C,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,IAAI,EAAE,MAAM,CAAC,QAAQ;SACtB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE;QACrC,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE3C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACzC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC7C,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,CACnB,MAAgE,EAC/C,EAAE,CAAC,CAAC;IACrB,SAAS,EAAE,QAAQ;IAEnB,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;QACvB,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE3C,OAAO,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE;QACrC,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/password/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,UAAU,CAAC;AAGxE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAQ3C,MAAM,cAAc,GAAG,sCAAsC,CAAC;AAE9D,MAAM,eAAe,GAAG,CAAC,QAAgB,EAAE,QAAgB,EAAE,EAAE;IAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAElD,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;QAClC,MAAM,WAAW,CACf,wBAAwB,EACxB,uCAAuC,MAAM,CAAC,QAAQ,CAAC,SAAS,CACjE,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CACrB,MAAkE,EACjD,EAAE,CAAC,CAAC;IACrB,SAAS,EAAE,UAAU;IAErB,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;QACvB,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE3C,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,IAAI,EAAE,MAAM,CAAC,QAAQ;SACtB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE;QACrC,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE3C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACzC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC7C,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,CACnB,MAAgE,EAC/C,EAAE,CAAC,CAAC;IACrB,SAAS,EAAE,QAAQ;IAEnB,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;QACvB,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE3C,OAAO,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE;QACrC,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;QAEjD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACrC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,aAAa,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC7C,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAA8B,EAAmB,EAAE,CAChF,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC"}
|