@atproto/oauth-provider 0.3.1 → 0.5.0
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/.linguirc +57 -0
- package/CHANGELOG.md +29 -0
- package/LICENSE.txt +1 -1
- package/dist/account/account-manager.d.ts +17 -3
- package/dist/account/account-manager.d.ts.map +1 -1
- package/dist/account/account-manager.js +102 -8
- package/dist/account/account-manager.js.map +1 -1
- package/dist/account/account-store.d.ts +81 -15
- package/dist/account/account-store.d.ts.map +1 -1
- package/dist/account/account-store.js +70 -19
- package/dist/account/account-store.js.map +1 -1
- package/dist/account/sign-in-data.d.ts +28 -0
- package/dist/account/sign-in-data.d.ts.map +1 -0
- package/dist/account/sign-in-data.js +16 -0
- package/dist/account/sign-in-data.js.map +1 -0
- package/dist/account/sign-up-data.d.ts +26 -0
- package/dist/account/sign-up-data.d.ts.map +1 -0
- package/dist/account/sign-up-data.js +11 -0
- package/dist/account/sign-up-data.js.map +1 -0
- package/dist/assets/app/bundle-manifest.json +598 -6
- package/dist/assets/app/index-ItwwtJ8r.js +36 -0
- package/dist/assets/app/index-ItwwtJ8r.js.map +1 -0
- package/dist/assets/app/main-B_dNxQo_.js +4 -0
- package/dist/assets/app/main-B_dNxQo_.js.map +1 -0
- package/dist/assets/app/main-CSatvmRR.css +3 -0
- package/dist/assets/app/main-CSatvmRR.js +306 -0
- package/dist/assets/app/main-CSatvmRR.js.map +1 -0
- package/dist/assets/app/messages-BQeltXSF.js +4 -0
- package/dist/assets/app/messages-BQeltXSF.js.map +1 -0
- package/dist/assets/app/messages-BQkEhfjg.js +4 -0
- package/dist/assets/app/messages-BQkEhfjg.js.map +1 -0
- package/dist/assets/app/messages-BUjKj_UJ.js +4 -0
- package/dist/assets/app/messages-BUjKj_UJ.js.map +1 -0
- package/dist/assets/app/messages-BWIQa8fO.js +4 -0
- package/dist/assets/app/messages-BWIQa8fO.js.map +1 -0
- package/dist/assets/app/messages-BaNVb0bp.js +4 -0
- package/dist/assets/app/messages-BaNVb0bp.js.map +1 -0
- package/dist/assets/app/messages-BaizVXcF.js +4 -0
- package/dist/assets/app/messages-BaizVXcF.js.map +1 -0
- package/dist/assets/app/messages-BfoClA1Y.js +4 -0
- package/dist/assets/app/messages-BfoClA1Y.js.map +1 -0
- package/dist/assets/app/messages-BsKGDZnC.js +4 -0
- package/dist/assets/app/messages-BsKGDZnC.js.map +1 -0
- package/dist/assets/app/messages-Bu-TJhml.js +4 -0
- package/dist/assets/app/messages-Bu-TJhml.js.map +1 -0
- package/dist/assets/app/messages-BvOKnBQk.js +4 -0
- package/dist/assets/app/messages-BvOKnBQk.js.map +1 -0
- package/dist/assets/app/messages-BxDzCiWz.js +4 -0
- package/dist/assets/app/messages-BxDzCiWz.js.map +1 -0
- package/dist/assets/app/messages-CDgFOy4S.js +4 -0
- package/dist/assets/app/messages-CDgFOy4S.js.map +1 -0
- package/dist/assets/app/messages-CLbTz0o9.js +4 -0
- package/dist/assets/app/messages-CLbTz0o9.js.map +1 -0
- package/dist/assets/app/messages-CNwSh0t7.js +4 -0
- package/dist/assets/app/messages-CNwSh0t7.js.map +1 -0
- package/dist/assets/app/messages-CSMNJ6P8.js +4 -0
- package/dist/assets/app/messages-CSMNJ6P8.js.map +1 -0
- package/dist/assets/app/messages-CZQUw3mp.js +4 -0
- package/dist/assets/app/messages-CZQUw3mp.js.map +1 -0
- package/dist/assets/app/messages-CZT41oVp.js +4 -0
- package/dist/assets/app/messages-CZT41oVp.js.map +1 -0
- package/dist/assets/app/messages-C_b-d3t8.js +4 -0
- package/dist/assets/app/messages-C_b-d3t8.js.map +1 -0
- package/dist/assets/app/messages-C_u3MTc2.js +4 -0
- package/dist/assets/app/messages-C_u3MTc2.js.map +1 -0
- package/dist/assets/app/messages-Cn8nHZic.js +4 -0
- package/dist/assets/app/messages-Cn8nHZic.js.map +1 -0
- package/dist/assets/app/messages-CtDywJUm.js +4 -0
- package/dist/assets/app/messages-CtDywJUm.js.map +1 -0
- package/dist/assets/app/messages-CurtIjBF.js +4 -0
- package/dist/assets/app/messages-CurtIjBF.js.map +1 -0
- package/dist/assets/app/messages-Cv6zIbaP.js +4 -0
- package/dist/assets/app/messages-Cv6zIbaP.js.map +1 -0
- package/dist/assets/app/messages-D1eLQuPE.js +4 -0
- package/dist/assets/app/messages-D1eLQuPE.js.map +1 -0
- package/dist/assets/app/messages-D8vHEaYW.js +4 -0
- package/dist/assets/app/messages-D8vHEaYW.js.map +1 -0
- package/dist/assets/app/messages-DJ1Q4GeC.js +4 -0
- package/dist/assets/app/messages-DJ1Q4GeC.js.map +1 -0
- package/dist/assets/app/messages-DRL3exqd.js +4 -0
- package/dist/assets/app/messages-DRL3exqd.js.map +1 -0
- package/dist/assets/app/messages-DWLPQRTp.js +4 -0
- package/dist/assets/app/messages-DWLPQRTp.js.map +1 -0
- package/dist/assets/app/messages-DjVaE9YE.js +4 -0
- package/dist/assets/app/messages-DjVaE9YE.js.map +1 -0
- package/dist/assets/app/messages-DqpMfFJR.js +4 -0
- package/dist/assets/app/messages-DqpMfFJR.js.map +1 -0
- package/dist/assets/app/messages-ETjhJBEN.js +4 -0
- package/dist/assets/app/messages-ETjhJBEN.js.map +1 -0
- package/dist/assets/app/messages-EUKrgrGn.js +4 -0
- package/dist/assets/app/messages-EUKrgrGn.js.map +1 -0
- package/dist/assets/app/messages-QQrOUcPW.js +4 -0
- package/dist/assets/app/messages-QQrOUcPW.js.map +1 -0
- package/dist/assets/app/messages-e2QGqFL6.js +4 -0
- package/dist/assets/app/messages-e2QGqFL6.js.map +1 -0
- package/dist/assets/app/messages-p61py7gD.js +4 -0
- package/dist/assets/app/messages-p61py7gD.js.map +1 -0
- package/dist/assets/asset.d.ts +1 -0
- package/dist/assets/asset.d.ts.map +1 -1
- package/dist/assets/assets-middleware.d.ts.map +1 -1
- package/dist/assets/assets-middleware.js +12 -7
- package/dist/assets/assets-middleware.js.map +1 -1
- package/dist/assets/index.d.ts +3 -2
- package/dist/assets/index.d.ts.map +1 -1
- package/dist/assets/index.js +13 -1
- package/dist/assets/index.js.map +1 -1
- package/dist/client/client-store.d.ts +3 -3
- package/dist/client/client-store.d.ts.map +1 -1
- package/dist/client/client-store.js +6 -5
- package/dist/client/client-store.js.map +1 -1
- package/dist/device/device-manager.d.ts +12 -13
- package/dist/device/device-manager.d.ts.map +1 -1
- package/dist/device/device-manager.js +5 -3
- package/dist/device/device-manager.js.map +1 -1
- package/dist/device/device-store.d.ts +3 -3
- package/dist/device/device-store.d.ts.map +1 -1
- package/dist/device/device-store.js +10 -9
- package/dist/device/device-store.js.map +1 -1
- package/dist/dpop/dpop-manager.d.ts +15 -7
- package/dist/dpop/dpop-manager.d.ts.map +1 -1
- package/dist/dpop/dpop-manager.js +17 -3
- package/dist/dpop/dpop-manager.js.map +1 -1
- package/dist/dpop/dpop-nonce.d.ts +11 -5
- package/dist/dpop/dpop-nonce.d.ts.map +1 -1
- package/dist/dpop/dpop-nonce.js +47 -38
- package/dist/dpop/dpop-nonce.js.map +1 -1
- package/dist/errors/handle-unavailable-error.d.ts +11 -0
- package/dist/errors/handle-unavailable-error.d.ts.map +1 -0
- package/dist/errors/handle-unavailable-error.js +19 -0
- package/dist/errors/handle-unavailable-error.js.map +1 -0
- package/dist/errors/invalid-request-error.d.ts +6 -8
- package/dist/errors/invalid-request-error.d.ts.map +1 -1
- package/dist/errors/invalid-request-error.js +10 -8
- package/dist/errors/invalid-request-error.js.map +1 -1
- package/dist/lib/csp/index.d.ts +18 -0
- package/dist/lib/csp/index.d.ts.map +1 -0
- package/dist/lib/csp/index.js +72 -0
- package/dist/lib/csp/index.js.map +1 -0
- package/dist/lib/hcaptcha.d.ts +177 -0
- package/dist/lib/hcaptcha.d.ts.map +1 -0
- package/dist/lib/hcaptcha.js +155 -0
- package/dist/lib/hcaptcha.js.map +1 -0
- package/dist/lib/html/build-document.d.ts +11 -3
- package/dist/lib/html/build-document.d.ts.map +1 -1
- package/dist/lib/html/build-document.js +51 -15
- package/dist/lib/html/build-document.js.map +1 -1
- package/dist/lib/http/middleware.d.ts.map +1 -1
- package/dist/lib/http/middleware.js +4 -1
- package/dist/lib/http/middleware.js.map +1 -1
- package/dist/lib/http/request.d.ts +18 -3
- package/dist/lib/http/request.d.ts.map +1 -1
- package/dist/lib/http/request.js +56 -23
- package/dist/lib/http/request.js.map +1 -1
- package/dist/lib/http/response.d.ts +4 -2
- package/dist/lib/http/response.d.ts.map +1 -1
- package/dist/lib/http/response.js +23 -5
- package/dist/lib/http/response.js.map +1 -1
- package/dist/lib/locale.d.ts +15 -0
- package/dist/lib/locale.d.ts.map +1 -0
- package/dist/lib/locale.js +17 -0
- package/dist/lib/locale.js.map +1 -0
- package/dist/lib/util/function.d.ts +2 -2
- package/dist/lib/util/function.d.ts.map +1 -1
- package/dist/lib/util/function.js.map +1 -1
- package/dist/lib/util/type.d.ts +88 -1
- package/dist/lib/util/type.d.ts.map +1 -1
- package/dist/lib/util/type.js +41 -0
- package/dist/lib/util/type.js.map +1 -1
- package/dist/metadata/build-metadata.d.ts +2 -2
- package/dist/metadata/build-metadata.d.ts.map +1 -1
- package/dist/metadata/build-metadata.js.map +1 -1
- package/dist/oauth-errors.d.ts +1 -0
- package/dist/oauth-errors.d.ts.map +1 -1
- package/dist/oauth-errors.js +3 -1
- package/dist/oauth-errors.js.map +1 -1
- package/dist/oauth-hooks.d.ts +60 -3
- package/dist/oauth-hooks.d.ts.map +1 -1
- package/dist/oauth-hooks.js +3 -3
- package/dist/oauth-hooks.js.map +1 -1
- package/dist/oauth-provider.d.ts +28 -22
- package/dist/oauth-provider.d.ts.map +1 -1
- package/dist/oauth-provider.js +212 -211
- package/dist/oauth-provider.js.map +1 -1
- package/dist/oauth-verifier.d.ts +1 -1
- package/dist/oauth-verifier.d.ts.map +1 -1
- package/dist/oauth-verifier.js +2 -1
- package/dist/oauth-verifier.js.map +1 -1
- package/dist/output/build-authorize-data.d.ts +0 -1
- package/dist/output/build-authorize-data.d.ts.map +1 -1
- package/dist/output/build-authorize-data.js +0 -1
- package/dist/output/build-authorize-data.js.map +1 -1
- package/dist/output/build-customization-data.d.ts +232 -0
- package/dist/output/build-customization-data.d.ts.map +1 -0
- package/dist/output/build-customization-data.js +145 -0
- package/dist/output/build-customization-data.js.map +1 -0
- package/dist/output/output-manager.d.ts +16 -9
- package/dist/output/output-manager.d.ts.map +1 -1
- package/dist/output/output-manager.js +78 -42
- package/dist/output/output-manager.js.map +1 -1
- package/dist/output/send-authorize-redirect.d.ts +9 -6
- package/dist/output/send-authorize-redirect.d.ts.map +1 -1
- package/dist/output/send-authorize-redirect.js +20 -14
- package/dist/output/send-authorize-redirect.js.map +1 -1
- package/dist/output/send-web-page.d.ts +7 -2
- package/dist/output/send-web-page.d.ts.map +1 -1
- package/dist/output/send-web-page.js +37 -21
- package/dist/output/send-web-page.js.map +1 -1
- package/dist/request/request-manager.d.ts +1 -1
- package/dist/request/request-manager.d.ts.map +1 -1
- package/dist/request/request-manager.js +4 -4
- package/dist/request/request-manager.js.map +1 -1
- package/dist/request/request-store.d.ts +3 -3
- package/dist/request/request-store.d.ts.map +1 -1
- package/dist/request/request-store.js +11 -10
- package/dist/request/request-store.js.map +1 -1
- package/dist/token/token-store.d.ts +4 -4
- package/dist/token/token-store.d.ts.map +1 -1
- package/dist/token/token-store.js +13 -12
- package/dist/token/token-store.js.map +1 -1
- package/package.json +46 -21
- package/rollup.config.js +61 -17
- package/src/account/account-manager.ts +159 -8
- package/src/account/account-store.ts +127 -32
- package/src/account/sign-in-data.ts +15 -0
- package/src/account/sign-up-data.ts +11 -0
- package/src/assets/app/app.tsx +31 -16
- package/src/assets/app/backend-data.ts +15 -60
- package/src/assets/app/backend-types.ts +66 -0
- package/src/assets/app/components/forms/button-toggle-visibility.tsx +43 -0
- package/src/assets/app/components/forms/button.tsx +60 -0
- package/src/assets/app/components/forms/fieldset.tsx +55 -0
- package/src/assets/app/components/forms/form-card-async.tsx +103 -0
- package/src/assets/app/components/forms/form-card.tsx +49 -0
- package/src/assets/app/components/forms/input-checkbox.tsx +73 -0
- package/src/assets/app/components/forms/input-container.tsx +107 -0
- package/src/assets/app/components/forms/input-email-address.tsx +66 -0
- package/src/assets/app/components/forms/input-new-password.tsx +62 -0
- package/src/assets/app/components/forms/input-password.tsx +88 -0
- package/src/assets/app/components/forms/input-text.tsx +76 -0
- package/src/assets/app/components/forms/input-token.tsx +94 -0
- package/src/assets/app/components/forms/wizard-card.tsx +116 -0
- package/src/assets/app/components/layouts/layout-title-page.tsx +77 -0
- package/src/assets/app/components/layouts/layout-welcome.tsx +73 -0
- package/src/assets/app/components/utils/account-identifier.tsx +23 -0
- package/src/assets/app/components/utils/account-image.tsx +33 -0
- package/src/assets/app/components/utils/admonition.tsx +52 -0
- package/src/assets/app/components/utils/client-name.tsx +45 -0
- package/src/assets/app/components/utils/error-card.tsx +93 -0
- package/src/assets/app/components/utils/error-message.tsx +62 -0
- package/src/assets/app/components/utils/help-card.tsx +46 -0
- package/src/assets/app/components/utils/icons.tsx +88 -0
- package/src/assets/app/components/utils/link-anchor.tsx +28 -0
- package/src/assets/app/components/utils/link-title.tsx +26 -0
- package/src/assets/app/components/utils/multi-lang-string.tsx +56 -0
- package/src/assets/app/components/utils/password-strength-label.tsx +37 -0
- package/src/assets/app/components/utils/password-strength-meter.tsx +58 -0
- package/src/assets/app/components/{url-viewer.tsx → utils/url-viewer.tsx} +9 -6
- package/src/assets/app/hooks/use-api.ts +128 -55
- package/src/assets/app/hooks/use-async-action.ts +120 -0
- package/src/assets/app/hooks/use-browser-color-scheme.ts +31 -0
- package/src/assets/app/hooks/use-csrf-token.ts +1 -1
- package/src/assets/app/hooks/use-random-string.ts +37 -0
- package/src/assets/app/hooks/use-stepper.ts +87 -0
- package/src/assets/app/index.html +182 -0
- package/src/assets/app/lib/api.ts +248 -79
- package/src/assets/app/lib/clsx.ts +5 -8
- package/src/assets/app/lib/json-client.ts +94 -0
- package/src/assets/app/lib/password.ts +98 -0
- package/src/assets/app/lib/ref.ts +17 -0
- package/src/assets/app/locales/an/messages.po +492 -0
- package/src/assets/app/locales/ast/messages.po +492 -0
- package/src/assets/app/locales/ca/messages.po +492 -0
- package/src/assets/app/locales/da/messages.po +492 -0
- package/src/assets/app/locales/de/messages.po +492 -0
- package/src/assets/app/locales/el/messages.po +492 -0
- package/src/assets/app/locales/en/messages.po +492 -0
- package/src/assets/app/locales/en-GB/messages.po +492 -0
- package/src/assets/app/locales/es/messages.po +492 -0
- package/src/assets/app/locales/eu/messages.po +492 -0
- package/src/assets/app/locales/fi/messages.po +492 -0
- package/src/assets/app/locales/fr/messages.po +492 -0
- package/src/assets/app/locales/ga/messages.po +492 -0
- package/src/assets/app/locales/gl/messages.po +492 -0
- package/src/assets/app/locales/hi/messages.po +492 -0
- package/src/assets/app/locales/hu/messages.po +492 -0
- package/src/assets/app/locales/ia/messages.po +492 -0
- package/src/assets/app/locales/id/messages.po +492 -0
- package/src/assets/app/locales/it/messages.po +492 -0
- package/src/assets/app/locales/ja/messages.po +492 -0
- package/src/assets/app/locales/km/messages.po +492 -0
- package/src/assets/app/locales/ko/messages.po +492 -0
- package/src/assets/app/locales/load.ts +8 -0
- package/src/assets/app/locales/locale-context.ts +19 -0
- package/src/assets/app/locales/locale-provider.tsx +112 -0
- package/src/assets/app/locales/locale-selector.tsx +58 -0
- package/src/assets/app/locales/locales.ts +168 -0
- package/src/assets/app/locales/ne/messages.po +492 -0
- package/src/assets/app/locales/nl/messages.po +492 -0
- package/src/assets/app/locales/pl/messages.po +492 -0
- package/src/assets/app/locales/pt-BR/messages.po +492 -0
- package/src/assets/app/locales/ro/messages.po +492 -0
- package/src/assets/app/locales/ru/messages.po +492 -0
- package/src/assets/app/locales/sv/messages.po +492 -0
- package/src/assets/app/locales/th/messages.po +492 -0
- package/src/assets/app/locales/tr/messages.po +492 -0
- package/src/assets/app/locales/uk/messages.po +492 -0
- package/src/assets/app/locales/vi/messages.po +492 -0
- package/src/assets/app/locales/zh-CN/messages.po +492 -0
- package/src/assets/app/locales/zh-HK/messages.po +492 -0
- package/src/assets/app/locales/zh-TW/messages.po +492 -0
- package/src/assets/app/main.css +23 -2
- package/src/assets/app/main.tsx +24 -8
- package/src/assets/app/views/authorize/accept/accept-form.tsx +150 -0
- package/src/assets/app/views/authorize/accept/accept-view.tsx +70 -0
- package/src/assets/app/views/authorize/authorize-view.tsx +180 -0
- package/src/assets/app/views/authorize/reset-password/reset-password-confirm-form.tsx +88 -0
- package/src/assets/app/views/authorize/reset-password/reset-password-request-form.tsx +80 -0
- package/src/assets/app/views/authorize/reset-password/reset-password-view.tsx +127 -0
- package/src/assets/app/views/authorize/sign-in/sign-in-form.tsx +244 -0
- package/src/assets/app/views/authorize/sign-in/sign-in-picker.tsx +116 -0
- package/src/assets/app/views/authorize/sign-in/sign-in-view.tsx +145 -0
- package/src/assets/app/views/authorize/sign-up/sign-up-account-form.tsx +140 -0
- package/src/assets/app/views/authorize/sign-up/sign-up-disclaimer.tsx +51 -0
- package/src/assets/app/views/authorize/sign-up/sign-up-handle-form.tsx +289 -0
- package/src/assets/app/views/authorize/sign-up/sign-up-hcaptcha-form.tsx +108 -0
- package/src/assets/app/views/authorize/sign-up/sign-up-view.tsx +158 -0
- package/src/assets/app/views/authorize/welcome/welcome-view.tsx +56 -0
- package/src/assets/app/views/error/error-view.tsx +31 -0
- package/src/assets/asset.ts +1 -0
- package/src/assets/assets-middleware.ts +13 -8
- package/src/assets/index.ts +15 -2
- package/src/client/client-store.ts +10 -12
- package/src/device/device-manager.ts +14 -15
- package/src/device/device-store.ts +9 -15
- package/src/dpop/dpop-manager.ts +20 -8
- package/src/dpop/dpop-nonce.ts +58 -40
- package/src/errors/handle-unavailable-error.ts +18 -0
- package/src/errors/invalid-request-error.ts +10 -8
- package/src/lib/csp/index.ts +98 -0
- package/src/lib/hcaptcha.ts +182 -0
- package/src/lib/html/build-document.ts +60 -16
- package/src/lib/http/middleware.ts +4 -3
- package/src/lib/http/request.ts +81 -28
- package/src/lib/http/response.ts +22 -9
- package/src/lib/locale.ts +21 -0
- package/src/lib/util/function.ts +0 -3
- package/src/lib/util/type.ts +130 -1
- package/src/metadata/build-metadata.ts +2 -1
- package/src/oauth-errors.ts +1 -0
- package/src/oauth-hooks.ts +69 -3
- package/src/oauth-provider.ts +410 -315
- package/src/oauth-verifier.ts +3 -1
- package/src/output/build-authorize-data.ts +1 -3
- package/src/output/build-customization-data.ts +189 -0
- package/src/output/output-manager.ts +111 -48
- package/src/output/send-authorize-redirect.ts +43 -36
- package/src/output/send-web-page.ts +40 -26
- package/src/request/request-manager.ts +4 -4
- package/src/request/request-store.ts +12 -16
- package/src/token/token-store.ts +14 -18
- package/tailwind.config.js +5 -0
- package/tsconfig.backend.tsbuildinfo +1 -1
- package/tsconfig.frontend.tsbuildinfo +1 -1
- package/tsconfig.tools.tsbuildinfo +1 -1
- package/vite.config.mjs +16 -0
- package/.postcssrc.yml +0 -3
- package/dist/assets/app/main.css +0 -3
- package/dist/assets/app/main.js +0 -20
- package/dist/assets/app/main.js.map +0 -1
- package/dist/output/customization.d.ts +0 -27
- package/dist/output/customization.d.ts.map +0 -1
- package/dist/output/customization.js +0 -88
- package/dist/output/customization.js.map +0 -1
- package/src/assets/app/components/accept-form.tsx +0 -137
- package/src/assets/app/components/account-identifier.tsx +0 -18
- package/src/assets/app/components/account-picker.tsx +0 -127
- package/src/assets/app/components/button.tsx +0 -34
- package/src/assets/app/components/client-name.tsx +0 -37
- package/src/assets/app/components/fieldset.tsx +0 -26
- package/src/assets/app/components/form-card.tsx +0 -47
- package/src/assets/app/components/help-card.tsx +0 -42
- package/src/assets/app/components/icons/alert-icon.tsx +0 -5
- package/src/assets/app/components/icons/at-symbol-icon.tsx +0 -5
- package/src/assets/app/components/icons/caret-right-icon.tsx +0 -5
- package/src/assets/app/components/icons/lock-icon.tsx +0 -5
- package/src/assets/app/components/icons/token-icon.tsx +0 -5
- package/src/assets/app/components/icons/util.tsx +0 -17
- package/src/assets/app/components/info-card.tsx +0 -45
- package/src/assets/app/components/input-checkbox.tsx +0 -47
- package/src/assets/app/components/input-container.tsx +0 -37
- package/src/assets/app/components/input-layout.tsx +0 -47
- package/src/assets/app/components/input-text.tsx +0 -69
- package/src/assets/app/components/layout-title-page.tsx +0 -60
- package/src/assets/app/components/layout-welcome.tsx +0 -74
- package/src/assets/app/components/sign-in-form.tsx +0 -337
- package/src/assets/app/components/sign-up-account-form.tsx +0 -194
- package/src/assets/app/components/sign-up-disclaimer.tsx +0 -44
- package/src/assets/app/views/accept-view.tsx +0 -55
- package/src/assets/app/views/authorize-view.tsx +0 -106
- package/src/assets/app/views/error-view.tsx +0 -36
- package/src/assets/app/views/sign-in-view.tsx +0 -111
- package/src/assets/app/views/sign-up-view.tsx +0 -86
- package/src/assets/app/views/welcome-view.tsx +0 -54
- package/src/output/customization.ts +0 -118
@@ -14,17 +14,18 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
15
|
};
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
-
exports.isClientStore =
|
17
|
+
exports.isClientStore = void 0;
|
18
18
|
exports.ifClientStore = ifClientStore;
|
19
19
|
exports.asClientStore = asClientStore;
|
20
|
+
const type_js_1 = require("../lib/util/type.js");
|
20
21
|
// Export all types needed to implement the ClientStore interface
|
21
22
|
__exportStar(require("./client-data.js"), exports);
|
22
23
|
__exportStar(require("./client-id.js"), exports);
|
23
|
-
|
24
|
-
|
25
|
-
|
24
|
+
exports.isClientStore = (0, type_js_1.buildInterfaceChecker)([
|
25
|
+
'findClient', //
|
26
|
+
]);
|
26
27
|
function ifClientStore(implementation) {
|
27
|
-
if (implementation && isClientStore(implementation)) {
|
28
|
+
if (implementation && (0, exports.isClientStore)(implementation)) {
|
28
29
|
return implementation;
|
29
30
|
}
|
30
31
|
return undefined;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"client-store.js","sourceRoot":"","sources":["../../src/client/client-store.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"client-store.js","sourceRoot":"","sources":["../../src/client/client-store.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAiBA,sCAQC;AAED,sCAOC;AAjCD,iDAAsE;AAGtE,iEAAiE;AACjE,mDAAgC;AAChC,iDAA8B;AAOjB,QAAA,aAAa,GAAG,IAAA,+BAAqB,EAAc;IAC9D,YAAY,EAAE,EAAE;CACjB,CAAC,CAAA;AAEF,SAAgB,aAAa,CAC3B,cAAkB;IAElB,IAAI,cAAc,IAAI,IAAA,qBAAa,EAAC,cAAc,CAAC,EAAE,CAAC;QACpD,OAAO,cAAc,CAAA;IACvB,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAgB,aAAa,CAC3B,cAAkB;IAElB,MAAM,KAAK,GAAG,aAAa,CAAC,cAAc,CAAC,CAAA;IAC3C,IAAI,KAAK;QAAE,OAAO,KAAK,CAAA;IAEvB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;AACvD,CAAC"}
|
@@ -23,10 +23,8 @@ export declare const deviceManagerOptionsSchema: z.ZodObject<{
|
|
23
23
|
/**
|
24
24
|
* Controls whether the IP address is read from the `X-Forwarded-For` header
|
25
25
|
* (if `true`), or from the `req.socket.remoteAddress` property (if `false`).
|
26
|
-
*
|
27
|
-
* @default true // (nowadays, most requests are proxied)
|
28
26
|
*/
|
29
|
-
trustProxy: z.
|
27
|
+
trustProxy: z.ZodOptional<z.ZodFunction<z.ZodTuple<[addr: z.ZodString, i: z.ZodNumber], z.ZodUnknown>, z.ZodBoolean>>;
|
30
28
|
/**
|
31
29
|
* Amount of time (in ms) after which session IDs will be rotated
|
32
30
|
*
|
@@ -92,7 +90,7 @@ export declare const deviceManagerOptionsSchema: z.ZodObject<{
|
|
92
90
|
path: string;
|
93
91
|
age: number | null;
|
94
92
|
secure: boolean;
|
95
|
-
sameSite: "
|
93
|
+
sameSite: "strict" | "lax";
|
96
94
|
device: string;
|
97
95
|
session: string;
|
98
96
|
keys?: {
|
@@ -109,7 +107,7 @@ export declare const deviceManagerOptionsSchema: z.ZodObject<{
|
|
109
107
|
} | undefined;
|
110
108
|
age?: number | null | undefined;
|
111
109
|
secure?: boolean | undefined;
|
112
|
-
sameSite?: "
|
110
|
+
sameSite?: "strict" | "lax" | undefined;
|
113
111
|
device?: string | undefined;
|
114
112
|
session?: string | undefined;
|
115
113
|
}>>;
|
@@ -118,7 +116,7 @@ export declare const deviceManagerOptionsSchema: z.ZodObject<{
|
|
118
116
|
path: string;
|
119
117
|
age: number | null;
|
120
118
|
secure: boolean;
|
121
|
-
sameSite: "
|
119
|
+
sameSite: "strict" | "lax";
|
122
120
|
device: string;
|
123
121
|
session: string;
|
124
122
|
keys?: {
|
@@ -127,8 +125,8 @@ export declare const deviceManagerOptionsSchema: z.ZodObject<{
|
|
127
125
|
index: (args_0: any, args_1: string, ...args: unknown[]) => number;
|
128
126
|
} | undefined;
|
129
127
|
};
|
130
|
-
trustProxy: boolean;
|
131
128
|
rotationRate: number;
|
129
|
+
trustProxy?: ((addr: string, i: number, ...args: unknown[]) => boolean) | undefined;
|
132
130
|
}, {
|
133
131
|
cookie?: {
|
134
132
|
path?: string | undefined;
|
@@ -139,14 +137,18 @@ export declare const deviceManagerOptionsSchema: z.ZodObject<{
|
|
139
137
|
} | undefined;
|
140
138
|
age?: number | null | undefined;
|
141
139
|
secure?: boolean | undefined;
|
142
|
-
sameSite?: "
|
140
|
+
sameSite?: "strict" | "lax" | undefined;
|
143
141
|
device?: string | undefined;
|
144
142
|
session?: string | undefined;
|
145
143
|
} | undefined;
|
146
|
-
trustProxy?: boolean | undefined;
|
144
|
+
trustProxy?: ((addr: string, i: number, ...args: unknown[]) => boolean) | undefined;
|
147
145
|
rotationRate?: number | undefined;
|
148
146
|
}>;
|
149
147
|
export type DeviceManagerOptions = z.input<typeof deviceManagerOptionsSchema>;
|
148
|
+
export type DeviceInfo = {
|
149
|
+
deviceId: DeviceId;
|
150
|
+
deviceMetadata: RequestMetadata;
|
151
|
+
};
|
150
152
|
/**
|
151
153
|
* This class provides an abstraction for keeping track of DEVICE sessions. It
|
152
154
|
* relies on a {@link DeviceStore} to persist session data and a cookie to
|
@@ -156,10 +158,7 @@ export declare class DeviceManager {
|
|
156
158
|
private readonly store;
|
157
159
|
private readonly options;
|
158
160
|
constructor(store: DeviceStore, options?: DeviceManagerOptions);
|
159
|
-
load(req: IncomingMessage, res: ServerResponse, forceRotate?: boolean): Promise<
|
160
|
-
deviceId: DeviceId;
|
161
|
-
deviceMetadata: RequestMetadata;
|
162
|
-
}>;
|
161
|
+
load(req: IncomingMessage, res: ServerResponse, forceRotate?: boolean): Promise<DeviceInfo>;
|
163
162
|
private create;
|
164
163
|
private refresh;
|
165
164
|
private rotate;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"device-manager.d.ts","sourceRoot":"","sources":["../../src/device/device-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAEhE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,OAAO,EAAE,eAAe,EAA0B,MAAM,wBAAwB,CAAA;AAEhF,OAAO,EAAE,QAAQ,EAAoC,MAAM,gBAAgB,CAAA;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAG/C;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;EAIxB,CAAA;AAEF,eAAO,MAAM,0BAA0B;IACrC
|
1
|
+
{"version":3,"file":"device-manager.d.ts","sourceRoot":"","sources":["../../src/device/device-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAEhE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,OAAO,EAAE,eAAe,EAA0B,MAAM,wBAAwB,CAAA;AAEhF,OAAO,EAAE,QAAQ,EAAoC,MAAM,gBAAgB,CAAA;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAG/C;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;EAIxB,CAAA;AAEF,eAAO,MAAM,0BAA0B;IACrC;;;OAGG;;IAOH;;;;OAIG;;IAEH;;OAEG;;;;;;;;;;;;;;;QAIC;;;;WAIG;;QAEH;;;;WAIG;;QAEH;;;;WAIG;;QAEH;;;;;;WAMG;;QAKH;;;;WAIG;;QAEH;;;;WAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIP,CAAA;AAEF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAK7E,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,EAAE,QAAQ,CAAA;IAClB,cAAc,EAAE,eAAe,CAAA;CAChC,CAAA;AAED;;;;GAIG;AACH,qBAAa,aAAa;IAItB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAHxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4C;gBAGjD,KAAK,EAAE,WAAW,EACnC,OAAO,GAAE,oBAAyB;IAKvB,IAAI,CACf,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,WAAW,UAAQ,GAClB,OAAO,CAAC,UAAU,CAAC;YAcR,MAAM;YAuBN,OAAO;YAyCP,MAAM;YAiBN,SAAS;IA+BvB,OAAO,CAAC,WAAW;IAuBnB,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,WAAW;IAgCZ,kBAAkB,CAAC,GAAG,EAAE,eAAe;CAG/C"}
|
@@ -20,10 +20,12 @@ exports.deviceManagerOptionsSchema = zod_1.z.object({
|
|
20
20
|
/**
|
21
21
|
* Controls whether the IP address is read from the `X-Forwarded-For` header
|
22
22
|
* (if `true`), or from the `req.socket.remoteAddress` property (if `false`).
|
23
|
-
*
|
24
|
-
* @default true // (nowadays, most requests are proxied)
|
25
23
|
*/
|
26
|
-
trustProxy: zod_1.z
|
24
|
+
trustProxy: zod_1.z
|
25
|
+
.function()
|
26
|
+
.args(zod_1.z.string(), zod_1.z.number())
|
27
|
+
.returns(zod_1.z.boolean())
|
28
|
+
.optional(),
|
27
29
|
/**
|
28
30
|
* Amount of time (in ms) after which session IDs will be rotated
|
29
31
|
*
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"device-manager.js","sourceRoot":"","sources":["../../src/device/device-manager.ts"],"names":[],"mappings":";;;AACA,mCAAqD;AACrD,6BAAuB;AACvB,kDAA0D;AAC1D,mDAAqE;AACrE,uDAAgF;AAEhF,iDAA2E;AAE3E,mDAAoE;AAEpE;;GAEG;AACU,QAAA,aAAa,GAAG,OAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,OAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,OAAC,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;IACpD,MAAM,EAAE,OAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,OAAC,CAAC,GAAG,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,OAAC,CAAC,OAAO,EAAE,CAAC;IACnE,KAAK,EAAE,OAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,OAAC,CAAC,GAAG,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;CAClE,CAAC,CAAA;AAEW,QAAA,0BAA0B,GAAG,OAAC,CAAC,MAAM,CAAC;IACjD
|
1
|
+
{"version":3,"file":"device-manager.js","sourceRoot":"","sources":["../../src/device/device-manager.ts"],"names":[],"mappings":"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"}
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { Awaitable } from '../lib/util/type.js';
|
2
2
|
import { DeviceData } from './device-data.js';
|
3
3
|
import { DeviceId } from './device-id.js';
|
4
|
-
export * from './device-id.js';
|
5
4
|
export * from './device-data.js';
|
5
|
+
export * from './device-id.js';
|
6
6
|
export * from './session-id.js';
|
7
7
|
export interface DeviceStore {
|
8
8
|
createDevice(deviceId: DeviceId, data: DeviceData): Awaitable<void>;
|
@@ -10,6 +10,6 @@ export interface DeviceStore {
|
|
10
10
|
updateDevice(deviceId: DeviceId, data: Partial<DeviceData>): Awaitable<void>;
|
11
11
|
deleteDevice(deviceId: DeviceId): Awaitable<void>;
|
12
12
|
}
|
13
|
-
export declare
|
14
|
-
export declare function asDeviceStore(implementation
|
13
|
+
export declare const isDeviceStore: <V extends Partial<DeviceStore>>(value: V) => value is V & import("../lib/util/type.js").RequiredDefined<DeviceStore>;
|
14
|
+
export declare function asDeviceStore<V>(implementation: V): V & DeviceStore;
|
15
15
|
//# sourceMappingURL=device-store.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"device-store.d.ts","sourceRoot":"","sources":["../../src/device/device-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,
|
1
|
+
{"version":3,"file":"device-store.d.ts","sourceRoot":"","sources":["../../src/device/device-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAyB,MAAM,qBAAqB,CAAA;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAGzC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAE/B,MAAM,WAAW,WAAW;IAC1B,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;IACnE,UAAU,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,CAAA;IAC5D,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;IAC5E,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;CAClD;AAED,eAAO,MAAM,aAAa,uHAKxB,CAAA;AAEF,wBAAgB,aAAa,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,GAAG,CAAC,GAAG,WAAW,CAKnE"}
|
@@ -14,20 +14,21 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
15
|
};
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
-
exports.isDeviceStore =
|
17
|
+
exports.isDeviceStore = void 0;
|
18
18
|
exports.asDeviceStore = asDeviceStore;
|
19
|
+
const type_js_1 = require("../lib/util/type.js");
|
19
20
|
// Export all types needed to implement the DeviceStore interface
|
20
|
-
__exportStar(require("./device-id.js"), exports);
|
21
21
|
__exportStar(require("./device-data.js"), exports);
|
22
|
+
__exportStar(require("./device-id.js"), exports);
|
22
23
|
__exportStar(require("./session-id.js"), exports);
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
24
|
+
exports.isDeviceStore = (0, type_js_1.buildInterfaceChecker)([
|
25
|
+
'createDevice',
|
26
|
+
'readDevice',
|
27
|
+
'updateDevice',
|
28
|
+
'deleteDevice',
|
29
|
+
]);
|
29
30
|
function asDeviceStore(implementation) {
|
30
|
-
if (!implementation || !isDeviceStore(implementation)) {
|
31
|
+
if (!implementation || !(0, exports.isDeviceStore)(implementation)) {
|
31
32
|
throw new Error('Invalid DeviceStore implementation');
|
32
33
|
}
|
33
34
|
return implementation;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"device-store.js","sourceRoot":"","sources":["../../src/device/device-store.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"device-store.js","sourceRoot":"","sources":["../../src/device/device-store.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAuBA,sCAKC;AA5BD,iDAAsE;AAItE,iEAAiE;AACjE,mDAAgC;AAChC,iDAA8B;AAC9B,kDAA+B;AASlB,QAAA,aAAa,GAAG,IAAA,+BAAqB,EAAc;IAC9D,cAAc;IACd,YAAY;IACZ,cAAc;IACd,cAAc;CACf,CAAC,CAAA;AAEF,SAAgB,aAAa,CAAI,cAAiB;IAChD,IAAI,CAAC,cAAc,IAAI,CAAC,IAAA,qBAAa,EAAC,cAAc,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;IACvD,CAAC;IACD,OAAO,cAAc,CAAA;AACvB,CAAC"}
|
@@ -1,18 +1,26 @@
|
|
1
|
-
import {
|
2
|
-
|
3
|
-
export type
|
1
|
+
import { z } from 'zod';
|
2
|
+
import { DpopNonce, DpopSecret } from './dpop-nonce.js';
|
3
|
+
export { DpopNonce, type DpopSecret };
|
4
|
+
export declare const dpopManagerOptionsSchema: z.ZodObject<{
|
4
5
|
/**
|
5
6
|
* Set this to `false` to disable the use of nonces in DPoP proofs. Set this
|
6
7
|
* to a secret Uint8Array or hex encoded string to use a predictable seed for
|
7
8
|
* all nonces (typically useful when multiple instances are running). Leave
|
8
9
|
* undefined to generate a random seed at startup.
|
9
10
|
*/
|
10
|
-
dpopSecret
|
11
|
-
|
12
|
-
}
|
11
|
+
dpopSecret: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<false>, z.ZodUnion<[z.ZodEffects<z.ZodType<Uint8Array, z.ZodTypeDef, Uint8Array>, Uint8Array, Uint8Array>, z.ZodEffects<z.ZodString, Uint8Array, string>]>]>>;
|
12
|
+
dpopRotationInterval: z.ZodOptional<z.ZodNumber>;
|
13
|
+
}, "strip", z.ZodTypeAny, {
|
14
|
+
dpopSecret?: false | Uint8Array | undefined;
|
15
|
+
dpopRotationInterval?: number | undefined;
|
16
|
+
}, {
|
17
|
+
dpopSecret?: string | false | Uint8Array | undefined;
|
18
|
+
dpopRotationInterval?: number | undefined;
|
19
|
+
}>;
|
20
|
+
export type DpopManagerOptions = z.input<typeof dpopManagerOptionsSchema>;
|
13
21
|
export declare class DpopManager {
|
14
22
|
protected readonly dpopNonce?: DpopNonce;
|
15
|
-
constructor(
|
23
|
+
constructor(options?: DpopManagerOptions);
|
16
24
|
nextNonce(): string | undefined;
|
17
25
|
/**
|
18
26
|
* @see {@link https://datatracker.ietf.org/doc/html/rfc9449#section-4.3}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"dpop-manager.d.ts","sourceRoot":"","sources":["../../src/dpop/dpop-manager.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"dpop-manager.d.ts","sourceRoot":"","sources":["../../src/dpop/dpop-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,OAAO,EACL,SAAS,EACT,UAAU,EAGX,MAAM,iBAAiB,CAAA;AAIxB,OAAO,EAAE,SAAS,EAAE,KAAK,UAAU,EAAE,CAAA;AAErC,eAAO,MAAM,wBAAwB;IACnC;;;;;OAKG;;;;;;;;;EAGH,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAEzE,qBAAa,WAAW;IACtB,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAA;gBAE5B,OAAO,GAAE,kBAAuB;IAS5C,SAAS,IAAI,MAAM,GAAG,SAAS;IAI/B;;OAEG;IACG,UAAU,CACd,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,MAAM,EAAE,cAAc;IAC3B,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,WAAW;IAC9B,WAAW,CAAC,EAAE,MAAM;;;iBAWb,MAAM;iBACN,MAAM;;;;CAoEhB"}
|
@@ -1,19 +1,33 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.DpopManager = exports.DpopNonce = void 0;
|
3
|
+
exports.DpopManager = exports.dpopManagerOptionsSchema = exports.DpopNonce = void 0;
|
4
4
|
const node_crypto_1 = require("node:crypto");
|
5
5
|
const jose_1 = require("jose");
|
6
|
+
const zod_1 = require("zod");
|
6
7
|
const constants_js_1 = require("../constants.js");
|
7
8
|
const invalid_dpop_proof_error_js_1 = require("../errors/invalid-dpop-proof-error.js");
|
8
9
|
const use_dpop_nonce_error_js_1 = require("../errors/use-dpop-nonce-error.js");
|
9
10
|
const dpop_nonce_js_1 = require("./dpop-nonce.js");
|
10
11
|
Object.defineProperty(exports, "DpopNonce", { enumerable: true, get: function () { return dpop_nonce_js_1.DpopNonce; } });
|
11
12
|
const { JOSEError } = jose_1.errors;
|
13
|
+
exports.dpopManagerOptionsSchema = zod_1.z.object({
|
14
|
+
/**
|
15
|
+
* Set this to `false` to disable the use of nonces in DPoP proofs. Set this
|
16
|
+
* to a secret Uint8Array or hex encoded string to use a predictable seed for
|
17
|
+
* all nonces (typically useful when multiple instances are running). Leave
|
18
|
+
* undefined to generate a random seed at startup.
|
19
|
+
*/
|
20
|
+
dpopSecret: zod_1.z.union([zod_1.z.literal(false), dpop_nonce_js_1.dpopSecretSchema]).optional(),
|
21
|
+
dpopRotationInterval: dpop_nonce_js_1.rotationIntervalSchema.optional(),
|
22
|
+
});
|
12
23
|
class DpopManager {
|
13
24
|
dpopNonce;
|
14
|
-
constructor(
|
25
|
+
constructor(options = {}) {
|
26
|
+
const { dpopSecret, dpopRotationInterval } = exports.dpopManagerOptionsSchema.parse(options);
|
15
27
|
this.dpopNonce =
|
16
|
-
dpopSecret === false
|
28
|
+
dpopSecret === false
|
29
|
+
? undefined
|
30
|
+
: new dpop_nonce_js_1.DpopNonce(dpopSecret, dpopRotationInterval);
|
17
31
|
}
|
18
32
|
nextNonce() {
|
19
33
|
return this.dpopNonce?.next();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"dpop-manager.js","sourceRoot":"","sources":["../../src/dpop/dpop-manager.ts"],"names":[],"mappings":";;;AAAA,6CAAwC;AACxC,+BAA6E;AAC7E,kDAAoD;AACpD,uFAA6E;AAC7E,+EAAqE;AACrE,
|
1
|
+
{"version":3,"file":"dpop-manager.js","sourceRoot":"","sources":["../../src/dpop/dpop-manager.ts"],"names":[],"mappings":"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"}
|
@@ -1,13 +1,19 @@
|
|
1
|
-
|
1
|
+
import { z } from 'zod';
|
2
|
+
export declare const rotationIntervalSchema: z.ZodNumber;
|
3
|
+
export declare const secretBytesSchema: z.ZodEffects<z.ZodType<Uint8Array, z.ZodTypeDef, Uint8Array>, Uint8Array, Uint8Array>;
|
4
|
+
export declare const secretHexSchema: z.ZodEffects<z.ZodString, Uint8Array, string>;
|
5
|
+
export declare const dpopSecretSchema: z.ZodUnion<[z.ZodEffects<z.ZodType<Uint8Array, z.ZodTypeDef, Uint8Array>, Uint8Array, Uint8Array>, z.ZodEffects<z.ZodString, Uint8Array, string>]>;
|
6
|
+
export type DpopSecret = z.input<typeof dpopSecretSchema>;
|
2
7
|
export declare class DpopNonce {
|
3
8
|
#private;
|
4
|
-
|
5
|
-
|
6
|
-
|
9
|
+
constructor(secret?: DpopSecret, rotationInterval?: number);
|
10
|
+
/**
|
11
|
+
* Returns the number of full rotations since the epoch
|
12
|
+
*/
|
13
|
+
protected get currentCounter(): number;
|
7
14
|
protected rotate(): void;
|
8
15
|
protected compute(counter: number): string;
|
9
16
|
next(): string;
|
10
17
|
check(nonce: string): boolean;
|
11
|
-
static from(input?: DpopNonceInput, step?: number): DpopNonce;
|
12
18
|
}
|
13
19
|
//# sourceMappingURL=dpop-nonce.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"dpop-nonce.d.ts","sourceRoot":"","sources":["../../src/dpop/dpop-nonce.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"dpop-nonce.d.ts","sourceRoot":"","sources":["../../src/dpop/dpop-nonce.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAMvB,eAAO,MAAM,sBAAsB,aAIN,CAAA;AAI7B,eAAO,MAAM,iBAAiB,uFAI1B,CAAA;AAEJ,eAAO,MAAM,eAAe,+CAO8B,CAAA;AAE1D,eAAO,MAAM,gBAAgB,oJAAgD,CAAA;AAC7E,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAEzD,qBAAa,SAAS;;gBAWlB,MAAM,GAAE,UAA4C,EACpD,gBAAgB,SAAwB;IAW1C;;OAEG;IACH,SAAS,KAAK,cAAc,WAE3B;IAED,SAAS,CAAC,MAAM;IA4BhB,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM;IAO1B,IAAI;IAKJ,KAAK,CAAC,KAAK,EAAE,MAAM;CAG3B"}
|
package/dist/dpop/dpop-nonce.js
CHANGED
@@ -1,44 +1,52 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.DpopNonce = void 0;
|
3
|
+
exports.DpopNonce = exports.dpopSecretSchema = exports.secretHexSchema = exports.secretBytesSchema = exports.rotationIntervalSchema = void 0;
|
4
4
|
const node_crypto_1 = require("node:crypto");
|
5
|
+
const zod_1 = require("zod");
|
5
6
|
const constants_js_1 = require("../constants.js");
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
}
|
7
|
+
const MAX_ROTATION_INTERVAL = constants_js_1.DPOP_NONCE_MAX_AGE / 3;
|
8
|
+
const MIN_ROTATION_INTERVAL = Math.min(1000, MAX_ROTATION_INTERVAL);
|
9
|
+
exports.rotationIntervalSchema = zod_1.z
|
10
|
+
.number()
|
11
|
+
.int()
|
12
|
+
.min(MIN_ROTATION_INTERVAL)
|
13
|
+
.max(MAX_ROTATION_INTERVAL);
|
14
|
+
const SECRET_BYTE_LENGTH = 32;
|
15
|
+
exports.secretBytesSchema = zod_1.z
|
16
|
+
.instanceof(Uint8Array)
|
17
|
+
.refine((secret) => secret.length === SECRET_BYTE_LENGTH, {
|
18
|
+
message: `Secret must be exactly ${SECRET_BYTE_LENGTH} bytes long`,
|
19
|
+
});
|
20
|
+
exports.secretHexSchema = zod_1.z
|
21
|
+
.string()
|
22
|
+
.regex(/^[0-9a-f]+$/i, `Secret must be a ${SECRET_BYTE_LENGTH * 2} chars hex string`)
|
23
|
+
.length(SECRET_BYTE_LENGTH * 2)
|
24
|
+
.transform((hex) => Buffer.from(hex, 'hex'));
|
25
|
+
exports.dpopSecretSchema = zod_1.z.union([exports.secretBytesSchema, exports.secretHexSchema]);
|
18
26
|
class DpopNonce {
|
19
|
-
|
20
|
-
step;
|
27
|
+
#rotationInterval;
|
21
28
|
#secret;
|
29
|
+
// Nonce state
|
22
30
|
#counter;
|
23
31
|
#prev;
|
24
32
|
#now;
|
25
33
|
#next;
|
26
|
-
constructor(secret,
|
27
|
-
this
|
28
|
-
this
|
29
|
-
|
30
|
-
throw new TypeError('Expected 32 bytes');
|
31
|
-
if (this.step < 0 || this.step > constants_js_1.DPOP_NONCE_MAX_AGE / 3) {
|
32
|
-
throw new TypeError('Invalid step');
|
33
|
-
}
|
34
|
-
this.#secret = Uint8Array.from(secret);
|
35
|
-
this.#counter = (Date.now() / step) | 0;
|
34
|
+
constructor(secret = (0, node_crypto_1.randomBytes)(SECRET_BYTE_LENGTH), rotationInterval = MAX_ROTATION_INTERVAL) {
|
35
|
+
this.#rotationInterval = exports.rotationIntervalSchema.parse(rotationInterval);
|
36
|
+
this.#secret = Uint8Array.from(exports.dpopSecretSchema.parse(secret));
|
37
|
+
this.#counter = this.currentCounter;
|
36
38
|
this.#prev = this.compute(this.#counter - 1);
|
37
39
|
this.#now = this.compute(this.#counter);
|
38
40
|
this.#next = this.compute(this.#counter + 1);
|
39
41
|
}
|
42
|
+
/**
|
43
|
+
* Returns the number of full rotations since the epoch
|
44
|
+
*/
|
45
|
+
get currentCounter() {
|
46
|
+
return (Date.now() / this.#rotationInterval) | 0;
|
47
|
+
}
|
40
48
|
rotate() {
|
41
|
-
const counter =
|
49
|
+
const counter = this.currentCounter;
|
42
50
|
switch (counter - this.#counter) {
|
43
51
|
case 0:
|
44
52
|
// counter === this.#counter => nothing to do
|
@@ -77,18 +85,19 @@ class DpopNonce {
|
|
77
85
|
check(nonce) {
|
78
86
|
return this.#next === nonce || this.#now === nonce || this.#prev === nonce;
|
79
87
|
}
|
80
|
-
static from(input = (0, node_crypto_1.randomBytes)(32), step = constants_js_1.DPOP_NONCE_MAX_AGE / 3) {
|
81
|
-
if (input instanceof DpopNonce) {
|
82
|
-
return input;
|
83
|
-
}
|
84
|
-
if (input instanceof Uint8Array) {
|
85
|
-
return new DpopNonce(input, step);
|
86
|
-
}
|
87
|
-
if (typeof input === 'string') {
|
88
|
-
return new DpopNonce(Buffer.from(input, 'hex'), step);
|
89
|
-
}
|
90
|
-
return new DpopNonce(input, step);
|
91
|
-
}
|
92
88
|
}
|
93
89
|
exports.DpopNonce = DpopNonce;
|
90
|
+
function numTo64bits(num) {
|
91
|
+
const arr = new Uint8Array(8);
|
92
|
+
// @NOTE Assigning to an uint8 will only keep the last 8 int bits
|
93
|
+
arr[7] = num |= 0;
|
94
|
+
arr[6] = num >>= 8;
|
95
|
+
arr[5] = num >>= 8;
|
96
|
+
arr[4] = num >>= 8;
|
97
|
+
arr[3] = num >>= 8;
|
98
|
+
arr[2] = num >>= 8;
|
99
|
+
arr[1] = num >>= 8;
|
100
|
+
arr[0] = num >>= 8;
|
101
|
+
return arr;
|
102
|
+
}
|
94
103
|
//# sourceMappingURL=dpop-nonce.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"dpop-nonce.js","sourceRoot":"","sources":["../../src/dpop/dpop-nonce.ts"],"names":[],"mappings":";;;AAAA,6CAAqD;AACrD,kDAAoD;AAEpD,
|
1
|
+
{"version":3,"file":"dpop-nonce.js","sourceRoot":"","sources":["../../src/dpop/dpop-nonce.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import { OAuthError } from './oauth-error.js';
|
2
|
+
export declare class HandleUnavailableError extends OAuthError {
|
3
|
+
readonly reason: 'syntax' | 'domain' | 'slur' | 'taken';
|
4
|
+
constructor(reason: 'syntax' | 'domain' | 'slur' | 'taken', details?: string, cause?: unknown);
|
5
|
+
toJSON(): {
|
6
|
+
readonly reason: "domain" | "syntax" | "slur" | "taken";
|
7
|
+
readonly error: string;
|
8
|
+
readonly error_description: string;
|
9
|
+
};
|
10
|
+
}
|
11
|
+
//# sourceMappingURL=handle-unavailable-error.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"handle-unavailable-error.d.ts","sourceRoot":"","sources":["../../src/errors/handle-unavailable-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,qBAAa,sBAAuB,SAAQ,UAAU;IAElD,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO;gBAA9C,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,EACvD,OAAO,GAAE,MAAuC,EAChD,KAAK,CAAC,EAAE,OAAO;IAKjB,MAAM;;;;;CAMP"}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.HandleUnavailableError = void 0;
|
4
|
+
const oauth_error_js_1 = require("./oauth-error.js");
|
5
|
+
class HandleUnavailableError extends oauth_error_js_1.OAuthError {
|
6
|
+
reason;
|
7
|
+
constructor(reason, details = 'That handle is not available', cause) {
|
8
|
+
super('handle_unavailable', details, 400, cause);
|
9
|
+
this.reason = reason;
|
10
|
+
}
|
11
|
+
toJSON() {
|
12
|
+
return {
|
13
|
+
...super.toJSON(),
|
14
|
+
reason: this.reason,
|
15
|
+
};
|
16
|
+
}
|
17
|
+
}
|
18
|
+
exports.HandleUnavailableError = HandleUnavailableError;
|
19
|
+
//# sourceMappingURL=handle-unavailable-error.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"handle-unavailable-error.js","sourceRoot":"","sources":["../../src/errors/handle-unavailable-error.ts"],"names":[],"mappings":";;;AAAA,qDAA6C;AAE7C,MAAa,sBAAuB,SAAQ,2BAAU;IAEzC;IADX,YACW,MAA8C,EACvD,UAAkB,8BAA8B,EAChD,KAAe;QAEf,KAAK,CAAC,oBAAoB,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;QAJvC,WAAM,GAAN,MAAM,CAAwC;IAKzD,CAAC;IAED,MAAM;QACJ,OAAO;YACL,GAAG,KAAK,CAAC,MAAM,EAAE;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;SACX,CAAA;IACZ,CAAC;CACF;AAfD,wDAeC"}
|
@@ -1,28 +1,26 @@
|
|
1
1
|
import { OAuthError } from './oauth-error.js';
|
2
2
|
/**
|
3
3
|
* @see
|
4
|
-
* {@link https://datatracker.ietf.org/doc/html/rfc6749#section-5.2 | RFC6749 - Issuing an Access Token
|
5
|
-
*
|
6
|
-
* The request is missing a required parameter, includes an unsupported
|
4
|
+
* {@link https://datatracker.ietf.org/doc/html/rfc6749#section-5.2 | RFC6749 - Issuing an Access Token}
|
5
|
+
* : The request is missing a required parameter, includes an unsupported
|
7
6
|
* parameter value (other than grant type), repeats a parameter, includes
|
8
7
|
* multiple credentials, utilizes more than one mechanism for authenticating the
|
9
8
|
* client, or is otherwise malformed.
|
10
9
|
*
|
11
10
|
* @see
|
12
11
|
* {@link https://datatracker.ietf.org/doc/html/rfc6749#section-4.1.2.1 | RFC6749 - Authorization Code Grant, Authorization Request}
|
13
|
-
*
|
14
|
-
* The request is missing a required parameter, includes an invalid parameter
|
12
|
+
* : The request is missing a required parameter, includes an invalid parameter
|
15
13
|
* value, includes a parameter more than once, or is otherwise malformed.
|
16
14
|
*
|
17
15
|
* @see
|
18
|
-
* {@link https://datatracker.ietf.org/doc/html/rfc6750#section-3.1 | RFC6750 - The WWW-Authenticate Response Header Field
|
19
|
-
*
|
20
|
-
* The request is missing a required parameter, includes an unsupported
|
16
|
+
* {@link https://datatracker.ietf.org/doc/html/rfc6750#section-3.1 | RFC6750 - The WWW-Authenticate Response Header Field}
|
17
|
+
* : The request is missing a required parameter, includes an unsupported
|
21
18
|
* parameter or parameter value, repeats the same parameter, uses more than one
|
22
19
|
* method for including an access token, or is otherwise malformed. The resource
|
23
20
|
* server SHOULD respond with the HTTP 400 (Bad Request) status code.
|
24
21
|
*/
|
25
22
|
export declare class InvalidRequestError extends OAuthError {
|
26
23
|
constructor(error_description: string, cause?: unknown);
|
24
|
+
static from(err: unknown, message?: string): OAuthError;
|
27
25
|
}
|
28
26
|
//# sourceMappingURL=invalid-request-error.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"invalid-request-error.d.ts","sourceRoot":"","sources":["../../src/errors/invalid-request-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C
|
1
|
+
{"version":3,"file":"invalid-request-error.d.ts","sourceRoot":"","sources":["../../src/errors/invalid-request-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,mBAAoB,SAAQ,UAAU;gBACrC,iBAAiB,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;IAItD,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,SAAyB,GAAG,UAAU;CAIxE"}
|