@venturekit/auth 0.0.28 → 0.0.30
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/dist/server/config.d.ts +23 -1
- package/dist/server/config.d.ts.map +1 -1
- package/dist/server/config.js +36 -13
- package/dist/server/config.js.map +1 -1
- package/dist/server/index.d.ts +4 -4
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +2 -2
- package/dist/server/index.js.map +1 -1
- package/dist/server/middleware.d.ts +12 -0
- package/dist/server/middleware.d.ts.map +1 -1
- package/dist/server/middleware.js +28 -14
- package/dist/server/middleware.js.map +1 -1
- package/dist/server/passwordless.d.ts +17 -0
- package/dist/server/passwordless.d.ts.map +1 -1
- package/dist/server/passwordless.js +76 -1
- package/dist/server/passwordless.js.map +1 -1
- package/package.json +8 -8
package/dist/server/config.d.ts
CHANGED
|
@@ -19,6 +19,13 @@
|
|
|
19
19
|
* three into the Lambda environment automatically when an `auth` intent
|
|
20
20
|
* is declared in `vk.config.ts`.
|
|
21
21
|
*
|
|
22
|
+
* A venture with SEVERAL auth intents — its own pool plus a pool another
|
|
23
|
+
* venture owns (`external: { project, intent }`) — also gets one set per
|
|
24
|
+
* intent, `AUTH_<ID>_USER_POOL_ID` / `AUTH_<ID>_APP_CLIENT_ID` /
|
|
25
|
+
* `AUTH_<ID>_REGION` / `AUTH_<ID>_ENDPOINT` with `<ID>` the intent id in
|
|
26
|
+
* upper snake case. `loadAuthServerConfig({ intent: 'staff' })` reads that
|
|
27
|
+
* set; region and endpoint fall back to the canonical `COGNITO_*` values.
|
|
28
|
+
*
|
|
22
29
|
* Tests / scripts can pass a `config` argument explicitly to every flow
|
|
23
30
|
* and skip env-var loading entirely.
|
|
24
31
|
*/
|
|
@@ -36,6 +43,20 @@ export interface AuthServerConfig {
|
|
|
36
43
|
*/
|
|
37
44
|
endpoint?: string;
|
|
38
45
|
}
|
|
46
|
+
export interface LoadAuthServerConfigOptions {
|
|
47
|
+
/**
|
|
48
|
+
* Read the pool of ONE declared auth intent (`AUTH_<ID>_*`) instead of
|
|
49
|
+
* the canonical `COGNITO_*` set. Needed when a venture declares more
|
|
50
|
+
* than one intent, typically its own pool plus an `external` one.
|
|
51
|
+
*/
|
|
52
|
+
intent?: string;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* The env-var prefix a declared auth intent's pool is exposed under:
|
|
56
|
+
* `main` → `AUTH_MAIN`, `staff-sso` → `AUTH_STAFF_SSO`. The same
|
|
57
|
+
* derivation the deploy pipeline and `vk dev` apply when they inject.
|
|
58
|
+
*/
|
|
59
|
+
export declare function authIntentEnvPrefix(intentId: string): string;
|
|
39
60
|
/**
|
|
40
61
|
* Read server-side auth configuration from environment variables.
|
|
41
62
|
*
|
|
@@ -44,6 +65,7 @@ export interface AuthServerConfig {
|
|
|
44
65
|
* deploy.
|
|
45
66
|
*
|
|
46
67
|
* @param env Source of environment variables. Defaults to `process.env`.
|
|
68
|
+
* @param options `{ intent }` selects a declared intent's `AUTH_<ID>_*` set.
|
|
47
69
|
*/
|
|
48
|
-
export declare function loadAuthServerConfig(env?: NodeJS.ProcessEnv | Record<string, string | undefined
|
|
70
|
+
export declare function loadAuthServerConfig(env?: NodeJS.ProcessEnv | Record<string, string | undefined>, options?: LoadAuthServerConfigOptions): AuthServerConfig;
|
|
49
71
|
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/server/config.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/server/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,2BAA2B;IAC1C;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,GAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,EACzE,OAAO,GAAE,2BAAgC,GACxC,gBAAgB,CA6BlB"}
|
package/dist/server/config.js
CHANGED
|
@@ -19,9 +19,24 @@
|
|
|
19
19
|
* three into the Lambda environment automatically when an `auth` intent
|
|
20
20
|
* is declared in `vk.config.ts`.
|
|
21
21
|
*
|
|
22
|
+
* A venture with SEVERAL auth intents — its own pool plus a pool another
|
|
23
|
+
* venture owns (`external: { project, intent }`) — also gets one set per
|
|
24
|
+
* intent, `AUTH_<ID>_USER_POOL_ID` / `AUTH_<ID>_APP_CLIENT_ID` /
|
|
25
|
+
* `AUTH_<ID>_REGION` / `AUTH_<ID>_ENDPOINT` with `<ID>` the intent id in
|
|
26
|
+
* upper snake case. `loadAuthServerConfig({ intent: 'staff' })` reads that
|
|
27
|
+
* set; region and endpoint fall back to the canonical `COGNITO_*` values.
|
|
28
|
+
*
|
|
22
29
|
* Tests / scripts can pass a `config` argument explicitly to every flow
|
|
23
30
|
* and skip env-var loading entirely.
|
|
24
31
|
*/
|
|
32
|
+
/**
|
|
33
|
+
* The env-var prefix a declared auth intent's pool is exposed under:
|
|
34
|
+
* `main` → `AUTH_MAIN`, `staff-sso` → `AUTH_STAFF_SSO`. The same
|
|
35
|
+
* derivation the deploy pipeline and `vk dev` apply when they inject.
|
|
36
|
+
*/
|
|
37
|
+
export function authIntentEnvPrefix(intentId) {
|
|
38
|
+
return `AUTH_${String(intentId).toUpperCase().replace(/[^A-Z0-9_]/g, '_')}`;
|
|
39
|
+
}
|
|
25
40
|
/**
|
|
26
41
|
* Read server-side auth configuration from environment variables.
|
|
27
42
|
*
|
|
@@ -30,25 +45,33 @@
|
|
|
30
45
|
* deploy.
|
|
31
46
|
*
|
|
32
47
|
* @param env Source of environment variables. Defaults to `process.env`.
|
|
48
|
+
* @param options `{ intent }` selects a declared intent's `AUTH_<ID>_*` set.
|
|
33
49
|
*/
|
|
34
|
-
export function loadAuthServerConfig(env = process.env) {
|
|
35
|
-
const
|
|
36
|
-
const
|
|
37
|
-
const
|
|
38
|
-
const
|
|
50
|
+
export function loadAuthServerConfig(env = process.env, options = {}) {
|
|
51
|
+
const prefix = options.intent ? authIntentEnvPrefix(options.intent) : null;
|
|
52
|
+
const name = (field, canonical) => (prefix ? `${prefix}_${field}` : canonical);
|
|
53
|
+
const region = (prefix ? env[`${prefix}_REGION`] : undefined) ?? env['COGNITO_REGION'] ?? env['AWS_REGION'];
|
|
54
|
+
const userPoolId = env[name('USER_POOL_ID', 'COGNITO_USER_POOL_ID')];
|
|
55
|
+
const appClientId = env[name('APP_CLIENT_ID', 'COGNITO_APP_CLIENT_ID')];
|
|
56
|
+
const endpoint = (prefix ? env[`${prefix}_ENDPOINT`] : undefined) ?? env['COGNITO_ENDPOINT'];
|
|
39
57
|
const missing = [];
|
|
40
58
|
if (!region)
|
|
41
|
-
missing.push('COGNITO_REGION (or AWS_REGION)');
|
|
59
|
+
missing.push(prefix ? `${prefix}_REGION (or COGNITO_REGION / AWS_REGION)` : 'COGNITO_REGION (or AWS_REGION)');
|
|
42
60
|
if (!userPoolId)
|
|
43
|
-
missing.push('COGNITO_USER_POOL_ID');
|
|
61
|
+
missing.push(name('USER_POOL_ID', 'COGNITO_USER_POOL_ID'));
|
|
44
62
|
if (!appClientId)
|
|
45
|
-
missing.push('COGNITO_APP_CLIENT_ID');
|
|
63
|
+
missing.push(name('APP_CLIENT_ID', 'COGNITO_APP_CLIENT_ID'));
|
|
46
64
|
if (missing.length > 0) {
|
|
47
|
-
|
|
48
|
-
`VentureKit
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
65
|
+
const hint = prefix
|
|
66
|
+
? `VentureKit injects these for the auth intent '${options.intent}' declared in vk.config.ts — ` +
|
|
67
|
+
`deployed, from the pool (or, for \`external: { project, intent }\`, from the owner venture's ` +
|
|
68
|
+
`SSM parameters); locally, \`vk dev\` writes them from cognito-local (an external pool needs ` +
|
|
69
|
+
`the owner's \`vk dev\` to have run once).`
|
|
70
|
+
: `VentureKit's auth intent in vk.config.ts injects these into the Lambda ` +
|
|
71
|
+
`environment from the deployed user pool. For local dev, run \`vk dev\` ` +
|
|
72
|
+
`which auto-provisions a cognito-local user pool and writes the IDs ` +
|
|
73
|
+
`into the dev server's env (or set them manually in .env.local).`;
|
|
74
|
+
throw new Error(`[@venturekit/auth/server] missing env var(s): ${missing.join(', ')} — ${hint}`);
|
|
52
75
|
}
|
|
53
76
|
return {
|
|
54
77
|
region: region,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/server/config.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/server/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AA0BH;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAgB;IAClD,OAAO,QAAQ,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,EAAE,CAAC;AAC9E,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAA8D,OAAO,CAAC,GAAG,EACzE,UAAuC,EAAE;IAEzC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3E,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,SAAiB,EAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACvG,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;IAC5G,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,sBAAsB,CAAC,CAAC,CAAC;IACrE,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,uBAAuB,CAAC,CAAC,CAAC;IACxE,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAC7F,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,0CAA0C,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC;IAC3H,IAAI,CAAC,UAAU;QAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,sBAAsB,CAAC,CAAC,CAAC;IAC5E,IAAI,CAAC,WAAW;QAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAC/E,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,MAAM;YACjB,CAAC,CAAC,iDAAiD,OAAO,CAAC,MAAM,+BAA+B;gBAC9F,+FAA+F;gBAC/F,8FAA8F;gBAC9F,2CAA2C;YAC7C,CAAC,CAAC,yEAAyE;gBACzE,yEAAyE;gBACzE,qEAAqE;gBACrE,iEAAiE,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC,iDAAiD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IACnG,CAAC;IACD,OAAO;QACL,MAAM,EAAE,MAAO;QACf,UAAU,EAAE,UAAW;QACvB,WAAW,EAAE,WAAY;QACzB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClC,CAAC;AACJ,CAAC"}
|
package/dist/server/index.d.ts
CHANGED
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
* AWS SDK dependencies.
|
|
23
23
|
*/
|
|
24
24
|
export { AuthError, mapProviderError } from './errors.js';
|
|
25
|
-
export type { AuthServerConfig } from './config.js';
|
|
26
|
-
export { loadAuthServerConfig } from './config.js';
|
|
25
|
+
export type { AuthServerConfig, LoadAuthServerConfigOptions } from './config.js';
|
|
26
|
+
export { loadAuthServerConfig, authIntentEnvPrefix } from './config.js';
|
|
27
27
|
export type { SignInCredentials, SignInResult } from './sign-in.js';
|
|
28
28
|
export { signInWithPassword } from './sign-in.js';
|
|
29
29
|
export type { SignInChallenge, SignInOrChallengeResult, RespondNewPasswordInput, } from './challenge.js';
|
|
@@ -35,8 +35,8 @@ export { adminInviteUser, adminUpdateUserAttributes, adminDisableUser, adminEnab
|
|
|
35
35
|
export type { RefreshResult } from './refresh.js';
|
|
36
36
|
export { refreshSession } from './refresh.js';
|
|
37
37
|
export { revokeRefreshToken, globalSignOut } from './revoke.js';
|
|
38
|
-
export type { EnsureUserForVerifiedEmailInput, EnsureUserForVerifiedEmailResult, } from './passwordless.js';
|
|
39
|
-
export { ensureUserForVerifiedEmail, mintSessionForVerifiedEmail, } from './passwordless.js';
|
|
38
|
+
export type { EnsureUserForVerifiedEmailInput, EnsureUserForVerifiedEmailResult, EnsureUserForVerifiedPhoneInput, } from './passwordless.js';
|
|
39
|
+
export { ensureUserForVerifiedEmail, ensureUserForVerifiedPhone, mintSessionForVerifiedEmail, mintSessionForVerifiedPhone, } from './passwordless.js';
|
|
40
40
|
export type { ChangePasswordInput } from './change-password.js';
|
|
41
41
|
export { changePassword } from './change-password.js';
|
|
42
42
|
export type { ForgotPasswordInput, ForgotPasswordResult, ConfirmForgotPasswordInput, CodeDeliveryDetails, } from './forgot-password.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC1D,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
|
package/dist/server/index.js
CHANGED
|
@@ -22,14 +22,14 @@
|
|
|
22
22
|
* AWS SDK dependencies.
|
|
23
23
|
*/
|
|
24
24
|
export { AuthError, mapProviderError } from './errors.js';
|
|
25
|
-
export { loadAuthServerConfig } from './config.js';
|
|
25
|
+
export { loadAuthServerConfig, authIntentEnvPrefix } from './config.js';
|
|
26
26
|
export { signInWithPassword } from './sign-in.js';
|
|
27
27
|
export { signInWithPasswordOrChallenge, respondToNewPasswordChallenge, } from './challenge.js';
|
|
28
28
|
export { signUpUser } from './sign-up.js';
|
|
29
29
|
export { adminInviteUser, adminUpdateUserAttributes, adminDisableUser, adminEnableUser, adminDeleteUser, } from './admin-users.js';
|
|
30
30
|
export { refreshSession } from './refresh.js';
|
|
31
31
|
export { revokeRefreshToken, globalSignOut } from './revoke.js';
|
|
32
|
-
export { ensureUserForVerifiedEmail, mintSessionForVerifiedEmail, } from './passwordless.js';
|
|
32
|
+
export { ensureUserForVerifiedEmail, ensureUserForVerifiedPhone, mintSessionForVerifiedEmail, mintSessionForVerifiedPhone, } from './passwordless.js';
|
|
33
33
|
export { changePassword } from './change-password.js';
|
|
34
34
|
export { forgotPassword, confirmForgotPassword } from './forgot-password.js';
|
|
35
35
|
export { verifyAndDecode, verifyAndExplain } from './verify.js';
|
package/dist/server/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE1D,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAOlD,OAAO,EACL,6BAA6B,EAC7B,6BAA6B,GAC9B,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAO1C,OAAO,EACL,eAAe,EACf,yBAAyB,EACzB,gBAAgB,EAChB,eAAe,EACf,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAShE,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAQtD,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAG7E,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEhE,kEAAkE;AAClE,uEAAuE;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAQnD,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAWzF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAGlE,OAAO,EACL,2BAA2B,EAC3B,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAQtB,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,GAC9B,MAAM,qBAAqB,CAAC;AAU7B,OAAO,EACL,gCAAgC,EAChC,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AAUxB,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,EACvB,sBAAsB,EACtB,mCAAmC,GACpC,MAAM,mBAAmB,CAAC"}
|
|
@@ -43,8 +43,20 @@ export interface CookieAuthMiddlewareOptions {
|
|
|
43
43
|
* Explicit Cognito config. Defaults to
|
|
44
44
|
* {@link loadAuthServerConfig} (reads env vars). Providing this in
|
|
45
45
|
* tests lets you construct a middleware without touching env.
|
|
46
|
+
* Mutually exclusive with {@link intents}.
|
|
46
47
|
*/
|
|
47
48
|
config?: AuthServerConfig;
|
|
49
|
+
/**
|
|
50
|
+
* Verify against the pools of these declared auth intents, in order;
|
|
51
|
+
* the first pool that accepts the token sets `ctx.user`. Each is read
|
|
52
|
+
* with `loadAuthServerConfig(process.env, { intent })` from its
|
|
53
|
+
* `AUTH_<ID>_*` env vars. The multi-API case: a vertical service that
|
|
54
|
+
* trusts the control plane's pool (`external: { project, intent }`)
|
|
55
|
+
* and its own — `intents: ['staff', 'main']`.
|
|
56
|
+
*
|
|
57
|
+
* Omitted: the canonical `COGNITO_*` pool (the first declared intent).
|
|
58
|
+
*/
|
|
59
|
+
intents?: string[];
|
|
48
60
|
/**
|
|
49
61
|
* Map verified JWT claims to the scope strings the
|
|
50
62
|
* `handler({ scopes })` gate checks. Defaults to
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/server/middleware.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAKzD,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGpD,MAAM,WAAW,2BAA2B;IAC1C;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,IAAI,GAAG,QAAQ,CAAC;IAC3B
|
|
1
|
+
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/server/middleware.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAKzD,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGpD,MAAM,WAAW,2BAA2B;IAC1C;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,IAAI,GAAG,QAAQ,CAAC;IAC3B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC;CAC7D;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,GAAE,2BAAgC,GACxC,UAAU,CAAC,cAAc,CAAC,CAiD5B;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,sBAAsB,EAC7B,UAAU,GAAE,MAAwB,GACnC,MAAM,GAAG,IAAI,CAaf;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,MAAM,EAAE,CAiBV"}
|
|
@@ -47,31 +47,45 @@ export function cookieAuthMiddleware(options = {}) {
|
|
|
47
47
|
const cookieName = options.cookieName ?? ID_TOKEN_COOKIE;
|
|
48
48
|
const tokenUse = options.tokenUse ?? 'id';
|
|
49
49
|
const scopeMapper = options.scopeMapper ?? defaultScopeMapper;
|
|
50
|
+
if (options.config && options.intents) {
|
|
51
|
+
throw new Error('[@venturekit/auth/server] cookieAuthMiddleware: pass either `config` or `intents`, not both');
|
|
52
|
+
}
|
|
53
|
+
if (options.intents && options.intents.length === 0) {
|
|
54
|
+
throw new Error('[@venturekit/auth/server] cookieAuthMiddleware: `intents` must name at least one auth intent');
|
|
55
|
+
}
|
|
50
56
|
// Resolve config lazily so a route module can import the middleware
|
|
51
57
|
// factory at file-load time without the env vars being set (tests,
|
|
52
58
|
// local type-only imports, etc.). The first actual request resolves
|
|
53
59
|
// and caches it — if the env is misconfigured, the error surfaces on
|
|
54
60
|
// first auth attempt rather than at cold start.
|
|
55
|
-
let
|
|
56
|
-
const
|
|
57
|
-
if (!
|
|
58
|
-
|
|
59
|
-
|
|
61
|
+
let resolvedConfigs = options.config ? [options.config] : null;
|
|
62
|
+
const getConfigs = () => {
|
|
63
|
+
if (!resolvedConfigs) {
|
|
64
|
+
resolvedConfigs = options.intents
|
|
65
|
+
? options.intents.map((intent) => loadAuthServerConfig(process.env, { intent }))
|
|
66
|
+
: [loadAuthServerConfig()];
|
|
67
|
+
}
|
|
68
|
+
return resolvedConfigs;
|
|
60
69
|
};
|
|
61
70
|
return {
|
|
62
71
|
name: 'cookieAuth',
|
|
63
72
|
fn: async (ctx, next) => {
|
|
64
73
|
const token = extractToken(ctx.rawEvent, cookieName);
|
|
65
74
|
if (token) {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
+
// Several pools: the first that accepts the token wins. A token
|
|
76
|
+
// names its issuer, so at most one verifier can succeed; the
|
|
77
|
+
// others fail fast on `iss` without a JWKS round trip.
|
|
78
|
+
for (const cfg of getConfigs()) {
|
|
79
|
+
const claims = await verifyAndDecode(token, {
|
|
80
|
+
userPoolId: cfg.userPoolId,
|
|
81
|
+
clientId: cfg.appClientId,
|
|
82
|
+
tokenUse,
|
|
83
|
+
...(cfg.endpoint ? { endpoint: cfg.endpoint } : {}),
|
|
84
|
+
});
|
|
85
|
+
if (claims) {
|
|
86
|
+
ctx.user = claimsToUserContext(claims, scopeMapper);
|
|
87
|
+
break;
|
|
88
|
+
}
|
|
75
89
|
}
|
|
76
90
|
}
|
|
77
91
|
return next();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/server/middleware.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAQH,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/server/middleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -56,6 +56,21 @@ export interface EnsureUserForVerifiedEmailResult {
|
|
|
56
56
|
* calls the profile attributes are refreshed best-effort.
|
|
57
57
|
*/
|
|
58
58
|
export declare function ensureUserForVerifiedEmail(input: EnsureUserForVerifiedEmailInput, config?: AuthServerConfig): Promise<EnsureUserForVerifiedEmailResult>;
|
|
59
|
+
export interface EnsureUserForVerifiedPhoneInput {
|
|
60
|
+
/** E.164 number (`+2126…`) the app has already proven ownership of — by an OTP it delivered itself. */
|
|
61
|
+
phone: string;
|
|
62
|
+
firstName?: string;
|
|
63
|
+
lastName?: string;
|
|
64
|
+
/** Additional attributes, applied on create AND refreshed on subsequent calls. */
|
|
65
|
+
attributes?: Record<string, string>;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* The phone-keyed twin of {@link ensureUserForVerifiedEmail}, for a pool whose
|
|
69
|
+
* `signInWith` includes `'phone'`: the user is created with `phone_number` as its
|
|
70
|
+
* username and `phone_number_verified=true`, no email at all, the invite message
|
|
71
|
+
* suppressed. The `sub` is the identity the app keeps.
|
|
72
|
+
*/
|
|
73
|
+
export declare function ensureUserForVerifiedPhone(input: EnsureUserForVerifiedPhoneInput, config?: AuthServerConfig): Promise<EnsureUserForVerifiedEmailResult>;
|
|
59
74
|
/**
|
|
60
75
|
* Mint a full token set (id + access + refresh) for a user whose
|
|
61
76
|
* email the app just verified: rotate the password server-side, sign
|
|
@@ -65,4 +80,6 @@ export declare function ensureUserForVerifiedEmail(input: EnsureUserForVerifiedE
|
|
|
65
80
|
* `USER_PASSWORD_AUTH` not enabled on the app client).
|
|
66
81
|
*/
|
|
67
82
|
export declare function mintSessionForVerifiedEmail(email: string, config?: AuthServerConfig): Promise<SignInResult>;
|
|
83
|
+
/** {@link mintSessionForVerifiedEmail} for a phone-keyed user (see {@link ensureUserForVerifiedPhone}). */
|
|
84
|
+
export declare function mintSessionForVerifiedPhone(phone: string, config?: AuthServerConfig): Promise<SignInResult>;
|
|
68
85
|
//# sourceMappingURL=passwordless.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"passwordless.d.ts","sourceRoot":"","sources":["../../src/server/passwordless.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAaH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAIpD,OAAO,EAAuB,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAWrE,MAAM,WAAW,+BAA+B;IAC9C,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,gCAAgC;IAC/C,mEAAmE;IACnE,GAAG,EAAE,MAAM,CAAC;IACZ,oDAAoD;IACpD,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAC9C,KAAK,EAAE,+BAA+B,EACtC,MAAM,GAAE,gBAAyC,GAChD,OAAO,CAAC,gCAAgC,CAAC,CAgE3C;AAED;;;;;;;GAOG;AACH,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,MAAM,EACb,MAAM,GAAE,gBAAyC,GAChD,OAAO,CAAC,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"passwordless.d.ts","sourceRoot":"","sources":["../../src/server/passwordless.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAaH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAIpD,OAAO,EAAuB,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAWrE,MAAM,WAAW,+BAA+B;IAC9C,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,gCAAgC;IAC/C,mEAAmE;IACnE,GAAG,EAAE,MAAM,CAAC;IACZ,oDAAoD;IACpD,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAC9C,KAAK,EAAE,+BAA+B,EACtC,MAAM,GAAE,gBAAyC,GAChD,OAAO,CAAC,gCAAgC,CAAC,CAgE3C;AAED,MAAM,WAAW,+BAA+B;IAC9C,uGAAuG;IACvG,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC;AAED;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAC9C,KAAK,EAAE,+BAA+B,EACtC,MAAM,GAAE,gBAAyC,GAChD,OAAO,CAAC,gCAAgC,CAAC,CA0D3C;AAcD;;;;;;;GAOG;AACH,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,MAAM,EACb,MAAM,GAAE,gBAAyC,GAChD,OAAO,CAAC,YAAY,CAAC,CAEvB;AAED,2GAA2G;AAC3G,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,MAAM,EACb,MAAM,GAAE,gBAAyC,GAChD,OAAO,CAAC,YAAY,CAAC,CAEvB"}
|
|
@@ -103,6 +103,75 @@ export async function ensureUserForVerifiedEmail(input, config = loadAuthServerC
|
|
|
103
103
|
}
|
|
104
104
|
return { sub, created: false };
|
|
105
105
|
}
|
|
106
|
+
/**
|
|
107
|
+
* The phone-keyed twin of {@link ensureUserForVerifiedEmail}, for a pool whose
|
|
108
|
+
* `signInWith` includes `'phone'`: the user is created with `phone_number` as its
|
|
109
|
+
* username and `phone_number_verified=true`, no email at all, the invite message
|
|
110
|
+
* suppressed. The `sub` is the identity the app keeps.
|
|
111
|
+
*/
|
|
112
|
+
export async function ensureUserForVerifiedPhone(input, config = loadAuthServerConfig()) {
|
|
113
|
+
const client = getCognitoClient(config.region, config.endpoint);
|
|
114
|
+
const phone = normalizePhoneUsername(input.phone);
|
|
115
|
+
const attributes = [
|
|
116
|
+
{ Name: 'phone_number', Value: phone },
|
|
117
|
+
{ Name: 'phone_number_verified', Value: 'true' },
|
|
118
|
+
];
|
|
119
|
+
if (input.firstName)
|
|
120
|
+
attributes.push({ Name: 'given_name', Value: input.firstName });
|
|
121
|
+
if (input.lastName)
|
|
122
|
+
attributes.push({ Name: 'family_name', Value: input.lastName });
|
|
123
|
+
for (const [name, value] of Object.entries(input.attributes ?? {})) {
|
|
124
|
+
attributes.push({ Name: name, Value: value });
|
|
125
|
+
}
|
|
126
|
+
try {
|
|
127
|
+
const res = await client.send(new AdminCreateUserCommand({
|
|
128
|
+
UserPoolId: config.userPoolId,
|
|
129
|
+
Username: phone,
|
|
130
|
+
UserAttributes: attributes,
|
|
131
|
+
MessageAction: MessageActionType.SUPPRESS,
|
|
132
|
+
}));
|
|
133
|
+
const sub = res.User?.Attributes?.find((a) => a.Name === 'sub')?.Value;
|
|
134
|
+
if (!sub) {
|
|
135
|
+
throw new AuthError('incomplete_auth_result', 'AdminCreateUser did not return a sub', 500);
|
|
136
|
+
}
|
|
137
|
+
return { sub, created: true };
|
|
138
|
+
}
|
|
139
|
+
catch (err) {
|
|
140
|
+
if (!(err instanceof UsernameExistsException)) {
|
|
141
|
+
throw err instanceof AuthError ? err : mapProviderError(err, 'sign_up_failed');
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
const existing = await client.send(new AdminGetUserCommand({ UserPoolId: config.userPoolId, Username: phone }));
|
|
145
|
+
const sub = existing.UserAttributes?.find((a) => a.Name === 'sub')?.Value;
|
|
146
|
+
if (!sub) {
|
|
147
|
+
throw new AuthError('incomplete_auth_result', 'AdminGetUser did not return a sub', 500);
|
|
148
|
+
}
|
|
149
|
+
const updates = attributes.filter((a) => a.Name !== 'phone_number' && a.Name !== 'phone_number_verified');
|
|
150
|
+
if (updates.length) {
|
|
151
|
+
try {
|
|
152
|
+
await client.send(new AdminUpdateUserAttributesCommand({
|
|
153
|
+
UserPoolId: config.userPoolId,
|
|
154
|
+
Username: phone,
|
|
155
|
+
UserAttributes: updates,
|
|
156
|
+
}));
|
|
157
|
+
}
|
|
158
|
+
catch {
|
|
159
|
+
// Best-effort, as for the email variant.
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
return { sub, created: false };
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Cognito stores `phone_number` in E.164 and matches the username on it exactly;
|
|
166
|
+
* a stray space or dash from the caller would create a second user.
|
|
167
|
+
*/
|
|
168
|
+
function normalizePhoneUsername(phone) {
|
|
169
|
+
const compact = phone.replace(/[^\d+]/g, '');
|
|
170
|
+
if (!/^\+[1-9]\d{7,14}$/.test(compact)) {
|
|
171
|
+
throw new AuthError('invalid_parameter', `Not an E.164 phone number: ${JSON.stringify(phone)}`, 400);
|
|
172
|
+
}
|
|
173
|
+
return compact;
|
|
174
|
+
}
|
|
106
175
|
/**
|
|
107
176
|
* Mint a full token set (id + access + refresh) for a user whose
|
|
108
177
|
* email the app just verified: rotate the password server-side, sign
|
|
@@ -112,8 +181,14 @@ export async function ensureUserForVerifiedEmail(input, config = loadAuthServerC
|
|
|
112
181
|
* `USER_PASSWORD_AUTH` not enabled on the app client).
|
|
113
182
|
*/
|
|
114
183
|
export async function mintSessionForVerifiedEmail(email, config = loadAuthServerConfig()) {
|
|
184
|
+
return mintSessionForUsername(email.trim().toLowerCase(), config);
|
|
185
|
+
}
|
|
186
|
+
/** {@link mintSessionForVerifiedEmail} for a phone-keyed user (see {@link ensureUserForVerifiedPhone}). */
|
|
187
|
+
export async function mintSessionForVerifiedPhone(phone, config = loadAuthServerConfig()) {
|
|
188
|
+
return mintSessionForUsername(normalizePhoneUsername(phone), config);
|
|
189
|
+
}
|
|
190
|
+
async function mintSessionForUsername(normalized, config) {
|
|
115
191
|
const client = getCognitoClient(config.region, config.endpoint);
|
|
116
|
-
const normalized = email.trim().toLowerCase();
|
|
117
192
|
const password = generateRotatingPassword();
|
|
118
193
|
try {
|
|
119
194
|
await client.send(new AdminSetUserPasswordCommand({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"passwordless.js","sourceRoot":"","sources":["../../src/server/passwordless.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,2BAA2B,EAC3B,gCAAgC,EAChC,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,GAExB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAqB,MAAM,aAAa,CAAC;AAErE;;;;GAIG;AACH,SAAS,wBAAwB;IAC/B,OAAO,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC;AACxD,CAAC;AAsBD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,KAAsC,EACtC,SAA2B,oBAAoB,EAAE;IAEjD,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAE/C,MAAM,UAAU,GAAoB;QAClC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE;QAC/B,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE;KAC1C,CAAC;IACF,IAAI,KAAK,CAAC,SAAS;QAAE,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;IACrF,IAAI,KAAK,CAAC,QAAQ;QAAE,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpF,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC;QACnE,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAC3B,IAAI,sBAAsB,CAAC;YACzB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,QAAQ,EAAE,KAAK;YACf,cAAc,EAAE,UAAU;YAC1B,aAAa,EAAE,iBAAiB,CAAC,QAAQ;SAC1C,CAAC,CACH,CAAC;QACF,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,KAAK,CAAC;QACvE,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,SAAS,CACjB,wBAAwB,EACxB,sCAAsC,EACtC,GAAG,CACJ,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAChC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,CAAC,GAAG,YAAY,uBAAuB,CAAC,EAAE,CAAC;YAC9C,MAAM,GAAG,YAAY,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IAED,kEAAkE;IAClE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAChC,IAAI,mBAAmB,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAC5E,CAAC;IACF,MAAM,GAAG,GAAG,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,KAAK,CAAC;IAC1E,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,SAAS,CAAC,wBAAwB,EAAE,mCAAmC,EAAE,GAAG,CAAC,CAAC;IAC1F,CAAC;IACD,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAC/B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB,CACzD,CAAC;IACF,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,CACf,IAAI,gCAAgC,CAAC;gBACnC,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,QAAQ,EAAE,KAAK;gBACf,cAAc,EAAE,OAAO;aACxB,CAAC,CACH,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,+DAA+D;YAC/D,+BAA+B;QACjC,CAAC;IACH,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AACjC,CAAC;
|
|
1
|
+
{"version":3,"file":"passwordless.js","sourceRoot":"","sources":["../../src/server/passwordless.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,2BAA2B,EAC3B,gCAAgC,EAChC,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,GAExB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAqB,MAAM,aAAa,CAAC;AAErE;;;;GAIG;AACH,SAAS,wBAAwB;IAC/B,OAAO,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC;AACxD,CAAC;AAsBD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,KAAsC,EACtC,SAA2B,oBAAoB,EAAE;IAEjD,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAE/C,MAAM,UAAU,GAAoB;QAClC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE;QAC/B,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE;KAC1C,CAAC;IACF,IAAI,KAAK,CAAC,SAAS;QAAE,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;IACrF,IAAI,KAAK,CAAC,QAAQ;QAAE,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpF,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC;QACnE,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAC3B,IAAI,sBAAsB,CAAC;YACzB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,QAAQ,EAAE,KAAK;YACf,cAAc,EAAE,UAAU;YAC1B,aAAa,EAAE,iBAAiB,CAAC,QAAQ;SAC1C,CAAC,CACH,CAAC;QACF,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,KAAK,CAAC;QACvE,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,SAAS,CACjB,wBAAwB,EACxB,sCAAsC,EACtC,GAAG,CACJ,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAChC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,CAAC,GAAG,YAAY,uBAAuB,CAAC,EAAE,CAAC;YAC9C,MAAM,GAAG,YAAY,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IAED,kEAAkE;IAClE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAChC,IAAI,mBAAmB,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAC5E,CAAC;IACF,MAAM,GAAG,GAAG,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,KAAK,CAAC;IAC1E,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,SAAS,CAAC,wBAAwB,EAAE,mCAAmC,EAAE,GAAG,CAAC,CAAC;IAC1F,CAAC;IACD,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAC/B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB,CACzD,CAAC;IACF,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,CACf,IAAI,gCAAgC,CAAC;gBACnC,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,QAAQ,EAAE,KAAK;gBACf,cAAc,EAAE,OAAO;aACxB,CAAC,CACH,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,+DAA+D;YAC/D,+BAA+B;QACjC,CAAC;IACH,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AACjC,CAAC;AAWD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,KAAsC,EACtC,SAA2B,oBAAoB,EAAE;IAEjD,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,sBAAsB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAElD,MAAM,UAAU,GAAoB;QAClC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE;QACtC,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,MAAM,EAAE;KACjD,CAAC;IACF,IAAI,KAAK,CAAC,SAAS;QAAE,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;IACrF,IAAI,KAAK,CAAC,QAAQ;QAAE,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpF,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC;QACnE,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAC3B,IAAI,sBAAsB,CAAC;YACzB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,QAAQ,EAAE,KAAK;YACf,cAAc,EAAE,UAAU;YAC1B,aAAa,EAAE,iBAAiB,CAAC,QAAQ;SAC1C,CAAC,CACH,CAAC;QACF,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,KAAK,CAAC;QACvE,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,SAAS,CAAC,wBAAwB,EAAE,sCAAsC,EAAE,GAAG,CAAC,CAAC;QAC7F,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAChC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,CAAC,GAAG,YAAY,uBAAuB,CAAC,EAAE,CAAC;YAC9C,MAAM,GAAG,YAAY,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAChC,IAAI,mBAAmB,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAC5E,CAAC;IACF,MAAM,GAAG,GAAG,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,KAAK,CAAC;IAC1E,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,SAAS,CAAC,wBAAwB,EAAE,mCAAmC,EAAE,GAAG,CAAC,CAAC;IAC1F,CAAC;IACD,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAC/B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,CAAC,IAAI,KAAK,uBAAuB,CACvE,CAAC;IACF,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,CACf,IAAI,gCAAgC,CAAC;gBACnC,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,QAAQ,EAAE,KAAK;gBACf,cAAc,EAAE,OAAO;aACxB,CAAC,CACH,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,yCAAyC;QAC3C,CAAC;IACH,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AACjC,CAAC;AAED;;;GAGG;AACH,SAAS,sBAAsB,CAAC,KAAa;IAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,SAAS,CAAC,mBAAmB,EAAE,8BAA8B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACvG,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,KAAa,EACb,SAA2B,oBAAoB,EAAE;IAEjD,OAAO,sBAAsB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,MAAM,CAAC,CAAC;AACpE,CAAC;AAED,2GAA2G;AAC3G,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,KAAa,EACb,SAA2B,oBAAoB,EAAE;IAEjD,OAAO,sBAAsB,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;AACvE,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,UAAkB,EAAE,MAAwB;IAChF,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,wBAAwB,EAAE,CAAC;IAE5C,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,CACf,IAAI,2BAA2B,CAAC;YAC9B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,QAAQ,EAAE,UAAU;YACpB,QAAQ,EAAE,QAAQ;YAClB,SAAS,EAAE,IAAI;SAChB,CAAC,CACH,CAAC;QACF,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAC3B,IAAI,mBAAmB,CAAC;YACtB,QAAQ,EAAE,oBAAoB;YAC9B,QAAQ,EAAE,MAAM,CAAC,WAAW;YAC5B,cAAc,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE;SAC7D,CAAC,CACH,CAAC;QACF,OAAO,mBAAmB,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,YAAY,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IACjF,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@venturekit/auth",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.30",
|
|
4
4
|
"description": "Authentication and authorization for VentureKit",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -41,14 +41,14 @@
|
|
|
41
41
|
}
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@venturekit/core": "0.0.
|
|
45
|
-
"@aws-sdk/client-cognito-identity-provider": "^3.
|
|
46
|
-
"@aws-sdk/client-secrets-manager": "^3.
|
|
44
|
+
"@venturekit/core": "0.0.30",
|
|
45
|
+
"@aws-sdk/client-cognito-identity-provider": "^3.1126.0",
|
|
46
|
+
"@aws-sdk/client-secrets-manager": "^3.1126.0",
|
|
47
47
|
"aws-jwt-verify": "^4.0.1"
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|
|
50
|
-
"@venturekit/data": "0.0.
|
|
51
|
-
"@venturekit/runtime": "0.0.
|
|
50
|
+
"@venturekit/data": "0.0.30",
|
|
51
|
+
"@venturekit/runtime": "0.0.30"
|
|
52
52
|
},
|
|
53
53
|
"peerDependenciesMeta": {
|
|
54
54
|
"@venturekit/data": {
|
|
@@ -59,8 +59,8 @@
|
|
|
59
59
|
}
|
|
60
60
|
},
|
|
61
61
|
"devDependencies": {
|
|
62
|
-
"@venturekit/data": "0.0.
|
|
63
|
-
"@venturekit/runtime": "0.0.
|
|
62
|
+
"@venturekit/data": "0.0.30",
|
|
63
|
+
"@venturekit/runtime": "0.0.30",
|
|
64
64
|
"@types/aws-lambda": "^8.10.131",
|
|
65
65
|
"@types/node": "^26.1.2",
|
|
66
66
|
"typescript": "^5.3.0"
|