@atproto/oauth-provider 0.16.5 → 0.17.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/CHANGELOG.md +32 -0
- package/dist/access-token/access-token-mode.js +2 -5
- package/dist/access-token/access-token-mode.js.map +1 -1
- package/dist/account/account-manager.js +25 -33
- package/dist/account/account-manager.js.map +1 -1
- package/dist/account/account-store.js +11 -32
- package/dist/account/account-store.js.map +1 -1
- package/dist/account/sign-in-data.js +9 -12
- package/dist/account/sign-in-data.js.map +1 -1
- package/dist/account/sign-up-input.js +14 -17
- package/dist/account/sign-up-input.js.map +1 -1
- package/dist/client/client-auth.js +1 -2
- package/dist/client/client-data.js +1 -2
- package/dist/client/client-id.js +2 -5
- package/dist/client/client-id.js.map +1 -1
- package/dist/client/client-info.js +1 -2
- package/dist/client/client-manager.js +86 -97
- package/dist/client/client-manager.js.map +1 -1
- package/dist/client/client-store.js +7 -26
- package/dist/client/client-store.js.map +1 -1
- package/dist/client/client-utils.js +10 -14
- package/dist/client/client-utils.js.map +1 -1
- package/dist/client/client.js +43 -53
- package/dist/client/client.js.map +1 -1
- package/dist/constants.js +28 -31
- package/dist/constants.js.map +1 -1
- package/dist/customization/branding.js +8 -11
- package/dist/customization/branding.js.map +1 -1
- package/dist/customization/build-customization-css.js +8 -11
- package/dist/customization/build-customization-css.js.map +1 -1
- package/dist/customization/build-customization-data.js +1 -4
- package/dist/customization/build-customization-data.js.map +1 -1
- package/dist/customization/colors.js +11 -14
- package/dist/customization/colors.js.map +1 -1
- package/dist/customization/customization.js +8 -11
- package/dist/customization/customization.js.map +1 -1
- package/dist/customization/links.js +7 -10
- package/dist/customization/links.js.map +1 -1
- package/dist/device/device-data.js +7 -10
- package/dist/device/device-data.js.map +1 -1
- package/dist/device/device-id.js +11 -16
- package/dist/device/device-id.js.map +1 -1
- package/dist/device/device-manager.js +32 -38
- package/dist/device/device-manager.js.map +1 -1
- package/dist/device/device-store.js +7 -25
- package/dist/device/device-store.js.map +1 -1
- package/dist/device/session-id.js +9 -13
- package/dist/device/session-id.js.map +1 -1
- package/dist/dpop/dpop-manager.d.ts +3 -3
- package/dist/dpop/dpop-manager.js +38 -43
- package/dist/dpop/dpop-manager.js.map +1 -1
- package/dist/dpop/dpop-nonce.d.ts +2 -2
- package/dist/dpop/dpop-nonce.d.ts.map +1 -1
- package/dist/dpop/dpop-nonce.js +14 -18
- package/dist/dpop/dpop-nonce.js.map +1 -1
- package/dist/dpop/dpop-proof.js +1 -2
- package/dist/errors/access-denied-error.js +2 -6
- package/dist/errors/access-denied-error.js.map +1 -1
- package/dist/errors/account-selection-required-error.js +2 -6
- package/dist/errors/account-selection-required-error.js.map +1 -1
- package/dist/errors/authorization-error.js +7 -12
- package/dist/errors/authorization-error.js.map +1 -1
- package/dist/errors/consent-required-error.js +2 -6
- package/dist/errors/consent-required-error.js.map +1 -1
- package/dist/errors/error-parser.js +14 -18
- package/dist/errors/error-parser.js.map +1 -1
- package/dist/errors/handle-unavailable-error.js +2 -7
- package/dist/errors/handle-unavailable-error.js.map +1 -1
- package/dist/errors/invalid-authorization-details-error.js +2 -6
- package/dist/errors/invalid-authorization-details-error.js.map +1 -1
- package/dist/errors/invalid-client-error.js +2 -6
- package/dist/errors/invalid-client-error.js.map +1 -1
- package/dist/errors/invalid-client-id-error.js +2 -6
- package/dist/errors/invalid-client-id-error.js.map +1 -1
- package/dist/errors/invalid-client-metadata-error.js +7 -11
- package/dist/errors/invalid-client-metadata-error.js.map +1 -1
- package/dist/errors/invalid-credentials-error.js +2 -7
- package/dist/errors/invalid-credentials-error.js.map +1 -1
- package/dist/errors/invalid-dpop-key-binding-error.js +2 -6
- package/dist/errors/invalid-dpop-key-binding-error.js.map +1 -1
- package/dist/errors/invalid-dpop-proof-error.js +2 -6
- package/dist/errors/invalid-dpop-proof-error.js.map +1 -1
- package/dist/errors/invalid-grant-error.js +2 -6
- package/dist/errors/invalid-grant-error.js.map +1 -1
- package/dist/errors/invalid-invite-code-error.d.ts +1 -1
- package/dist/errors/invalid-invite-code-error.d.ts.map +1 -1
- package/dist/errors/invalid-invite-code-error.js +2 -6
- package/dist/errors/invalid-invite-code-error.js.map +1 -1
- package/dist/errors/invalid-redirect-uri-error.js +2 -6
- package/dist/errors/invalid-redirect-uri-error.js.map +1 -1
- package/dist/errors/invalid-request-error.js +3 -7
- package/dist/errors/invalid-request-error.js.map +1 -1
- package/dist/errors/invalid-scope-error.js +2 -6
- package/dist/errors/invalid-scope-error.js.map +1 -1
- package/dist/errors/invalid-token-error.js +10 -15
- package/dist/errors/invalid-token-error.js.map +1 -1
- package/dist/errors/login-required-error.js +2 -6
- package/dist/errors/login-required-error.js.map +1 -1
- package/dist/errors/oauth-error.js +1 -9
- package/dist/errors/oauth-error.js.map +1 -1
- package/dist/errors/second-authentication-factor-required-error.js +2 -8
- package/dist/errors/second-authentication-factor-required-error.js.map +1 -1
- package/dist/errors/unauthorized-client-error.js +2 -6
- package/dist/errors/unauthorized-client-error.js.map +1 -1
- package/dist/errors/use-dpop-nonce-error.js +4 -8
- package/dist/errors/use-dpop-nonce-error.js.map +1 -1
- package/dist/errors/www-authenticate-error.js +4 -9
- package/dist/errors/www-authenticate-error.js.map +1 -1
- package/dist/index.js +14 -30
- package/dist/index.js.map +1 -1
- package/dist/lexicon/lexicon-data.js +1 -2
- package/dist/lexicon/lexicon-getter.js +6 -10
- package/dist/lexicon/lexicon-getter.js.map +1 -1
- package/dist/lexicon/lexicon-manager.js +10 -30
- package/dist/lexicon/lexicon-manager.js.map +1 -1
- package/dist/lexicon/lexicon-store.js +5 -10
- package/dist/lexicon/lexicon-store.js.map +1 -1
- package/dist/lib/csp/index.js +3 -8
- package/dist/lib/csp/index.js.map +1 -1
- package/dist/lib/hcaptcha.js +33 -43
- package/dist/lib/hcaptcha.js.map +1 -1
- package/dist/lib/html/build-document.js +19 -24
- package/dist/lib/html/build-document.js.map +1 -1
- package/dist/lib/html/escapers.js +10 -16
- package/dist/lib/html/escapers.js.map +1 -1
- package/dist/lib/html/html.js +1 -5
- package/dist/lib/html/html.js.map +1 -1
- package/dist/lib/html/hydration-data.js +6 -10
- package/dist/lib/html/hydration-data.js.map +1 -1
- package/dist/lib/html/index.js +3 -19
- package/dist/lib/html/index.js.map +1 -1
- package/dist/lib/html/tags.js +14 -23
- package/dist/lib/html/tags.js.map +1 -1
- package/dist/lib/html/util.js +1 -4
- package/dist/lib/html/util.js.map +1 -1
- package/dist/lib/http/accept.d.ts.map +1 -1
- package/dist/lib/http/accept.js +8 -8
- package/dist/lib/http/accept.js.map +1 -1
- package/dist/lib/http/context.js +1 -4
- package/dist/lib/http/context.js.map +1 -1
- package/dist/lib/http/headers.js +1 -4
- package/dist/lib/http/headers.js.map +1 -1
- package/dist/lib/http/index.js +10 -26
- package/dist/lib/http/index.js.map +1 -1
- package/dist/lib/http/method.js +1 -4
- package/dist/lib/http/method.js.map +1 -1
- package/dist/lib/http/middleware.js +11 -17
- package/dist/lib/http/middleware.js.map +1 -1
- package/dist/lib/http/parser.js +13 -20
- package/dist/lib/http/parser.js.map +1 -1
- package/dist/lib/http/path.js +1 -4
- package/dist/lib/http/path.js.map +1 -1
- package/dist/lib/http/request.d.ts.map +1 -1
- package/dist/lib/http/request.js +32 -47
- package/dist/lib/http/request.js.map +1 -1
- package/dist/lib/http/response.js +14 -27
- package/dist/lib/http/response.js.map +1 -1
- package/dist/lib/http/route.js +9 -12
- package/dist/lib/http/route.js.map +1 -1
- package/dist/lib/http/router.js +8 -13
- package/dist/lib/http/router.js.map +1 -1
- package/dist/lib/http/security-headers.js +10 -15
- package/dist/lib/http/security-headers.js.map +1 -1
- package/dist/lib/http/stream.js +12 -20
- package/dist/lib/http/stream.js.map +1 -1
- package/dist/lib/http/types.js +1 -2
- package/dist/lib/http/url.js +1 -4
- package/dist/lib/http/url.js.map +1 -1
- package/dist/lib/nsid.js +4 -8
- package/dist/lib/nsid.js.map +1 -1
- package/dist/lib/redis.js +4 -7
- package/dist/lib/redis.js.map +1 -1
- package/dist/lib/util/authorization-header.js +11 -15
- package/dist/lib/util/authorization-header.js.map +1 -1
- package/dist/lib/util/cast.js +3 -8
- package/dist/lib/util/cast.js.map +1 -1
- package/dist/lib/util/color.js +23 -32
- package/dist/lib/util/color.js.map +1 -1
- package/dist/lib/util/crypto.js +5 -10
- package/dist/lib/util/crypto.js.map +1 -1
- package/dist/lib/util/date.js +2 -6
- package/dist/lib/util/date.js.map +1 -1
- package/dist/lib/util/error.js +5 -8
- package/dist/lib/util/error.js.map +1 -1
- package/dist/lib/util/function.js +3 -8
- package/dist/lib/util/function.js.map +1 -1
- package/dist/lib/util/locale.js +3 -6
- package/dist/lib/util/locale.js.map +1 -1
- package/dist/lib/util/object.js +1 -4
- package/dist/lib/util/object.js.map +1 -1
- package/dist/lib/util/redirect-uri.js +3 -6
- package/dist/lib/util/redirect-uri.js.map +1 -1
- package/dist/lib/util/time.js +5 -9
- package/dist/lib/util/time.js.map +1 -1
- package/dist/lib/util/type.d.ts.map +1 -1
- package/dist/lib/util/type.js +1 -5
- package/dist/lib/util/type.js.map +1 -1
- package/dist/lib/util/ui8.js +3 -8
- package/dist/lib/util/ui8.js.map +1 -1
- package/dist/lib/util/well-known.js +1 -4
- package/dist/lib/util/well-known.js.map +1 -1
- package/dist/lib/util/zod-error.js +4 -8
- package/dist/lib/util/zod-error.js.map +1 -1
- package/dist/lib/write-form-redirect.js +9 -12
- package/dist/lib/write-form-redirect.js.map +1 -1
- package/dist/lib/write-html.js +12 -15
- package/dist/lib/write-html.js.map +1 -1
- package/dist/metadata/build-metadata.js +9 -12
- package/dist/metadata/build-metadata.js.map +1 -1
- package/dist/oauth-client.js +2 -18
- package/dist/oauth-client.js.map +1 -1
- package/dist/oauth-dpop.js +2 -18
- package/dist/oauth-dpop.js.map +1 -1
- package/dist/oauth-errors.js +24 -42
- package/dist/oauth-errors.js.map +1 -1
- package/dist/oauth-hooks.js +8 -15
- package/dist/oauth-hooks.js.map +1 -1
- package/dist/oauth-middleware.js +13 -16
- package/dist/oauth-middleware.js.map +1 -1
- package/dist/oauth-provider.js +108 -125
- package/dist/oauth-provider.js.map +1 -1
- package/dist/oauth-store.js +7 -23
- package/dist/oauth-store.js.map +1 -1
- package/dist/oauth-verifier.js +41 -53
- package/dist/oauth-verifier.js.map +1 -1
- package/dist/oidc/sub.js +2 -5
- package/dist/oidc/sub.js.map +1 -1
- package/dist/replay/replay-manager.js +6 -11
- package/dist/replay/replay-manager.js.map +1 -1
- package/dist/replay/replay-store-memory.js +5 -7
- package/dist/replay/replay-store-memory.js.map +1 -1
- package/dist/replay/replay-store-redis.js +3 -8
- package/dist/replay/replay-store-redis.js.map +1 -1
- package/dist/replay/replay-store.js +3 -8
- package/dist/replay/replay-store.js.map +1 -1
- package/dist/request/code.js +10 -15
- package/dist/request/code.js.map +1 -1
- package/dist/request/request-data.js +1 -5
- package/dist/request/request-data.js.map +1 -1
- package/dist/request/request-id.js +9 -13
- package/dist/request/request-id.js.map +1 -1
- package/dist/request/request-manager.js +61 -71
- package/dist/request/request-manager.js.map +1 -1
- package/dist/request/request-store.js +9 -27
- package/dist/request/request-store.js.map +1 -1
- package/dist/request/request-uri.js +17 -23
- package/dist/request/request-uri.js.map +1 -1
- package/dist/result/authorization-redirect-parameters.js +1 -2
- package/dist/result/authorization-result-authorize-page.js +1 -2
- package/dist/result/authorization-result-redirect.js +1 -2
- package/dist/router/assets/assets-manifest.d.ts.map +1 -1
- package/dist/router/assets/assets-manifest.js +14 -15
- package/dist/router/assets/assets-manifest.js.map +1 -1
- package/dist/router/assets/assets.d.ts.map +1 -1
- package/dist/router/assets/assets.js +25 -27
- package/dist/router/assets/assets.js.map +1 -1
- package/dist/router/assets/csrf.js +16 -25
- package/dist/router/assets/csrf.js.map +1 -1
- package/dist/router/assets/send-account-page.js +3 -6
- package/dist/router/assets/send-account-page.js.map +1 -1
- package/dist/router/assets/send-authorization-page.js +3 -6
- package/dist/router/assets/send-authorization-page.js.map +1 -1
- package/dist/router/assets/send-cookie-error-page.js +3 -6
- package/dist/router/assets/send-cookie-error-page.js.map +1 -1
- package/dist/router/assets/send-error-page.js +6 -9
- package/dist/router/assets/send-error-page.js.map +1 -1
- package/dist/router/assets/send-redirect.js +12 -20
- package/dist/router/assets/send-redirect.js.map +1 -1
- package/dist/router/create-account-page-middleware.js +11 -14
- package/dist/router/create-account-page-middleware.js.map +1 -1
- package/dist/router/create-api-middleware.js +83 -90
- package/dist/router/create-api-middleware.js.map +1 -1
- package/dist/router/create-authorization-page-middleware.js +43 -46
- package/dist/router/create-authorization-page-middleware.js.map +1 -1
- package/dist/router/create-oauth-middleware.js +31 -34
- package/dist/router/create-oauth-middleware.js.map +1 -1
- package/dist/router/error-handler.js +1 -2
- package/dist/router/middleware-options.js +1 -2
- package/dist/signer/access-token-payload.js +12 -15
- package/dist/signer/access-token-payload.js.map +1 -1
- package/dist/signer/api-token-payload.js +8 -11
- package/dist/signer/api-token-payload.js.map +1 -1
- package/dist/signer/signer.js +11 -17
- package/dist/signer/signer.js.map +1 -1
- package/dist/token/refresh-token.js +10 -15
- package/dist/token/refresh-token.js.map +1 -1
- package/dist/token/token-claims.js +1 -2
- package/dist/token/token-data.js +1 -2
- package/dist/token/token-id.js +10 -15
- package/dist/token/token-id.js.map +1 -1
- package/dist/token/token-manager.js +40 -51
- package/dist/token/token-manager.js.map +1 -1
- package/dist/token/token-store.js +7 -25
- package/dist/token/token-store.js.map +1 -1
- package/dist/types/authorization-response-error.js +8 -12
- package/dist/types/authorization-response-error.js.map +1 -1
- package/dist/types/color-hue.js +2 -5
- package/dist/types/color-hue.js.map +1 -1
- package/dist/types/email-otp.js +2 -5
- package/dist/types/email-otp.js.map +1 -1
- package/dist/types/email.js +6 -9
- package/dist/types/email.js.map +1 -1
- package/dist/types/handle.js +6 -9
- package/dist/types/handle.js.map +1 -1
- package/dist/types/invite-code.js +2 -5
- package/dist/types/invite-code.js.map +1 -1
- package/dist/types/par-response-error.js +5 -9
- package/dist/types/par-response-error.js.map +1 -1
- package/dist/types/password.js +3 -6
- package/dist/types/password.js.map +1 -1
- package/dist/types/rgb-color.js +7 -10
- package/dist/types/rgb-color.js.map +1 -1
- package/package.json +20 -22
- package/src/dpop/dpop-nonce.ts +1 -1
- package/src/errors/invalid-invite-code-error.ts +1 -1
- package/src/lib/http/accept.ts +4 -1
- package/src/lib/http/request.ts +4 -1
- package/src/lib/util/type.ts +0 -1
- package/src/router/assets/assets-manifest.ts +3 -1
- package/src/router/assets/assets.ts +2 -0
- package/tsconfig.build.tsbuildinfo +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"color-hue.js","sourceRoot":"","sources":["../../src/types/color-hue.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"color-hue.js","sourceRoot":"","sources":["../../src/types/color-hue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA","sourcesContent":["import { z } from 'zod'\n\nexport const colorHueSchema = z.number().min(0).max(360)\n"]}
|
package/dist/types/email-otp.js
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.emailOtpSchema = void 0;
|
|
4
|
-
const zod_1 = require("zod");
|
|
5
|
-
exports.emailOtpSchema = zod_1.z.string().min(1);
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const emailOtpSchema = z.string().min(1);
|
|
6
3
|
//# sourceMappingURL=email-otp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-otp.js","sourceRoot":"","sources":["../../src/types/email-otp.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"email-otp.js","sourceRoot":"","sources":["../../src/types/email-otp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA","sourcesContent":["import { z } from 'zod'\n\nexport const emailOtpSchema = z.string().min(1)\n"]}
|
package/dist/types/email.js
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
const disposable_email_domains_js_1 = require("disposable-email-domains-js");
|
|
6
|
-
const zod_1 = require("zod");
|
|
7
|
-
exports.emailSchema = zod_1.z
|
|
1
|
+
import { isEmailValid } from '@hapi/address';
|
|
2
|
+
import { isDisposableEmail } from 'disposable-email-domains-js';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
export const emailSchema = z
|
|
8
5
|
.string()
|
|
9
6
|
.email()
|
|
10
7
|
// @NOTE Internally, `zod` uses a regexp for validating emails.. This
|
|
@@ -19,10 +16,10 @@ exports.emailSchema = zod_1.z
|
|
|
19
16
|
// according to both libraries ensuring that we never encounter a case where
|
|
20
17
|
// an email allowed here is in a format that would be rejected by other parts
|
|
21
18
|
// of our systems.
|
|
22
|
-
.refine(
|
|
19
|
+
.refine(isEmailValid, {
|
|
23
20
|
message: 'Invalid email address',
|
|
24
21
|
})
|
|
25
|
-
.refine((email) => !
|
|
22
|
+
.refine((email) => !isDisposableEmail(email), {
|
|
26
23
|
message: 'Disposable email addresses are not allowed',
|
|
27
24
|
})
|
|
28
25
|
.transform((value) => value.toLowerCase());
|
package/dist/types/email.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email.js","sourceRoot":"","sources":["../../src/types/email.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"email.js","sourceRoot":"","sources":["../../src/types/email.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAC/D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC;KACzB,MAAM,EAAE;KACR,KAAK,EAAE;IACR,qEAAqE;IACrE,2EAA2E;IAC3E,2EAA2E;IAC3E,+DAA+D;IAC/D,oEAAoE;IACpE,2EAA2E;IAC3E,EAAE;IACF,6EAA6E;IAC7E,8EAA8E;IAC9E,4EAA4E;IAC5E,6EAA6E;IAC7E,kBAAkB;KACjB,MAAM,CAAC,YAAY,EAAE;IACpB,OAAO,EAAE,uBAAuB;CACjC,CAAC;KACD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE;IAC5C,OAAO,EAAE,4CAA4C;CACtD,CAAC;KACD,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAA","sourcesContent":["import { isEmailValid } from '@hapi/address'\nimport { isDisposableEmail } from 'disposable-email-domains-js'\nimport { z } from 'zod'\n\nexport const emailSchema = z\n .string()\n .email()\n // @NOTE Internally, `zod` uses a regexp for validating emails.. This\n // validation strategy *could* be less permissive in some (edge) cases than\n // `@hapi/address` as the latter uses an algorithm based on the spec. Truth\n // is, it is kinda hard to know if the set of emails allowed by\n // `@hapi/address` is covered by the set of emails allowed by `zod`.\n // Additionally, this could change with future changes in either libraries.\n //\n // Because of this uncertainty, and because other part of the Bluesky/ATProto\n // codebases rely solely on `zod`, this code only allows emails that are valid\n // according to both libraries ensuring that we never encounter a case where\n // an email allowed here is in a format that would be rejected by other parts\n // of our systems.\n .refine(isEmailValid, {\n message: 'Invalid email address',\n })\n .refine((email) => !isDisposableEmail(email), {\n message: 'Disposable email addresses are not allowed',\n })\n .transform((value) => value.toLowerCase())\n"]}
|
package/dist/types/handle.js
CHANGED
|
@@ -1,22 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const zod_1 = require("zod");
|
|
5
|
-
const syntax_1 = require("@atproto/syntax");
|
|
6
|
-
exports.handleSchema = zod_1.z
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ensureValidHandle, normalizeHandle } from '@atproto/syntax';
|
|
3
|
+
export const handleSchema = z
|
|
7
4
|
.string()
|
|
8
5
|
// @NOTE: We only check against validity towards ATProto's syntax. Additional
|
|
9
6
|
// rules may be imposed by the store implementation.
|
|
10
7
|
.superRefine((value, ctx) => {
|
|
11
8
|
try {
|
|
12
|
-
|
|
9
|
+
ensureValidHandle(value);
|
|
13
10
|
}
|
|
14
11
|
catch (err) {
|
|
15
12
|
ctx.addIssue({
|
|
16
|
-
code:
|
|
13
|
+
code: z.ZodIssueCode.custom,
|
|
17
14
|
message: err instanceof Error ? err.message : 'Invalid handle',
|
|
18
15
|
});
|
|
19
16
|
}
|
|
20
17
|
})
|
|
21
|
-
.transform(
|
|
18
|
+
.transform(normalizeHandle);
|
|
22
19
|
//# sourceMappingURL=handle.js.map
|
package/dist/types/handle.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handle.js","sourceRoot":"","sources":["../../src/types/handle.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"handle.js","sourceRoot":"","sources":["../../src/types/handle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEpE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC;KAC1B,MAAM,EAAE;IACT,6EAA6E;IAC7E,oDAAoD;KACnD,WAAW,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAC1B,IAAI,CAAC;QACH,iBAAiB,CAAC,KAAK,CAAC,CAAA;IAC1B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB;SAC/D,CAAC,CAAA;IACJ,CAAC;AACH,CAAC,CAAC;KACD,SAAS,CAAC,eAAe,CAAC,CAAA","sourcesContent":["import { z } from 'zod'\nimport { ensureValidHandle, normalizeHandle } from '@atproto/syntax'\n\nexport const handleSchema = z\n .string()\n // @NOTE: We only check against validity towards ATProto's syntax. Additional\n // rules may be imposed by the store implementation.\n .superRefine((value, ctx) => {\n try {\n ensureValidHandle(value)\n } catch (err) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: err instanceof Error ? err.message : 'Invalid handle',\n })\n }\n })\n .transform(normalizeHandle)\n"]}
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.inviteCodeSchema = void 0;
|
|
4
|
-
const zod_1 = require("zod");
|
|
5
|
-
exports.inviteCodeSchema = zod_1.z.string().min(1);
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const inviteCodeSchema = z.string().min(1);
|
|
6
3
|
//# sourceMappingURL=invite-code.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invite-code.js","sourceRoot":"","sources":["../../src/types/invite-code.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"invite-code.js","sourceRoot":"","sources":["../../src/types/invite-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA","sourcesContent":["import { z } from 'zod'\n\nexport const inviteCodeSchema = z.string().min(1)\nexport type InviteCode = z.infer<typeof inviteCodeSchema>\n"]}
|
|
@@ -1,14 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.parResponseErrorSchema = void 0;
|
|
4
|
-
exports.isPARResponseError = isPARResponseError;
|
|
5
|
-
const zod_1 = require("zod");
|
|
6
|
-
const authorization_response_error_js_1 = require("./authorization-response-error.js");
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { authorizationResponseErrorSchema } from './authorization-response-error.js';
|
|
7
3
|
// https://datatracker.ietf.org/doc/html/rfc9126#section-2.3-1
|
|
8
4
|
// > Since initial processing of the pushed authorization request does not
|
|
9
5
|
// > involve resource owner interaction, error codes related to user
|
|
10
6
|
// > interaction, such as "access_denied", are never returned.
|
|
11
|
-
|
|
7
|
+
export const parResponseErrorSchema = z.intersection(authorizationResponseErrorSchema, z.enum([
|
|
12
8
|
'invalid_request',
|
|
13
9
|
'unauthorized_client',
|
|
14
10
|
'unsupported_response_type',
|
|
@@ -16,7 +12,7 @@ exports.parResponseErrorSchema = zod_1.z.intersection(authorization_response_err
|
|
|
16
12
|
'server_error',
|
|
17
13
|
'temporarily_unavailable',
|
|
18
14
|
]));
|
|
19
|
-
function isPARResponseError(value) {
|
|
20
|
-
return
|
|
15
|
+
export function isPARResponseError(value) {
|
|
16
|
+
return parResponseErrorSchema.safeParse(value).success;
|
|
21
17
|
}
|
|
22
18
|
//# sourceMappingURL=par-response-error.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"par-response-error.js","sourceRoot":"","sources":["../../src/types/par-response-error.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"par-response-error.js","sourceRoot":"","sources":["../../src/types/par-response-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,gCAAgC,EAAE,MAAM,mCAAmC,CAAA;AAEpF,8DAA8D;AAC9D,0EAA0E;AAC1E,oEAAoE;AACpE,8DAA8D;AAE9D,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,YAAY,CAClD,gCAAgC,EAChC,CAAC,CAAC,IAAI,CAAC;IACL,iBAAiB;IACjB,qBAAqB;IACrB,2BAA2B;IAC3B,eAAe;IACf,cAAc;IACd,yBAAyB;CAC1B,CAAC,CACH,CAAA;AAID,MAAM,UAAU,kBAAkB,CAAI,KAAQ;IAC5C,OAAO,sBAAsB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAA;AACxD,CAAC","sourcesContent":["import { z } from 'zod'\nimport { authorizationResponseErrorSchema } from './authorization-response-error.js'\n\n// https://datatracker.ietf.org/doc/html/rfc9126#section-2.3-1\n// > Since initial processing of the pushed authorization request does not\n// > involve resource owner interaction, error codes related to user\n// > interaction, such as \"access_denied\", are never returned.\n\nexport const parResponseErrorSchema = z.intersection(\n authorizationResponseErrorSchema,\n z.enum([\n 'invalid_request',\n 'unauthorized_client',\n 'unsupported_response_type',\n 'invalid_scope',\n 'server_error',\n 'temporarily_unavailable',\n ]),\n)\n\nexport type PARResponseError = z.infer<typeof parResponseErrorSchema>\n\nexport function isPARResponseError<T>(value: T): value is T & PARResponseError {\n return parResponseErrorSchema.safeParse(value).success\n}\n"]}
|
package/dist/types/password.js
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const zod_1 = require("zod");
|
|
5
|
-
exports.oldPasswordSchema = zod_1.z.string().min(1).max(512);
|
|
6
|
-
exports.newPasswordSchema = zod_1.z.string().min(8).max(256);
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const oldPasswordSchema = z.string().min(1).max(512);
|
|
3
|
+
export const newPasswordSchema = z.string().min(8).max(256);
|
|
7
4
|
//# sourceMappingURL=password.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"password.js","sourceRoot":"","sources":["../../src/types/password.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"password.js","sourceRoot":"","sources":["../../src/types/password.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAC3D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA","sourcesContent":["import { z } from 'zod'\n\nexport const oldPasswordSchema = z.string().min(1).max(512)\nexport const newPasswordSchema = z.string().min(8).max(256)\n"]}
|
package/dist/types/rgb-color.js
CHANGED
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const zod_1 = require("zod");
|
|
5
|
-
const color_js_1 = require("../lib/util/color.js");
|
|
6
|
-
exports.rgbColorSchema = zod_1.z.string().transform((value, ctx) => {
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { parseColor } from '../lib/util/color.js';
|
|
3
|
+
export const rgbColorSchema = z.string().transform((value, ctx) => {
|
|
7
4
|
try {
|
|
8
|
-
const parsed =
|
|
5
|
+
const parsed = parseColor(value);
|
|
9
6
|
if ('a' in parsed && parsed.a !== undefined) {
|
|
10
7
|
ctx.addIssue({
|
|
11
|
-
code:
|
|
8
|
+
code: z.ZodIssueCode.custom,
|
|
12
9
|
message: 'Alpha values are not supported',
|
|
13
10
|
});
|
|
14
11
|
}
|
|
@@ -16,10 +13,10 @@ exports.rgbColorSchema = zod_1.z.string().transform((value, ctx) => {
|
|
|
16
13
|
}
|
|
17
14
|
catch (e) {
|
|
18
15
|
ctx.addIssue({
|
|
19
|
-
code:
|
|
16
|
+
code: z.ZodIssueCode.custom,
|
|
20
17
|
message: e instanceof Error ? e.message : 'Invalid color value',
|
|
21
18
|
});
|
|
22
|
-
return
|
|
19
|
+
return z.NEVER;
|
|
23
20
|
}
|
|
24
21
|
});
|
|
25
22
|
//# sourceMappingURL=rgb-color.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rgb-color.js","sourceRoot":"","sources":["../../src/types/rgb-color.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rgb-color.js","sourceRoot":"","sources":["../../src/types/rgb-color.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAY,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAE3D,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,GAAG,EAAY,EAAE;IAC1E,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;QAChC,IAAI,GAAG,IAAI,MAAM,IAAI,MAAM,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;YAC5C,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;gBAC3B,OAAO,EAAE,gCAAgC;aAC1C,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,OAAO,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB;SAChE,CAAC,CAAA;QACF,OAAO,CAAC,CAAC,KAAK,CAAA;IAChB,CAAC;AACH,CAAC,CAAC,CAAA","sourcesContent":["import { z } from 'zod'\nimport { RgbColor, parseColor } from '../lib/util/color.js'\n\nexport const rgbColorSchema = z.string().transform((value, ctx): RgbColor => {\n try {\n const parsed = parseColor(value)\n if ('a' in parsed && parsed.a !== undefined) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Alpha values are not supported',\n })\n }\n return parsed\n } catch (e) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: e instanceof Error ? e.message : 'Invalid color value',\n })\n return z.NEVER\n }\n})\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atproto/oauth-provider",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.17.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Generic OAuth2 and OpenID Connect provider for Node.js. Currently only supports features needed for Atproto.",
|
|
6
6
|
"keywords": [
|
|
@@ -18,9 +18,7 @@
|
|
|
18
18
|
"url": "https://github.com/bluesky-social/atproto",
|
|
19
19
|
"directory": "packages/oauth/oauth-provider"
|
|
20
20
|
},
|
|
21
|
-
"type": "
|
|
22
|
-
"main": "dist/index.js",
|
|
23
|
-
"types": "dist/index.d.ts",
|
|
21
|
+
"type": "module",
|
|
24
22
|
"exports": {
|
|
25
23
|
".": {
|
|
26
24
|
"types": "./dist/index.d.ts",
|
|
@@ -28,7 +26,7 @@
|
|
|
28
26
|
}
|
|
29
27
|
},
|
|
30
28
|
"engines": {
|
|
31
|
-
"node": ">=
|
|
29
|
+
"node": ">=22"
|
|
32
30
|
},
|
|
33
31
|
"dependencies": {
|
|
34
32
|
"@hapi/accept": "^6.0.3",
|
|
@@ -42,29 +40,29 @@
|
|
|
42
40
|
"ioredis": "^5.3.2",
|
|
43
41
|
"jose": "^5.2.0",
|
|
44
42
|
"zod": "^3.23.8",
|
|
45
|
-
"@atproto-labs/fetch
|
|
46
|
-
"@atproto-labs/
|
|
47
|
-
"@atproto-labs/
|
|
48
|
-
"@atproto-labs/
|
|
49
|
-
"@atproto-labs/simple-store-memory": "^0.
|
|
50
|
-
"@atproto/
|
|
51
|
-
"@atproto/did": "^0.
|
|
52
|
-
"@atproto/jwk
|
|
53
|
-
"@atproto/
|
|
54
|
-
"@atproto/lex-document": "^0.0
|
|
55
|
-
"@atproto/lex-resolver": "^0.0
|
|
56
|
-
"@atproto/oauth-types": "^0.
|
|
57
|
-
"@atproto/oauth-
|
|
58
|
-
"@atproto/oauth-provider-ui": "0.
|
|
59
|
-
"@atproto/
|
|
60
|
-
"@atproto/
|
|
43
|
+
"@atproto-labs/fetch": "^0.3.0",
|
|
44
|
+
"@atproto-labs/fetch-node": "^0.3.0",
|
|
45
|
+
"@atproto-labs/pipe": "^0.2.0",
|
|
46
|
+
"@atproto-labs/simple-store": "^0.4.0",
|
|
47
|
+
"@atproto-labs/simple-store-memory": "^0.2.0",
|
|
48
|
+
"@atproto/common": "^0.6.0",
|
|
49
|
+
"@atproto/did": "^0.4.0",
|
|
50
|
+
"@atproto/jwk": "^0.7.0",
|
|
51
|
+
"@atproto/jwk-jose": "^0.2.0",
|
|
52
|
+
"@atproto/lex-document": "^0.1.0",
|
|
53
|
+
"@atproto/lex-resolver": "^0.1.0",
|
|
54
|
+
"@atproto/oauth-types": "^0.7.0",
|
|
55
|
+
"@atproto/oauth-provider-api": "0.5.0",
|
|
56
|
+
"@atproto/oauth-provider-ui": "0.6.0",
|
|
57
|
+
"@atproto/oauth-scopes": "^0.4.0",
|
|
58
|
+
"@atproto/syntax": "^0.6.0"
|
|
61
59
|
},
|
|
62
60
|
"devDependencies": {
|
|
63
61
|
"@types/cookie": "^0.6.0",
|
|
64
62
|
"@types/forwarded": "0.1.3",
|
|
65
63
|
"@types/http-errors": "^2.0.4",
|
|
66
64
|
"@types/send": "^0.17.4",
|
|
67
|
-
"@atproto-labs/rollup-plugin-bundle-manifest": "^0.
|
|
65
|
+
"@atproto-labs/rollup-plugin-bundle-manifest": "^0.3.0"
|
|
68
66
|
},
|
|
69
67
|
"scripts": {
|
|
70
68
|
"build": "tsc --build tsconfig.build.json"
|
package/src/dpop/dpop-nonce.ts
CHANGED
|
@@ -14,7 +14,7 @@ export const rotationIntervalSchema = z
|
|
|
14
14
|
const SECRET_BYTE_LENGTH = 32
|
|
15
15
|
|
|
16
16
|
export const secretBytesSchema = z
|
|
17
|
-
.instanceof(Uint8Array)
|
|
17
|
+
.instanceof(Uint8Array<ArrayBufferLike>)
|
|
18
18
|
.refine((secret) => secret.length === SECRET_BYTE_LENGTH, {
|
|
19
19
|
message: `Secret must be exactly ${SECRET_BYTE_LENGTH} bytes long`,
|
|
20
20
|
})
|
package/src/lib/http/accept.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import type { IncomingMessage, ServerResponse } from 'node:http'
|
|
2
|
-
|
|
2
|
+
// eslint-disable-next-line import/default, import/no-named-as-default-member
|
|
3
|
+
import accept from '@hapi/accept'
|
|
4
|
+
// eslint-disable-next-line import/no-named-as-default-member
|
|
5
|
+
const { mediaType } = accept
|
|
3
6
|
import { SubCtx, subCtx } from './context.js'
|
|
4
7
|
import { Middleware, NextFunction } from './types.js'
|
|
5
8
|
|
package/src/lib/http/request.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import type { IncomingMessage, ServerResponse } from 'node:http'
|
|
2
|
-
|
|
2
|
+
// eslint-disable-next-line import/default, import/no-named-as-default-member
|
|
3
|
+
import accept from '@hapi/accept'
|
|
4
|
+
// eslint-disable-next-line import/no-named-as-default-member
|
|
5
|
+
const { languages, mediaType } = accept
|
|
3
6
|
import {
|
|
4
7
|
CookieSerializeOptions,
|
|
5
8
|
parse as parseCookie,
|
package/src/lib/util/type.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { createReadStream } from 'node:fs'
|
|
2
|
+
import { createRequire } from 'node:module'
|
|
2
3
|
import { join } from 'node:path'
|
|
3
4
|
import { Readable } from 'node:stream'
|
|
4
5
|
import type { Manifest } from '@atproto-labs/rollup-plugin-bundle-manifest'
|
|
@@ -34,8 +35,9 @@ const ASSETS_URL_PREFIX = '/@atproto/oauth-provider/~assets/'
|
|
|
34
35
|
export function parseAssetsManifest(manifestPath: string) {
|
|
35
36
|
// Using `require` instead of `JSON.parse(readFileSync())` so that node's
|
|
36
37
|
// watch mode can pick up changes to the manifest file.
|
|
38
|
+
const require = createRequire(import.meta.url)
|
|
37
39
|
|
|
38
|
-
// eslint-disable-next-line
|
|
40
|
+
// eslint-disable-next-line import/no-dynamic-require
|
|
39
41
|
const manifest = require(manifestPath) as Manifest
|
|
40
42
|
|
|
41
43
|
const assets = new Map<string, Asset>(
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { IncomingMessage, ServerResponse } from 'node:http'
|
|
2
|
+
import { createRequire } from 'node:module'
|
|
2
3
|
import type { HydrationData as UiHydrationData } from '@atproto/oauth-provider-ui/hydration-data'
|
|
3
4
|
import { buildCustomizationCss } from '../../customization/build-customization-css.js'
|
|
4
5
|
import { buildCustomizationData } from '../../customization/build-customization-data.js'
|
|
@@ -24,6 +25,7 @@ import { setupCsrfToken } from './csrf.js'
|
|
|
24
25
|
// require.resolve('@atproto/oauth-provider-ui/bundle-manifest.json'),
|
|
25
26
|
// )
|
|
26
27
|
|
|
28
|
+
const require = createRequire(import.meta.url)
|
|
27
29
|
const ui = parseAssetsManifest(
|
|
28
30
|
require.resolve('@atproto/oauth-provider-ui/bundle-manifest.json'),
|
|
29
31
|
)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["./src/constants.ts","./src/index.ts","./src/oauth-client.ts","./src/oauth-dpop.ts","./src/oauth-errors.ts","./src/oauth-hooks.ts","./src/oauth-middleware.ts","./src/oauth-provider.ts","./src/oauth-store.ts","./src/oauth-verifier.ts","./src/access-token/access-token-mode.ts","./src/account/account-manager.ts","./src/account/account-store.ts","./src/account/sign-in-data.ts","./src/account/sign-up-input.ts","./src/client/client-auth.ts","./src/client/client-data.ts","./src/client/client-id.ts","./src/client/client-info.ts","./src/client/client-manager.ts","./src/client/client-store.ts","./src/client/client-utils.ts","./src/client/client.ts","./src/customization/branding.ts","./src/customization/build-customization-css.ts","./src/customization/build-customization-data.ts","./src/customization/colors.ts","./src/customization/customization.ts","./src/customization/links.ts","./src/device/device-data.ts","./src/device/device-id.ts","./src/device/device-manager.ts","./src/device/device-store.ts","./src/device/session-id.ts","./src/dpop/dpop-manager.ts","./src/dpop/dpop-nonce.ts","./src/dpop/dpop-proof.ts","./src/errors/access-denied-error.ts","./src/errors/account-selection-required-error.ts","./src/errors/authorization-error.ts","./src/errors/consent-required-error.ts","./src/errors/error-parser.ts","./src/errors/handle-unavailable-error.ts","./src/errors/invalid-authorization-details-error.ts","./src/errors/invalid-client-error.ts","./src/errors/invalid-client-id-error.ts","./src/errors/invalid-client-metadata-error.ts","./src/errors/invalid-credentials-error.ts","./src/errors/invalid-dpop-key-binding-error.ts","./src/errors/invalid-dpop-proof-error.ts","./src/errors/invalid-grant-error.ts","./src/errors/invalid-invite-code-error.ts","./src/errors/invalid-redirect-uri-error.ts","./src/errors/invalid-request-error.ts","./src/errors/invalid-scope-error.ts","./src/errors/invalid-token-error.ts","./src/errors/login-required-error.ts","./src/errors/oauth-error.ts","./src/errors/second-authentication-factor-required-error.ts","./src/errors/unauthorized-client-error.ts","./src/errors/use-dpop-nonce-error.ts","./src/errors/www-authenticate-error.ts","./src/lexicon/lexicon-data.ts","./src/lexicon/lexicon-getter.ts","./src/lexicon/lexicon-manager.ts","./src/lexicon/lexicon-store.ts","./src/lib/hcaptcha.ts","./src/lib/nsid.ts","./src/lib/redis.ts","./src/lib/write-form-redirect.ts","./src/lib/write-html.ts","./src/lib/csp/index.ts","./src/lib/html/build-document.ts","./src/lib/html/escapers.ts","./src/lib/html/html.ts","./src/lib/html/hydration-data.ts","./src/lib/html/index.ts","./src/lib/html/tags.ts","./src/lib/html/util.ts","./src/lib/http/accept.ts","./src/lib/http/context.ts","./src/lib/http/headers.ts","./src/lib/http/index.ts","./src/lib/http/method.ts","./src/lib/http/middleware.ts","./src/lib/http/parser.ts","./src/lib/http/path.ts","./src/lib/http/request.ts","./src/lib/http/response.ts","./src/lib/http/route.ts","./src/lib/http/router.ts","./src/lib/http/security-headers.ts","./src/lib/http/stream.ts","./src/lib/http/types.ts","./src/lib/http/url.ts","./src/lib/util/authorization-header.ts","./src/lib/util/cast.ts","./src/lib/util/color.ts","./src/lib/util/crypto.ts","./src/lib/util/date.ts","./src/lib/util/error.ts","./src/lib/util/function.ts","./src/lib/util/locale.ts","./src/lib/util/object.ts","./src/lib/util/redirect-uri.ts","./src/lib/util/time.ts","./src/lib/util/type.ts","./src/lib/util/ui8.ts","./src/lib/util/well-known.ts","./src/lib/util/zod-error.ts","./src/metadata/build-metadata.ts","./src/oidc/sub.ts","./src/replay/replay-manager.ts","./src/replay/replay-store-memory.ts","./src/replay/replay-store-redis.ts","./src/replay/replay-store.ts","./src/request/code.ts","./src/request/request-data.ts","./src/request/request-id.ts","./src/request/request-manager.ts","./src/request/request-store.ts","./src/request/request-uri.ts","./src/result/authorization-redirect-parameters.ts","./src/result/authorization-result-authorize-page.ts","./src/result/authorization-result-redirect.ts","./src/router/create-account-page-middleware.ts","./src/router/create-api-middleware.ts","./src/router/create-authorization-page-middleware.ts","./src/router/create-oauth-middleware.ts","./src/router/error-handler.ts","./src/router/middleware-options.ts","./src/router/assets/assets-manifest.ts","./src/router/assets/assets.ts","./src/router/assets/csrf.ts","./src/router/assets/send-account-page.ts","./src/router/assets/send-authorization-page.ts","./src/router/assets/send-cookie-error-page.ts","./src/router/assets/send-error-page.ts","./src/router/assets/send-redirect.ts","./src/signer/access-token-payload.ts","./src/signer/api-token-payload.ts","./src/signer/signer.ts","./src/token/refresh-token.ts","./src/token/token-claims.ts","./src/token/token-data.ts","./src/token/token-id.ts","./src/token/token-manager.ts","./src/token/token-store.ts","./src/types/authorization-response-error.ts","./src/types/color-hue.ts","./src/types/email-otp.ts","./src/types/email.ts","./src/types/handle.ts","./src/types/invite-code.ts","./src/types/par-response-error.ts","./src/types/password.ts","./src/types/rgb-color.ts"],"version":"
|
|
1
|
+
{"root":["./src/constants.ts","./src/index.ts","./src/oauth-client.ts","./src/oauth-dpop.ts","./src/oauth-errors.ts","./src/oauth-hooks.ts","./src/oauth-middleware.ts","./src/oauth-provider.ts","./src/oauth-store.ts","./src/oauth-verifier.ts","./src/access-token/access-token-mode.ts","./src/account/account-manager.ts","./src/account/account-store.ts","./src/account/sign-in-data.ts","./src/account/sign-up-input.ts","./src/client/client-auth.ts","./src/client/client-data.ts","./src/client/client-id.ts","./src/client/client-info.ts","./src/client/client-manager.ts","./src/client/client-store.ts","./src/client/client-utils.ts","./src/client/client.ts","./src/customization/branding.ts","./src/customization/build-customization-css.ts","./src/customization/build-customization-data.ts","./src/customization/colors.ts","./src/customization/customization.ts","./src/customization/links.ts","./src/device/device-data.ts","./src/device/device-id.ts","./src/device/device-manager.ts","./src/device/device-store.ts","./src/device/session-id.ts","./src/dpop/dpop-manager.ts","./src/dpop/dpop-nonce.ts","./src/dpop/dpop-proof.ts","./src/errors/access-denied-error.ts","./src/errors/account-selection-required-error.ts","./src/errors/authorization-error.ts","./src/errors/consent-required-error.ts","./src/errors/error-parser.ts","./src/errors/handle-unavailable-error.ts","./src/errors/invalid-authorization-details-error.ts","./src/errors/invalid-client-error.ts","./src/errors/invalid-client-id-error.ts","./src/errors/invalid-client-metadata-error.ts","./src/errors/invalid-credentials-error.ts","./src/errors/invalid-dpop-key-binding-error.ts","./src/errors/invalid-dpop-proof-error.ts","./src/errors/invalid-grant-error.ts","./src/errors/invalid-invite-code-error.ts","./src/errors/invalid-redirect-uri-error.ts","./src/errors/invalid-request-error.ts","./src/errors/invalid-scope-error.ts","./src/errors/invalid-token-error.ts","./src/errors/login-required-error.ts","./src/errors/oauth-error.ts","./src/errors/second-authentication-factor-required-error.ts","./src/errors/unauthorized-client-error.ts","./src/errors/use-dpop-nonce-error.ts","./src/errors/www-authenticate-error.ts","./src/lexicon/lexicon-data.ts","./src/lexicon/lexicon-getter.ts","./src/lexicon/lexicon-manager.ts","./src/lexicon/lexicon-store.ts","./src/lib/hcaptcha.ts","./src/lib/nsid.ts","./src/lib/redis.ts","./src/lib/write-form-redirect.ts","./src/lib/write-html.ts","./src/lib/csp/index.ts","./src/lib/html/build-document.ts","./src/lib/html/escapers.ts","./src/lib/html/html.ts","./src/lib/html/hydration-data.ts","./src/lib/html/index.ts","./src/lib/html/tags.ts","./src/lib/html/util.ts","./src/lib/http/accept.ts","./src/lib/http/context.ts","./src/lib/http/headers.ts","./src/lib/http/index.ts","./src/lib/http/method.ts","./src/lib/http/middleware.ts","./src/lib/http/parser.ts","./src/lib/http/path.ts","./src/lib/http/request.ts","./src/lib/http/response.ts","./src/lib/http/route.ts","./src/lib/http/router.ts","./src/lib/http/security-headers.ts","./src/lib/http/stream.ts","./src/lib/http/types.ts","./src/lib/http/url.ts","./src/lib/util/authorization-header.ts","./src/lib/util/cast.ts","./src/lib/util/color.ts","./src/lib/util/crypto.ts","./src/lib/util/date.ts","./src/lib/util/error.ts","./src/lib/util/function.ts","./src/lib/util/locale.ts","./src/lib/util/object.ts","./src/lib/util/redirect-uri.ts","./src/lib/util/time.ts","./src/lib/util/type.ts","./src/lib/util/ui8.ts","./src/lib/util/well-known.ts","./src/lib/util/zod-error.ts","./src/metadata/build-metadata.ts","./src/oidc/sub.ts","./src/replay/replay-manager.ts","./src/replay/replay-store-memory.ts","./src/replay/replay-store-redis.ts","./src/replay/replay-store.ts","./src/request/code.ts","./src/request/request-data.ts","./src/request/request-id.ts","./src/request/request-manager.ts","./src/request/request-store.ts","./src/request/request-uri.ts","./src/result/authorization-redirect-parameters.ts","./src/result/authorization-result-authorize-page.ts","./src/result/authorization-result-redirect.ts","./src/router/create-account-page-middleware.ts","./src/router/create-api-middleware.ts","./src/router/create-authorization-page-middleware.ts","./src/router/create-oauth-middleware.ts","./src/router/error-handler.ts","./src/router/middleware-options.ts","./src/router/assets/assets-manifest.ts","./src/router/assets/assets.ts","./src/router/assets/csrf.ts","./src/router/assets/send-account-page.ts","./src/router/assets/send-authorization-page.ts","./src/router/assets/send-cookie-error-page.ts","./src/router/assets/send-error-page.ts","./src/router/assets/send-redirect.ts","./src/signer/access-token-payload.ts","./src/signer/api-token-payload.ts","./src/signer/signer.ts","./src/token/refresh-token.ts","./src/token/token-claims.ts","./src/token/token-data.ts","./src/token/token-id.ts","./src/token/token-manager.ts","./src/token/token-store.ts","./src/types/authorization-response-error.ts","./src/types/color-hue.ts","./src/types/email-otp.ts","./src/types/email.ts","./src/types/handle.ts","./src/types/invite-code.ts","./src/types/par-response-error.ts","./src/types/password.ts","./src/types/rgb-color.ts"],"version":"6.0.3"}
|