@teleporthq/teleport-plugin-next-workflows 0.45.1 → 0.45.4
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/__tests__/analytics-track-outcome.test.ts +71 -3
- package/__tests__/auth-password-security.test.ts +101 -0
- package/__tests__/automations-bus.test.ts +85 -2
- package/__tests__/resolve-handler-entry-name.test.ts +21 -0
- package/__tests__/security-lists-parity.test.ts +2 -2
- package/__tests__/security-runtime.test.ts +37 -20
- package/dist/cjs/auth-generator.d.ts.map +1 -1
- package/dist/cjs/auth-generator.js +48 -19
- package/dist/cjs/auth-generator.js.map +1 -1
- package/dist/cjs/automations/event-bus-source.d.ts.map +1 -1
- package/dist/cjs/automations/event-bus-source.js +37 -23
- package/dist/cjs/automations/event-bus-source.js.map +1 -1
- package/dist/cjs/nodes/account/account-request-password-reset.d.ts.map +1 -1
- package/dist/cjs/nodes/account/account-request-password-reset.js +3 -2
- package/dist/cjs/nodes/account/account-request-password-reset.js.map +1 -1
- package/dist/cjs/nodes/analytics/analytics-track-outcome.d.ts.map +1 -1
- package/dist/cjs/nodes/analytics/analytics-track-outcome.js +17 -4
- package/dist/cjs/nodes/analytics/analytics-track-outcome.js.map +1 -1
- package/dist/cjs/nodes/email/outbound-message-guard.d.ts +6 -3
- package/dist/cjs/nodes/email/outbound-message-guard.d.ts.map +1 -1
- package/dist/cjs/nodes/email/outbound-message-guard.js +8 -4
- package/dist/cjs/nodes/email/outbound-message-guard.js.map +1 -1
- package/dist/cjs/nodes/sms/sms-infobip.js +1 -1
- package/dist/cjs/nodes/sms/sms-infobip.js.map +1 -1
- package/dist/cjs/nodes/sms/sms-smsapi.js +1 -1
- package/dist/cjs/nodes/sms/sms-smsapi.js.map +1 -1
- package/dist/cjs/nodes/sms/sms-textmagic.js +1 -1
- package/dist/cjs/nodes/sms/sms-textmagic.js.map +1 -1
- package/dist/cjs/nodes/sms/sms-twilio.js +1 -1
- package/dist/cjs/nodes/sms/sms-twilio.js.map +1 -1
- package/dist/cjs/nodes/types.d.ts +1 -1
- package/dist/cjs/nodes/types.d.ts.map +1 -1
- package/dist/cjs/nodes/types.js +7 -2
- package/dist/cjs/nodes/types.js.map +1 -1
- package/dist/cjs/password-reset-route-generator.d.ts +2 -0
- package/dist/cjs/password-reset-route-generator.d.ts.map +1 -1
- package/dist/cjs/password-reset-route-generator.js +17 -10
- package/dist/cjs/password-reset-route-generator.js.map +1 -1
- package/dist/cjs/security-runtime/security-runtime-code.d.ts +3 -2
- package/dist/cjs/security-runtime/security-runtime-code.d.ts.map +1 -1
- package/dist/cjs/security-runtime/security-runtime-code.js +17 -13
- package/dist/cjs/security-runtime/security-runtime-code.js.map +1 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/auth-generator.d.ts.map +1 -1
- package/dist/esm/auth-generator.js +48 -19
- package/dist/esm/auth-generator.js.map +1 -1
- package/dist/esm/automations/event-bus-source.d.ts.map +1 -1
- package/dist/esm/automations/event-bus-source.js +37 -23
- package/dist/esm/automations/event-bus-source.js.map +1 -1
- package/dist/esm/nodes/account/account-request-password-reset.d.ts.map +1 -1
- package/dist/esm/nodes/account/account-request-password-reset.js +3 -2
- package/dist/esm/nodes/account/account-request-password-reset.js.map +1 -1
- package/dist/esm/nodes/analytics/analytics-track-outcome.d.ts.map +1 -1
- package/dist/esm/nodes/analytics/analytics-track-outcome.js +17 -4
- package/dist/esm/nodes/analytics/analytics-track-outcome.js.map +1 -1
- package/dist/esm/nodes/email/outbound-message-guard.d.ts +6 -3
- package/dist/esm/nodes/email/outbound-message-guard.d.ts.map +1 -1
- package/dist/esm/nodes/email/outbound-message-guard.js +8 -4
- package/dist/esm/nodes/email/outbound-message-guard.js.map +1 -1
- package/dist/esm/nodes/sms/sms-infobip.js +1 -1
- package/dist/esm/nodes/sms/sms-infobip.js.map +1 -1
- package/dist/esm/nodes/sms/sms-smsapi.js +1 -1
- package/dist/esm/nodes/sms/sms-smsapi.js.map +1 -1
- package/dist/esm/nodes/sms/sms-textmagic.js +1 -1
- package/dist/esm/nodes/sms/sms-textmagic.js.map +1 -1
- package/dist/esm/nodes/sms/sms-twilio.js +1 -1
- package/dist/esm/nodes/sms/sms-twilio.js.map +1 -1
- package/dist/esm/nodes/types.d.ts +1 -1
- package/dist/esm/nodes/types.d.ts.map +1 -1
- package/dist/esm/nodes/types.js +7 -2
- package/dist/esm/nodes/types.js.map +1 -1
- package/dist/esm/password-reset-route-generator.d.ts +2 -0
- package/dist/esm/password-reset-route-generator.d.ts.map +1 -1
- package/dist/esm/password-reset-route-generator.js +16 -9
- package/dist/esm/password-reset-route-generator.js.map +1 -1
- package/dist/esm/security-runtime/security-runtime-code.d.ts +3 -2
- package/dist/esm/security-runtime/security-runtime-code.d.ts.map +1 -1
- package/dist/esm/security-runtime/security-runtime-code.js +17 -13
- package/dist/esm/security-runtime/security-runtime-code.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/auth-generator.ts +48 -19
- package/src/automations/event-bus-source.ts +37 -23
- package/src/nodes/account/account-request-password-reset.ts +3 -2
- package/src/nodes/analytics/analytics-track-outcome.ts +17 -4
- package/src/nodes/email/outbound-message-guard.ts +13 -7
- package/src/nodes/sms/sms-infobip.ts +1 -1
- package/src/nodes/sms/sms-smsapi.ts +1 -1
- package/src/nodes/sms/sms-textmagic.ts +1 -1
- package/src/nodes/sms/sms-twilio.ts +1 -1
- package/src/nodes/types.ts +7 -2
- package/src/password-reset-route-generator.ts +18 -9
- package/src/security-runtime/security-runtime-code.ts +17 -13
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sms-smsapi.js","sourceRoot":"","sources":["../../../../src/nodes/sms/sms-smsapi.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAA;AAI/E,KAAK,UAAU,UAAU,CAAC,MAAW,EAAE,OAAgC;IACrE,wEAAwE;IACxE,gCAAgC;IAChC,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IACpE,IAAI,OAAO,EAAE;QACX,sEAAsE;QACtE,OAAO,OAAO,CAAC,OAAO;YACpB,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE;YAC3D,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAA;KAC5D;IACD,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAA;IACtC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;IACxB,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAA;IACpB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;IAE9B,IAAI;QACF,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAA;QACpC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAC3B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QACvB,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QACjC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QAE/B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,+BAA+B,EAAE;YAC5D,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,aAAa,EAAE,SAAS,GAAG,WAAW;gBACtC,cAAc,EAAE,mCAAmC;aACpD;YACD,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE;SACxB,CAAC,CAAA;QAEF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAElC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE;YAC9B,OAAO;gBACL,SAAS,EAAE,EAAE;gBACb,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,oBAAoB;aAC5D,CAAA;SACF;QAED,IAAI,KAAK,GAAG,EAAE,CAAA;QACd,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YAC7B,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAA;SAC9B;QAED,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;KACnD;IAAC,OAAO,GAAY,EAAE;QACrB,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAA;KACxE;AACH,CAAC;AACD,MAAM,CAAC,MAAM,SAAS,mBACpB,QAAQ,EAAE,YAAY,EACtB,YAAY,EAAE,QAAQ,IACnB,6BAA6B,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"sms-smsapi.js","sourceRoot":"","sources":["../../../../src/nodes/sms/sms-smsapi.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAA;AAI/E,KAAK,UAAU,UAAU,CAAC,MAAW,EAAE,OAAgC;IACrE,wEAAwE;IACxE,gCAAgC;IAChC,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IACpE,IAAI,OAAO,EAAE;QACX,sEAAsE;QACtE,OAAO,OAAO,CAAC,OAAO;YACpB,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE;YAC3D,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAA;KAC5D;IACD,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAA;IACtC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;IACxB,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAA;IACpB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;IAE9B,IAAI;QACF,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAA;QACpC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAC3B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QACvB,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QACjC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QAE/B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,+BAA+B,EAAE;YAC5D,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,aAAa,EAAE,SAAS,GAAG,WAAW;gBACtC,cAAc,EAAE,mCAAmC;aACpD;YACD,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE;SACxB,CAAC,CAAA;QAEF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAElC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE;YAC9B,OAAO;gBACL,SAAS,EAAE,EAAE;gBACb,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,oBAAoB;aAC5D,CAAA;SACF;QAED,IAAI,KAAK,GAAG,EAAE,CAAA;QACd,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YAC7B,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAA;SAC9B;QAED,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;KACnD;IAAC,OAAO,GAAY,EAAE;QACrB,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAA;KACxE;AACH,CAAC;AACD,MAAM,CAAC,MAAM,SAAS,mBACpB,QAAQ,EAAE,YAAY,EACtB,YAAY,EAAE,QAAQ,IACnB,6BAA6B,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CACzE,CAAA"}
|
|
@@ -39,5 +39,5 @@ async function sms_textmagic(config, context) {
|
|
|
39
39
|
return { messageId: '', success: false, error: err.message };
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
|
-
export const smsTextmagic = Object.assign({ nodeType: 'sms-textmagic', executionEnv: 'server' }, outboundMessageHandlerSources(sms_textmagic));
|
|
42
|
+
export const smsTextmagic = Object.assign({ nodeType: 'sms-textmagic', executionEnv: 'server' }, outboundMessageHandlerSources(sms_textmagic, { nodeType: 'sms-textmagic' }));
|
|
43
43
|
//# sourceMappingURL=sms-textmagic.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sms-textmagic.js","sourceRoot":"","sources":["../../../../src/nodes/sms/sms-textmagic.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAA;AAI/E,KAAK,UAAU,aAAa,CAAC,MAAW,EAAE,OAAgC;IACxE,wEAAwE;IACxE,gCAAgC;IAChC,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IACpE,IAAI,OAAO,EAAE;QACX,sEAAsE;QACtE,OAAO,OAAO,CAAC,OAAO;YACpB,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE;YAC3D,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAA;KAC5D;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;IAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;IAChC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;IACxB,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAA;IACpB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;IAE9B,IAAI;QACF,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QAErD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,4CAA4C,EAAE;YACzE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,eAAe,EAAE,QAAQ;gBACzB,UAAU,EAAE,MAAM;aACnB;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,OAAO;gBACf,IAAI;aACL,CAAC;SACH,CAAC,CAAA;QAEF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAElC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YAChB,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,IAAI,oBAAoB,EAAE,CAAA;SACtF;QAED,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;KAC3D;IAAC,OAAO,GAAY,EAAE;QACrB,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAA;KACxE;AACH,CAAC;AACD,MAAM,CAAC,MAAM,YAAY,mBACvB,QAAQ,EAAE,eAAe,EACzB,YAAY,EAAE,QAAQ,IACnB,6BAA6B,CAAC,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"sms-textmagic.js","sourceRoot":"","sources":["../../../../src/nodes/sms/sms-textmagic.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAA;AAI/E,KAAK,UAAU,aAAa,CAAC,MAAW,EAAE,OAAgC;IACxE,wEAAwE;IACxE,gCAAgC;IAChC,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IACpE,IAAI,OAAO,EAAE;QACX,sEAAsE;QACtE,OAAO,OAAO,CAAC,OAAO;YACpB,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE;YAC3D,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAA;KAC5D;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;IAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;IAChC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;IACxB,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAA;IACpB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;IAE9B,IAAI;QACF,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QAErD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,4CAA4C,EAAE;YACzE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,eAAe,EAAE,QAAQ;gBACzB,UAAU,EAAE,MAAM;aACnB;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,OAAO;gBACf,IAAI;aACL,CAAC;SACH,CAAC,CAAA;QAEF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAElC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YAChB,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,IAAI,oBAAoB,EAAE,CAAA;SACtF;QAED,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;KAC3D;IAAC,OAAO,GAAY,EAAE;QACrB,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAA;KACxE;AACH,CAAC;AACD,MAAM,CAAC,MAAM,YAAY,mBACvB,QAAQ,EAAE,eAAe,EACzB,YAAY,EAAE,QAAQ,IACnB,6BAA6B,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAC/E,CAAA"}
|
|
@@ -43,5 +43,5 @@ async function sms_twilio(config, context) {
|
|
|
43
43
|
}
|
|
44
44
|
export const smsTwilio = Object.assign({ nodeType: 'sms-twilio', executionEnv: 'server', dependencies: {
|
|
45
45
|
twilio: '^5.0.0',
|
|
46
|
-
} }, outboundMessageHandlerSources(sms_twilio));
|
|
46
|
+
} }, outboundMessageHandlerSources(sms_twilio, { nodeType: 'sms-twilio' }));
|
|
47
47
|
//# sourceMappingURL=sms-twilio.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sms-twilio.js","sourceRoot":"","sources":["../../../../src/nodes/sms/sms-twilio.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAA;AAI/E,KAAK,UAAU,UAAU,CAAC,MAAW,EAAE,OAAgC;IACrE,wEAAwE;IACxE,gCAAgC;IAChC,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IACpE,IAAI,OAAO,EAAE;QACX,sEAAsE;QACtE,OAAO,OAAO,CAAC,OAAO;YACpB,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE;YAC5D,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAA;KAC7D;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAA;IACpC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;IAClC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;IACxB,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAA;IACpB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;IAC9B,MAAM,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAA;IACtD,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,CAAA;IAE5C,IAAI;QACF,MAAM,aAAa,GACjB,OAAO,uBAAuB,KAAK,WAAW,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,OAAO,CAAA;QACpF,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;QACtC,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;QAE5C,MAAM,UAAU,GAAwB;YACtC,IAAI,EAAE,OAAO;YACb,EAAE;SACH,CAAA;QAED,IAAI,mBAAmB,EAAE;YACvB,UAAU,CAAC,mBAAmB,GAAG,mBAAmB,CAAA;SACrD;aAAM;YACL,UAAU,CAAC,IAAI,GAAG,IAAI,CAAA;SACvB;QAED,IAAI,cAAc,EAAE;YAClB,UAAU,CAAC,cAAc,GAAG,cAAc,CAAA;SAC3C;QAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,GAAG,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,CAAA;KACpF;IAAC,OAAO,GAAY,EAAE;QACrB,MAAM,KAAK,GAAG,GAAU,CAAA;QACxB,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,oBAAoB,EAAE,CAAA;KACxF;AACH,CAAC;AACD,MAAM,CAAC,MAAM,SAAS,mBACpB,QAAQ,EAAE,YAAY,EACtB,YAAY,EAAE,QAAQ,EACtB,YAAY,EAAE;QACZ,MAAM,EAAE,QAAQ;KACjB,IACE,6BAA6B,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"sms-twilio.js","sourceRoot":"","sources":["../../../../src/nodes/sms/sms-twilio.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAA;AAI/E,KAAK,UAAU,UAAU,CAAC,MAAW,EAAE,OAAgC;IACrE,wEAAwE;IACxE,gCAAgC;IAChC,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IACpE,IAAI,OAAO,EAAE;QACX,sEAAsE;QACtE,OAAO,OAAO,CAAC,OAAO;YACpB,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE;YAC5D,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAA;KAC7D;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAA;IACpC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;IAClC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;IACxB,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAA;IACpB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;IAC9B,MAAM,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAA;IACtD,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,CAAA;IAE5C,IAAI;QACF,MAAM,aAAa,GACjB,OAAO,uBAAuB,KAAK,WAAW,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,OAAO,CAAA;QACpF,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;QACtC,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;QAE5C,MAAM,UAAU,GAAwB;YACtC,IAAI,EAAE,OAAO;YACb,EAAE;SACH,CAAA;QAED,IAAI,mBAAmB,EAAE;YACvB,UAAU,CAAC,mBAAmB,GAAG,mBAAmB,CAAA;SACrD;aAAM;YACL,UAAU,CAAC,IAAI,GAAG,IAAI,CAAA;SACvB;QAED,IAAI,cAAc,EAAE;YAClB,UAAU,CAAC,cAAc,GAAG,cAAc,CAAA;SAC3C;QAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,GAAG,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,CAAA;KACpF;IAAC,OAAO,GAAY,EAAE;QACrB,MAAM,KAAK,GAAG,GAAU,CAAA;QACxB,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,oBAAoB,EAAE,CAAA;KACxF;AACH,CAAC;AACD,MAAM,CAAC,MAAM,SAAS,mBACpB,QAAQ,EAAE,YAAY,EACtB,YAAY,EAAE,QAAQ,EACtB,YAAY,EAAE;QACZ,MAAM,EAAE,QAAQ;KACjB,IACE,6BAA6B,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CACzE,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export type HandlerFn = (config: unknown, context: Record<string, unknown>) => Promise<unknown>;
|
|
2
|
-
export declare function handlerToString(fn: HandlerFn): string;
|
|
2
|
+
export declare function handlerToString(fn: HandlerFn, name?: string): string;
|
|
3
3
|
export declare function resolveHandlerEntryName(source: string, nodeType: string): string;
|
|
4
4
|
/** What a route's server handlers are generated for. */
|
|
5
5
|
export interface ServerHandlerOptions {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/nodes/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/nodes/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;AAM/F,wBAAgB,eAAe,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAGpE;AAkCD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAwEhF;AAED,wDAAwD;AACxD,MAAM,WAAW,oBAAoB;IACnC,kEAAkE;IAClE,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,qEAAqE;IACrE,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAA;IAC/C,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,eAAe,IAAI,MAAM,CAAA;IACzB,qBAAqB,CAAC,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,MAAM,CAAA;CAC/D;AAED,MAAM,WAAW,2BAA4B,SAAQ,oBAAoB;IACvE,YAAY,EAAE,MAAM,EAAE,CAAA;CACvB"}
|
package/dist/esm/nodes/types.js
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
// `name` gives the handler its name back when a consumer's minifier inlined
|
|
2
|
+
// it, as an anonymous expression, into the one call that reads it (a handler
|
|
3
|
+
// passed by value at module level): `async function(e,t){…}` cannot stand as
|
|
4
|
+
// a statement, `async function email_resend(e,t){…}` can.
|
|
5
|
+
export function handlerToString(fn, name) {
|
|
6
|
+
const source = fn.toString();
|
|
7
|
+
return name ? source.replace(/^(async\s+)?function\s*\(/, `$1function ${name}(`) : source;
|
|
3
8
|
}
|
|
4
9
|
// A `function` keyword opening a line with no name after it: an anonymous
|
|
5
10
|
// function EXPRESSION sitting where the emitters splice a STATEMENT, which
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/nodes/types.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,eAAe,CAAC,EAAa;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/nodes/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,6 +30,8 @@ export declare const RESET_PASSWORD_VISITOR_LIMIT = 20;
|
|
|
30
30
|
export declare const DEFAULT_RESET_PAGE_PATH = "/reset-password";
|
|
31
31
|
/** The same answer for every well-formed request, whatever the address. */
|
|
32
32
|
export declare const FORGOT_PASSWORD_ANSWER = "If an account exists for that email, we sent it a link to reset the password.";
|
|
33
|
+
/** What the route answers, to every address, when a link could not be kept. */
|
|
34
|
+
export declare const FORGOT_PASSWORD_NOT_SENT = "We could not send the reset link. Please try again in a moment.";
|
|
33
35
|
/**
|
|
34
36
|
* The sessionStorage key the reset page reads the link's token from (mirrored
|
|
35
37
|
* in teleport-gui `RESET_TOKEN_STORAGE_KEY`). The published site's first head
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"password-reset-route-generator.d.ts","sourceRoot":"","sources":["../../src/password-reset-route-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAEL,sBAAsB,EACtB,WAAW,EACX,kBAAkB,EAClB,2BAA2B,EAC5B,MAAM,4BAA4B,CAAA;AAenC,eAAO,MAAM,0BAA0B,oBAAoB,CAAA;AAC3D,eAAO,MAAM,yBAAyB,mBAAmB,CAAA;AAEzD,4CAA4C;AAC5C,eAAO,MAAM,gCAAgC,OAAO,CAAA;AACpD,8FAA8F;AAC9F,eAAO,MAAM,+BAA+B,IAAI,CAAA;AAChD,eAAO,MAAM,6BAA6B,KAAK,CAAA;AAC/C,mEAAmE;AACnE,eAAO,MAAM,4BAA4B,KAAK,CAAA;AAE9C,eAAO,MAAM,uBAAuB,oBAAoB,CAAA;AAExD,2EAA2E;AAC3E,eAAO,MAAM,sBAAsB,kFAC8C,CAAA;AAEjF;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,mBAAmB,CAAA;AAEvD;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,SAAU,WAAW,KAAG,OAUvD,CAAA;AAED,kFAAkF;AAClF,eAAO,MAAM,yBAAyB,SAAU,WAAW,KAAG,MAAM,EAOnE,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,SAChB,WAAW,KAChB;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,OAAO,CAAA;CAOnD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,SACvB,WAAW,KAChB;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAA;CAWxE,CAAA;AAED,MAAM,WAAW,0BAA0B;IACzC;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,mEAAmE;IACnE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,uDAAuD;IACvD,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,kBAAkB,CAAC,EAAE,2BAA2B,CAAA;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,UAAW,OAAO,KAAG,MAWrD,CAAA;AAED,eAAO,MAAM,mBAAmB,QAsB9B,CAAA;AAcF,eAAO,MAAM,2BAA2B,aAAa,0BAA0B,KAAQ,
|
|
1
|
+
{"version":3,"file":"password-reset-route-generator.d.ts","sourceRoot":"","sources":["../../src/password-reset-route-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAEL,sBAAsB,EACtB,WAAW,EACX,kBAAkB,EAClB,2BAA2B,EAC5B,MAAM,4BAA4B,CAAA;AAenC,eAAO,MAAM,0BAA0B,oBAAoB,CAAA;AAC3D,eAAO,MAAM,yBAAyB,mBAAmB,CAAA;AAEzD,4CAA4C;AAC5C,eAAO,MAAM,gCAAgC,OAAO,CAAA;AACpD,8FAA8F;AAC9F,eAAO,MAAM,+BAA+B,IAAI,CAAA;AAChD,eAAO,MAAM,6BAA6B,KAAK,CAAA;AAC/C,mEAAmE;AACnE,eAAO,MAAM,4BAA4B,KAAK,CAAA;AAE9C,eAAO,MAAM,uBAAuB,oBAAoB,CAAA;AAExD,2EAA2E;AAC3E,eAAO,MAAM,sBAAsB,kFAC8C,CAAA;AAEjF,+EAA+E;AAC/E,eAAO,MAAM,wBAAwB,oEAC8B,CAAA;AAEnE;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,mBAAmB,CAAA;AAEvD;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,SAAU,WAAW,KAAG,OAUvD,CAAA;AAED,kFAAkF;AAClF,eAAO,MAAM,yBAAyB,SAAU,WAAW,KAAG,MAAM,EAOnE,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,SAChB,WAAW,KAChB;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,OAAO,CAAA;CAOnD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,SACvB,WAAW,KAChB;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAA;CAWxE,CAAA;AAED,MAAM,WAAW,0BAA0B;IACzC;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,mEAAmE;IACnE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,uDAAuD;IACvD,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,kBAAkB,CAAC,EAAE,2BAA2B,CAAA;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,UAAW,OAAO,KAAG,MAWrD,CAAA;AAED,eAAO,MAAM,mBAAmB,QAsB9B,CAAA;AAcF,eAAO,MAAM,2BAA2B,aAAa,0BAA0B,KAAQ,MAkKtF,CAAA;AAED,eAAO,MAAM,0BAA0B,QAAO,MAsD7C,CAAA;AAED,qFAAqF;AACrF,eAAO,MAAM,sBAAsB,uBAAuB,CAAA;AAE1D,6FAA6F;AAC7F,eAAO,MAAM,gCAAgC,mCAAmC,CAAA;AAEhF,mFAAmF;AACnF,eAAO,MAAM,0BAA0B;gBACZ,OAAO;kBAAgB,OAAO;aAC7C,MAAM,KACf,MAAM,OAAO,MAAM,EAAE,OAAO,CAAC,CAgB/B,CAAA;AAcD;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,cACrB,sBAAsB,QAC3B,kBAAkB,KACvB,IAwDF,CAAA"}
|
|
@@ -35,6 +35,8 @@ export const RESET_PASSWORD_VISITOR_LIMIT = 20;
|
|
|
35
35
|
export const DEFAULT_RESET_PAGE_PATH = '/reset-password';
|
|
36
36
|
/** The same answer for every well-formed request, whatever the address. */
|
|
37
37
|
export const FORGOT_PASSWORD_ANSWER = 'If an account exists for that email, we sent it a link to reset the password.';
|
|
38
|
+
/** What the route answers, to every address, when a link could not be kept. */
|
|
39
|
+
export const FORGOT_PASSWORD_NOT_SENT = 'We could not send the reset link. Please try again in a moment.';
|
|
38
40
|
/**
|
|
39
41
|
* The sessionStorage key the reset page reads the link's token from (mirrored
|
|
40
42
|
* in teleport-gui `RESET_TOKEN_STORAGE_KEY`). The published site's first head
|
|
@@ -273,7 +275,9 @@ module.exports = async function handler(req, res) {
|
|
|
273
275
|
return __security.sendClientError(res, 503, 'We could not reach the account service. Please try again in a moment.', err);
|
|
274
276
|
}
|
|
275
277
|
|
|
278
|
+
var link = null;
|
|
276
279
|
try {
|
|
280
|
+
await authUtils.ensurePasswordResetsUsable();
|
|
277
281
|
// Counted for every address, with an account or without, so neither the
|
|
278
282
|
// answer nor its timing differs.
|
|
279
283
|
var recipient = await __security.rateLimit({
|
|
@@ -285,17 +289,20 @@ module.exports = async function handler(req, res) {
|
|
|
285
289
|
if (user && userId != null && user.email && !recipient.allowed) {
|
|
286
290
|
console.warn('[forgot-password] reset link not sent: this address was sent ${FORGOT_PASSWORD_RECIPIENT_LIMIT} in the last hour');
|
|
287
291
|
} else if (user && userId != null && user.email) {
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
var token = crypto.randomBytes(32).toString('hex');
|
|
292
|
-
await authUtils.storePasswordReset(userId, sha256(token), TOKEN_TTL_SECONDS);
|
|
293
|
-
var resetUrl = trustedOrigin(req) + RESET_PAGE_PATH + TOKEN_LINK_PREFIX + token;
|
|
294
|
-
await sendResetEmail(user, resetUrl, token, __emailLocale.resolveRequestLocale(req));
|
|
295
|
-
}
|
|
292
|
+
var token = crypto.randomBytes(32).toString('hex');
|
|
293
|
+
await authUtils.storePasswordReset(userId, sha256(token), TOKEN_TTL_SECONDS);
|
|
294
|
+
link = { token: token, url: trustedOrigin(req) + RESET_PAGE_PATH + TOKEN_LINK_PREFIX + token };
|
|
296
295
|
}
|
|
297
296
|
} catch (err) {
|
|
298
|
-
|
|
297
|
+
await waitUntilElapsed(startedAt, MIN_RESPONSE_MS);
|
|
298
|
+
return __security.sendClientError(res, 503, ${JSON.stringify(FORGOT_PASSWORD_NOT_SENT)}, err);
|
|
299
|
+
}
|
|
300
|
+
if (link) {
|
|
301
|
+
try {
|
|
302
|
+
await sendResetEmail(user, link.url, link.token, __emailLocale.resolveRequestLocale(req));
|
|
303
|
+
} catch (err) {
|
|
304
|
+
console.error('[forgot-password] could not send a reset link:', err && err.message ? err.message : err);
|
|
305
|
+
}
|
|
299
306
|
}
|
|
300
307
|
|
|
301
308
|
await waitUntilElapsed(startedAt, MIN_RESPONSE_MS);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"password-reset-route-generator.js","sourceRoot":"","sources":["../../src/password-reset-route-generator.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"password-reset-route-generator.js","sourceRoot":"","sources":["../../src/password-reset-route-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,8 +32,9 @@ export declare const securityRuntimeSpecifier: (relativePrefix: string) => strin
|
|
|
32
32
|
* itself, an IPv6 one its /64 (an IPv4 tail counted as the two groups it
|
|
33
33
|
* fills). Every rate limit keyed by visitor uses it.
|
|
34
34
|
* - `rateLimit` counts fixed windows in the app's Postgres database (table
|
|
35
|
-
* `teleport_rate_limits`,
|
|
36
|
-
*
|
|
35
|
+
* `teleport_rate_limits`, which the editor makes, created here under an
|
|
36
|
+
* advisory lock only when it is really missing), so every instance of a
|
|
37
|
+
* serverless app counts together. Only an app with no
|
|
37
38
|
* database (or no `pg` driver) counts in a bounded per-instance map; a
|
|
38
39
|
* database error counts in that map for a short while and is logged once.
|
|
39
40
|
* A request waits on the database at most 1.5 s; after a failure one
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security-runtime-code.d.ts","sourceRoot":"","sources":["../../../src/security-runtime/security-runtime-code.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,eAAO,MAAM,yBAAyB,qBAAqB,CAAA;AAC3D,eAAO,MAAM,qBAAqB,UAAY,CAAA;AAC9C,eAAO,MAAM,0BAA0B,qBAAqB,CAAA;AAC5D,eAAO,MAAM,iBAAiB,yBAAyB,CAAA;AAEvD,qEAAqE;AACrE,eAAO,MAAM,yBAAyB,wCAAwC,CAAA;AAE9E;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,mBAAoB,MAAM,KAAG,MACoB,CAAA;AAEtF
|
|
1
|
+
{"version":3,"file":"security-runtime-code.d.ts","sourceRoot":"","sources":["../../../src/security-runtime/security-runtime-code.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,eAAO,MAAM,yBAAyB,qBAAqB,CAAA;AAC3D,eAAO,MAAM,qBAAqB,UAAY,CAAA;AAC9C,eAAO,MAAM,0BAA0B,qBAAqB,CAAA;AAC5D,eAAO,MAAM,iBAAiB,yBAAyB,CAAA;AAEvD,qEAAqE;AACrE,eAAO,MAAM,yBAAyB,wCAAwC,CAAA;AAE9E;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,mBAAoB,MAAM,KAAG,MACoB,CAAA;AAEtF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,2BAA2B,QAAO,MA4gB9C,CAAA"}
|
|
@@ -33,8 +33,9 @@ export const securityRuntimeSpecifier = (relativePrefix) => `${relativePrefix}/$
|
|
|
33
33
|
* itself, an IPv6 one its /64 (an IPv4 tail counted as the two groups it
|
|
34
34
|
* fills). Every rate limit keyed by visitor uses it.
|
|
35
35
|
* - `rateLimit` counts fixed windows in the app's Postgres database (table
|
|
36
|
-
* `teleport_rate_limits`,
|
|
37
|
-
*
|
|
36
|
+
* `teleport_rate_limits`, which the editor makes, created here under an
|
|
37
|
+
* advisory lock only when it is really missing), so every instance of a
|
|
38
|
+
* serverless app counts together. Only an app with no
|
|
38
39
|
* database (or no `pg` driver) counts in a bounded per-instance map; a
|
|
39
40
|
* database error counts in that map for a short while and is logged once.
|
|
40
41
|
* A request waits on the database at most 1.5 s; after a failure one
|
|
@@ -97,6 +98,9 @@ var CLEANUP_MAX_BATCHES = 3;
|
|
|
97
98
|
var CLEANUP_QUERY_TIMEOUT_MS = 5000;
|
|
98
99
|
var MEMORY_MAX_WINDOWS = 10000;
|
|
99
100
|
|
|
101
|
+
// A site's database role may read and write its tables without being allowed
|
|
102
|
+
// to create one, and CREATE ... IF NOT EXISTS asks for that permission even when
|
|
103
|
+
// the table is there: these run only for a table that really is missing.
|
|
100
104
|
var CREATE_SQL = 'CREATE TABLE IF NOT EXISTS "' + RATE_LIMITS_TABLE + '" (' +
|
|
101
105
|
'"key" TEXT NOT NULL, "window_start" BIGINT NOT NULL, "count" INTEGER NOT NULL DEFAULT 0, ' +
|
|
102
106
|
'"expires_at" BIGINT NOT NULL, PRIMARY KEY ("key", "window_start"))';
|
|
@@ -293,7 +297,6 @@ function __memoryHit(storageKey, windowStart, windowSeconds, nowSec) {
|
|
|
293
297
|
return entry.count;
|
|
294
298
|
}
|
|
295
299
|
|
|
296
|
-
var __tableReady = false;
|
|
297
300
|
// Healthy, every request asks the database. After a failure, requests count in
|
|
298
301
|
// memory until __databaseRetryAt; then ONE request probes (it pushes the retry
|
|
299
302
|
// time back before it asks), so the requests beside it never wait on a
|
|
@@ -372,12 +375,15 @@ async function __databaseHit(storageKey, windowStart, expiresAt, nowSec) {
|
|
|
372
375
|
return within(client.query(sql, values || []), QUERY_TIMEOUT_MS);
|
|
373
376
|
};
|
|
374
377
|
var createTable = async function () {
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
378
|
+
try {
|
|
379
|
+
await run('BEGIN');
|
|
380
|
+
await run(LOCK_SQL, [RATE_LIMITS_TABLE]);
|
|
381
|
+
await run(CREATE_SQL);
|
|
382
|
+
await run(INDEX_SQL);
|
|
383
|
+
await run('COMMIT');
|
|
384
|
+
} catch (err) {
|
|
385
|
+
throw new Error('the table ' + RATE_LIMITS_TABLE + ' is missing and could not be created: ' + __errorText(err));
|
|
386
|
+
}
|
|
381
387
|
};
|
|
382
388
|
var hit = function () {
|
|
383
389
|
return run(HIT_SQL, [storageKey, windowStart, expiresAt]);
|
|
@@ -385,15 +391,13 @@ async function __databaseHit(storageKey, windowStart, expiresAt, nowSec) {
|
|
|
385
391
|
var handedToCleanup = false;
|
|
386
392
|
try {
|
|
387
393
|
await within(client.connect(), CONNECT_TIMEOUT_MS);
|
|
388
|
-
if (!__tableReady) await createTable();
|
|
389
394
|
var result;
|
|
390
395
|
try {
|
|
391
396
|
result = await hit();
|
|
392
397
|
} catch (err) {
|
|
393
|
-
// The table
|
|
394
|
-
// older backup): create it
|
|
398
|
+
// The table is not there (dropped, or the database restored from an
|
|
399
|
+
// older backup): create it and count this request in it.
|
|
395
400
|
if (!err || err.code !== '42P01') throw err;
|
|
396
|
-
__tableReady = false;
|
|
397
401
|
await createTable();
|
|
398
402
|
result = await hit();
|
|
399
403
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security-runtime-code.js","sourceRoot":"","sources":["../../../src/security-runtime/security-runtime-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AAE5D;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,kBAAkB,CAAA;AAC3D,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,OAAO,CAAC,CAAA;AAC9C,MAAM,CAAC,MAAM,0BAA0B,GAAG,kBAAkB,CAAA;AAC5D,MAAM,CAAC,MAAM,iBAAiB,GAAG,sBAAsB,CAAA;AAEvD,qEAAqE;AACrE,MAAM,CAAC,MAAM,yBAAyB,GAAG,qCAAqC,CAAA;AAE9E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,cAAsB,EAAU,EAAE,CACzE,GAAG,cAAc,IAAI,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,0BAA0B,EAAE,CAAA;AAEtF
|
|
1
|
+
{"version":3,"file":"security-runtime-code.js","sourceRoot":"","sources":["../../../src/security-runtime/security-runtime-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AAE5D;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,kBAAkB,CAAA;AAC3D,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,OAAO,CAAC,CAAA;AAC9C,MAAM,CAAC,MAAM,0BAA0B,GAAG,kBAAkB,CAAA;AAC5D,MAAM,CAAC,MAAM,iBAAiB,GAAG,sBAAsB,CAAA;AAEvD,qEAAqE;AACrE,MAAM,CAAC,MAAM,yBAAyB,GAAG,qCAAqC,CAAA;AAE9E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,cAAsB,EAAU,EAAE,CACzE,GAAG,cAAc,IAAI,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,0BAA0B,EAAE,CAAA;AAEtF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;EA0BvD,wBAAwB,EAAE;;2BAED,iBAAiB;2BACjB,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+enD,CAAA"}
|