@atproto/oauth-types 0.1.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.
Files changed (146) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/LICENSE.txt +7 -0
  3. package/README.md +3 -0
  4. package/dist/access-token.d.ts +4 -0
  5. package/dist/access-token.d.ts.map +1 -0
  6. package/dist/access-token.js +6 -0
  7. package/dist/access-token.js.map +1 -0
  8. package/dist/atproto-loopback-client-metadata.d.ts +3 -0
  9. package/dist/atproto-loopback-client-metadata.d.ts.map +1 -0
  10. package/dist/atproto-loopback-client-metadata.js +26 -0
  11. package/dist/atproto-loopback-client-metadata.js.map +1 -0
  12. package/dist/constants.d.ts +3 -0
  13. package/dist/constants.d.ts.map +1 -0
  14. package/dist/constants.js +11 -0
  15. package/dist/constants.js.map +1 -0
  16. package/dist/index.d.ts +27 -0
  17. package/dist/index.d.ts.map +1 -0
  18. package/dist/index.js +43 -0
  19. package/dist/index.js.map +1 -0
  20. package/dist/oauth-authentication-request-parameters.d.ts +128 -0
  21. package/dist/oauth-authentication-request-parameters.d.ts.map +1 -0
  22. package/dist/oauth-authentication-request-parameters.js +76 -0
  23. package/dist/oauth-authentication-request-parameters.js.map +1 -0
  24. package/dist/oauth-authorization-details.d.ts +54 -0
  25. package/dist/oauth-authorization-details.d.ts.map +1 -0
  26. package/dist/oauth-authorization-details.js +20 -0
  27. package/dist/oauth-authorization-details.js.map +1 -0
  28. package/dist/oauth-authorization-server-metadata.d.ts +428 -0
  29. package/dist/oauth-authorization-server-metadata.d.ts.map +1 -0
  30. package/dist/oauth-authorization-server-metadata.js +88 -0
  31. package/dist/oauth-authorization-server-metadata.js.map +1 -0
  32. package/dist/oauth-client-credentials.d.ts +66 -0
  33. package/dist/oauth-client-credentials.d.ts.map +1 -0
  34. package/dist/oauth-client-credentials.js +30 -0
  35. package/dist/oauth-client-credentials.js.map +1 -0
  36. package/dist/oauth-client-id-discoverable.d.ts +8 -0
  37. package/dist/oauth-client-id-discoverable.d.ts.map +1 -0
  38. package/dist/oauth-client-id-discoverable.js +48 -0
  39. package/dist/oauth-client-id-discoverable.js.map +1 -0
  40. package/dist/oauth-client-id-loopback.d.ts +5 -0
  41. package/dist/oauth-client-id-loopback.d.ts.map +1 -0
  42. package/dist/oauth-client-id-loopback.js +44 -0
  43. package/dist/oauth-client-id-loopback.js.map +1 -0
  44. package/dist/oauth-client-id-url.d.ts +3 -0
  45. package/dist/oauth-client-id-url.d.ts.map +1 -0
  46. package/dist/oauth-client-id-url.js +21 -0
  47. package/dist/oauth-client-id-url.js.map +1 -0
  48. package/dist/oauth-client-id.d.ts +4 -0
  49. package/dist/oauth-client-id.d.ts.map +1 -0
  50. package/dist/oauth-client-id.js +6 -0
  51. package/dist/oauth-client-id.js.map +1 -0
  52. package/dist/oauth-client-identification.d.ts +31 -0
  53. package/dist/oauth-client-identification.d.ts.map +1 -0
  54. package/dist/oauth-client-identification.js +12 -0
  55. package/dist/oauth-client-identification.js.map +1 -0
  56. package/dist/oauth-client-metadata.d.ts +1576 -0
  57. package/dist/oauth-client-metadata.d.ts.map +1 -0
  58. package/dist/oauth-client-metadata.js +70 -0
  59. package/dist/oauth-client-metadata.js.map +1 -0
  60. package/dist/oauth-endpoint-auth-method.d.ts +4 -0
  61. package/dist/oauth-endpoint-auth-method.d.ts.map +1 -0
  62. package/dist/oauth-endpoint-auth-method.js +14 -0
  63. package/dist/oauth-endpoint-auth-method.js.map +1 -0
  64. package/dist/oauth-endpoint-name.d.ts +2 -0
  65. package/dist/oauth-endpoint-name.d.ts.map +1 -0
  66. package/dist/oauth-endpoint-name.js +3 -0
  67. package/dist/oauth-endpoint-name.js.map +1 -0
  68. package/dist/oauth-grant-type.d.ts +4 -0
  69. package/dist/oauth-grant-type.d.ts.map +1 -0
  70. package/dist/oauth-grant-type.js +14 -0
  71. package/dist/oauth-grant-type.js.map +1 -0
  72. package/dist/oauth-issuer-identifier.d.ts +3 -0
  73. package/dist/oauth-issuer-identifier.d.ts.map +1 -0
  74. package/dist/oauth-issuer-identifier.js +59 -0
  75. package/dist/oauth-issuer-identifier.js.map +1 -0
  76. package/dist/oauth-par-response.d.ts +10 -0
  77. package/dist/oauth-par-response.d.ts.map +1 -0
  78. package/dist/oauth-par-response.js +8 -0
  79. package/dist/oauth-par-response.js.map +1 -0
  80. package/dist/oauth-protected-resource-metadata.d.ts +90 -0
  81. package/dist/oauth-protected-resource-metadata.d.ts.map +1 -0
  82. package/dist/oauth-protected-resource-metadata.js +75 -0
  83. package/dist/oauth-protected-resource-metadata.js.map +1 -0
  84. package/dist/oauth-response-mode.d.ts +4 -0
  85. package/dist/oauth-response-mode.d.ts.map +1 -0
  86. package/dist/oauth-response-mode.js +10 -0
  87. package/dist/oauth-response-mode.js.map +1 -0
  88. package/dist/oauth-response-type.d.ts +4 -0
  89. package/dist/oauth-response-type.d.ts.map +1 -0
  90. package/dist/oauth-response-type.js +17 -0
  91. package/dist/oauth-response-type.js.map +1 -0
  92. package/dist/oauth-token-response.d.ts +103 -0
  93. package/dist/oauth-token-response.d.ts.map +1 -0
  94. package/dist/oauth-token-response.js +26 -0
  95. package/dist/oauth-token-response.js.map +1 -0
  96. package/dist/oauth-token-type.d.ts +4 -0
  97. package/dist/oauth-token-type.d.ts.map +1 -0
  98. package/dist/oauth-token-type.js +16 -0
  99. package/dist/oauth-token-type.js.map +1 -0
  100. package/dist/oidc-claims-parameter.d.ts +4 -0
  101. package/dist/oidc-claims-parameter.d.ts.map +1 -0
  102. package/dist/oidc-claims-parameter.js +36 -0
  103. package/dist/oidc-claims-parameter.js.map +1 -0
  104. package/dist/oidc-claims-properties.d.ts +16 -0
  105. package/dist/oidc-claims-properties.d.ts.map +1 -0
  106. package/dist/oidc-claims-properties.js +11 -0
  107. package/dist/oidc-claims-properties.js.map +1 -0
  108. package/dist/oidc-entity-type.d.ts +4 -0
  109. package/dist/oidc-entity-type.d.ts.map +1 -0
  110. package/dist/oidc-entity-type.js +6 -0
  111. package/dist/oidc-entity-type.js.map +1 -0
  112. package/dist/util.d.ts +5 -0
  113. package/dist/util.d.ts.map +1 -0
  114. package/dist/util.js +23 -0
  115. package/dist/util.js.map +1 -0
  116. package/package.json +37 -0
  117. package/src/access-token.ts +4 -0
  118. package/src/atproto-loopback-client-metadata.ts +30 -0
  119. package/src/constants.ts +9 -0
  120. package/src/index.ts +27 -0
  121. package/src/oauth-authentication-request-parameters.ts +104 -0
  122. package/src/oauth-authorization-details.ts +28 -0
  123. package/src/oauth-authorization-server-metadata.ts +106 -0
  124. package/src/oauth-client-credentials.ts +34 -0
  125. package/src/oauth-client-id-discoverable.ts +66 -0
  126. package/src/oauth-client-id-loopback.ts +58 -0
  127. package/src/oauth-client-id-url.ts +25 -0
  128. package/src/oauth-client-id.ts +4 -0
  129. package/src/oauth-client-identification.ts +14 -0
  130. package/src/oauth-client-metadata.ts +75 -0
  131. package/src/oauth-endpoint-auth-method.ts +13 -0
  132. package/src/oauth-endpoint-name.ts +5 -0
  133. package/src/oauth-grant-type.ts +13 -0
  134. package/src/oauth-issuer-identifier.ts +61 -0
  135. package/src/oauth-par-response.ts +7 -0
  136. package/src/oauth-protected-resource-metadata.ts +85 -0
  137. package/src/oauth-response-mode.ts +9 -0
  138. package/src/oauth-response-type.ts +17 -0
  139. package/src/oauth-token-response.ts +29 -0
  140. package/src/oauth-token-type.ts +15 -0
  141. package/src/oidc-claims-parameter.ts +40 -0
  142. package/src/oidc-claims-properties.ts +11 -0
  143. package/src/oidc-entity-type.ts +5 -0
  144. package/src/util.ts +20 -0
  145. package/tsconfig.build.json +8 -0
  146. package/tsconfig.json +4 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-client-metadata.d.ts","sourceRoot":"","sources":["../src/oauth-client-metadata.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AASvB,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA4CpC;;;;;;OAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWH,CAAA;AAEF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAC3E,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA"}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.oauthClientMetadataSchema = void 0;
4
+ const jwk_1 = require("@atproto/jwk");
5
+ const zod_1 = require("zod");
6
+ const oauth_client_id_js_1 = require("./oauth-client-id.js");
7
+ const oauth_endpoint_auth_method_js_1 = require("./oauth-endpoint-auth-method.js");
8
+ const oauth_grant_type_js_1 = require("./oauth-grant-type.js");
9
+ const oauth_response_type_js_1 = require("./oauth-response-type.js");
10
+ // https://openid.net/specs/openid-connect-registration-1_0.html
11
+ // https://datatracker.ietf.org/doc/html/rfc7591
12
+ exports.oauthClientMetadataSchema = zod_1.z.object({
13
+ redirect_uris: zod_1.z.array(zod_1.z.string().url()).nonempty(),
14
+ response_types: zod_1.z
15
+ .array(oauth_response_type_js_1.oauthResponseTypeSchema)
16
+ .nonempty()
17
+ // > If omitted, the default is that the client will use only the "code"
18
+ // > response type.
19
+ .default(['code']),
20
+ grant_types: zod_1.z
21
+ .array(oauth_grant_type_js_1.oauthGrantTypeSchema)
22
+ .nonempty()
23
+ // > If omitted, the default behavior is that the client will use only the
24
+ // > "authorization_code" Grant Type.
25
+ .default(['authorization_code']),
26
+ scope: zod_1.z.string().optional(),
27
+ token_endpoint_auth_method: oauth_endpoint_auth_method_js_1.oauthEndpointAuthMethod
28
+ .default('none')
29
+ .optional(),
30
+ token_endpoint_auth_signing_alg: zod_1.z.string().optional(),
31
+ introspection_endpoint_auth_method: oauth_endpoint_auth_method_js_1.oauthEndpointAuthMethod.optional(),
32
+ introspection_endpoint_auth_signing_alg: zod_1.z.string().optional(),
33
+ revocation_endpoint_auth_method: oauth_endpoint_auth_method_js_1.oauthEndpointAuthMethod.optional(),
34
+ revocation_endpoint_auth_signing_alg: zod_1.z.string().optional(),
35
+ pushed_authorization_request_endpoint_auth_method: oauth_endpoint_auth_method_js_1.oauthEndpointAuthMethod.optional(),
36
+ pushed_authorization_request_endpoint_auth_signing_alg: zod_1.z.string().optional(),
37
+ userinfo_signed_response_alg: zod_1.z.string().optional(),
38
+ userinfo_encrypted_response_alg: zod_1.z.string().optional(),
39
+ jwks_uri: zod_1.z.string().url().optional(),
40
+ jwks: jwk_1.jwksPubSchema.optional(),
41
+ application_type: zod_1.z.enum(['web', 'native']).default('web').optional(), // default, per spec, is "web"
42
+ subject_type: zod_1.z.enum(['public', 'pairwise']).default('public').optional(),
43
+ request_object_signing_alg: zod_1.z.string().optional(),
44
+ id_token_signed_response_alg: zod_1.z.string().optional(),
45
+ authorization_signed_response_alg: zod_1.z.string().default('RS256').optional(),
46
+ authorization_encrypted_response_enc: zod_1.z.enum(['A128CBC-HS256']).optional(),
47
+ authorization_encrypted_response_alg: zod_1.z.string().optional(),
48
+ client_id: oauth_client_id_js_1.oauthClientIdSchema.optional(),
49
+ client_name: zod_1.z.string().optional(),
50
+ client_uri: zod_1.z.string().url().optional(),
51
+ policy_uri: zod_1.z.string().url().optional(),
52
+ tos_uri: zod_1.z.string().url().optional(),
53
+ logo_uri: zod_1.z.string().url().optional(),
54
+ /**
55
+ * Default Maximum Authentication Age. Specifies that the End-User MUST be
56
+ * actively authenticated if the End-User was authenticated longer ago than
57
+ * the specified number of seconds. The max_age request parameter overrides
58
+ * this default value. If omitted, no default Maximum Authentication Age is
59
+ * specified.
60
+ */
61
+ default_max_age: zod_1.z.number().optional(),
62
+ require_auth_time: zod_1.z.boolean().optional(),
63
+ contacts: zod_1.z.array(zod_1.z.string().email()).optional(),
64
+ tls_client_certificate_bound_access_tokens: zod_1.z.boolean().optional(),
65
+ // https://datatracker.ietf.org/doc/html/rfc9449#section-5.2
66
+ dpop_bound_access_tokens: zod_1.z.boolean().optional(),
67
+ // https://datatracker.ietf.org/doc/html/rfc9396#section-14.5
68
+ authorization_details_types: zod_1.z.array(zod_1.z.string()).optional(),
69
+ });
70
+ //# sourceMappingURL=oauth-client-metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-client-metadata.js","sourceRoot":"","sources":["../src/oauth-client-metadata.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { z } from 'zod';
2
+ export declare const oauthEndpointAuthMethod: z.ZodEnum<["client_secret_basic", "client_secret_jwt", "client_secret_post", "none", "private_key_jwt", "self_signed_tls_client_auth", "tls_client_auth"]>;
3
+ export type OauthEndpointAuthMethod = z.infer<typeof oauthEndpointAuthMethod>;
4
+ //# sourceMappingURL=oauth-endpoint-auth-method.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-endpoint-auth-method.d.ts","sourceRoot":"","sources":["../src/oauth-endpoint-auth-method.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,uBAAuB,4JAQlC,CAAA;AAEF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.oauthEndpointAuthMethod = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.oauthEndpointAuthMethod = zod_1.z.enum([
6
+ 'client_secret_basic',
7
+ 'client_secret_jwt',
8
+ 'client_secret_post',
9
+ 'none',
10
+ 'private_key_jwt',
11
+ 'self_signed_tls_client_auth',
12
+ 'tls_client_auth',
13
+ ]);
14
+ //# sourceMappingURL=oauth-endpoint-auth-method.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-endpoint-auth-method.js","sourceRoot":"","sources":["../src/oauth-endpoint-auth-method.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AAEV,QAAA,uBAAuB,GAAG,OAAC,CAAC,IAAI,CAAC;IAC5C,qBAAqB;IACrB,mBAAmB;IACnB,oBAAoB;IACpB,MAAM;IACN,iBAAiB;IACjB,6BAA6B;IAC7B,iBAAiB;CAClB,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export type OAuthEndpointName = 'token' | 'revocation' | 'introspection' | 'pushed_authorization_request';
2
+ //# sourceMappingURL=oauth-endpoint-name.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-endpoint-name.d.ts","sourceRoot":"","sources":["../src/oauth-endpoint-name.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GACzB,OAAO,GACP,YAAY,GACZ,eAAe,GACf,8BAA8B,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=oauth-endpoint-name.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-endpoint-name.js","sourceRoot":"","sources":["../src/oauth-endpoint-name.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { z } from 'zod';
2
+ export declare const oauthGrantTypeSchema: z.ZodEnum<["authorization_code", "implicit", "refresh_token", "password", "client_credentials", "urn:ietf:params:oauth:grant-type:jwt-bearer", "urn:ietf:params:oauth:grant-type:saml2-bearer"]>;
3
+ export type OAuthGrantType = z.infer<typeof oauthGrantTypeSchema>;
4
+ //# sourceMappingURL=oauth-grant-type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-grant-type.d.ts","sourceRoot":"","sources":["../src/oauth-grant-type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,oBAAoB,kMAQ/B,CAAA;AAEF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.oauthGrantTypeSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.oauthGrantTypeSchema = zod_1.z.enum([
6
+ 'authorization_code',
7
+ 'implicit',
8
+ 'refresh_token',
9
+ 'password', // Not part of OAuth 2.1
10
+ 'client_credentials',
11
+ 'urn:ietf:params:oauth:grant-type:jwt-bearer',
12
+ 'urn:ietf:params:oauth:grant-type:saml2-bearer',
13
+ ]);
14
+ //# sourceMappingURL=oauth-grant-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-grant-type.js","sourceRoot":"","sources":["../src/oauth-grant-type.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AAEV,QAAA,oBAAoB,GAAG,OAAC,CAAC,IAAI,CAAC;IACzC,oBAAoB;IACpB,UAAU;IACV,eAAe;IACf,UAAU,EAAE,wBAAwB;IACpC,oBAAoB;IACpB,6CAA6C;IAC7C,+CAA+C;CAChD,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { z } from 'zod';
2
+ export declare const oauthIssuerIdentifierSchema: z.ZodEffects<z.ZodString, string, string>;
3
+ //# sourceMappingURL=oauth-issuer-identifier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-issuer-identifier.d.ts","sourceRoot":"","sources":["../src/oauth-issuer-identifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAavB,eAAO,MAAM,2BAA2B,2CA+CpC,CAAA"}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.oauthIssuerIdentifierSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ // try/catch to support running in a browser, including when process.env is
6
+ // shimmed (e.g. by webpack)
7
+ const ALLOW_INSECURE = (() => {
8
+ try {
9
+ const env = process.env.NODE_ENV;
10
+ return env === 'development' || env === 'test';
11
+ }
12
+ catch {
13
+ return false;
14
+ }
15
+ })();
16
+ exports.oauthIssuerIdentifierSchema = zod_1.z
17
+ .string()
18
+ .url()
19
+ .superRefine((value, ctx) => {
20
+ // Validate the issuer (MIX-UP attacks)
21
+ if (value.endsWith('/')) {
22
+ ctx.addIssue({
23
+ code: zod_1.z.ZodIssueCode.custom,
24
+ message: 'Issuer URL must not end with a slash',
25
+ });
26
+ }
27
+ const url = new URL(value);
28
+ if (url.protocol !== 'https:') {
29
+ if (ALLOW_INSECURE && url.protocol === 'http:') {
30
+ // We'll allow HTTP in development mode
31
+ }
32
+ else {
33
+ ctx.addIssue({
34
+ code: zod_1.z.ZodIssueCode.custom,
35
+ message: 'Issuer must be an HTTPS URL',
36
+ });
37
+ }
38
+ }
39
+ if (url.username || url.password) {
40
+ ctx.addIssue({
41
+ code: zod_1.z.ZodIssueCode.custom,
42
+ message: 'Issuer URL must not contain a username or password',
43
+ });
44
+ }
45
+ if (url.hash || url.search) {
46
+ ctx.addIssue({
47
+ code: zod_1.z.ZodIssueCode.custom,
48
+ message: 'Issuer URL must not contain a query or fragment',
49
+ });
50
+ }
51
+ const canonicalValue = url.pathname === '/' ? url.origin : url.href;
52
+ if (value !== canonicalValue) {
53
+ ctx.addIssue({
54
+ code: zod_1.z.ZodIssueCode.custom,
55
+ message: 'Issuer URL must be in the canonical form',
56
+ });
57
+ }
58
+ });
59
+ //# sourceMappingURL=oauth-issuer-identifier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-issuer-identifier.js","sourceRoot":"","sources":["../src/oauth-issuer-identifier.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AAEvB,2EAA2E;AAC3E,4BAA4B;AAC5B,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE;IAC3B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAA;QAChC,OAAO,GAAG,KAAK,aAAa,IAAI,GAAG,KAAK,MAAM,CAAA;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC,CAAC,EAAE,CAAA;AAES,QAAA,2BAA2B,GAAG,OAAC;KACzC,MAAM,EAAE;KACR,GAAG,EAAE;KACL,WAAW,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAC1B,uCAAuC;IAEvC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,OAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,OAAO,EAAE,sCAAsC;SAChD,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAA;IAE1B,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,cAAc,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC/C,uCAAuC;QACzC,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,OAAC,CAAC,YAAY,CAAC,MAAM;gBAC3B,OAAO,EAAE,6BAA6B;aACvC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjC,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,OAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,OAAO,EAAE,oDAAoD;SAC9D,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QAC3B,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,OAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,OAAO,EAAE,iDAAiD;SAC3D,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,cAAc,GAAG,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAA;IACnE,IAAI,KAAK,KAAK,cAAc,EAAE,CAAC;QAC7B,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,OAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,OAAO,EAAE,0CAA0C;SACpD,CAAC,CAAA;IACJ,CAAC;AACH,CAAC,CAAC,CAAA"}
@@ -0,0 +1,10 @@
1
+ import { z } from 'zod';
2
+ export declare const oauthParResponseSchema: z.ZodObject<{
3
+ request_uri: z.ZodString;
4
+ }, "strip", z.ZodTypeAny, {
5
+ request_uri: string;
6
+ }, {
7
+ request_uri: string;
8
+ }>;
9
+ export type OAuthParResponse = z.infer<typeof oauthParResponseSchema>;
10
+ //# sourceMappingURL=oauth-par-response.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-par-response.d.ts","sourceRoot":"","sources":["../src/oauth-par-response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,sBAAsB;;;;;;EAEjC,CAAA;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.oauthParResponseSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.oauthParResponseSchema = zod_1.z.object({
6
+ request_uri: zod_1.z.string(),
7
+ });
8
+ //# sourceMappingURL=oauth-par-response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-par-response.js","sourceRoot":"","sources":["../src/oauth-par-response.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AAEV,QAAA,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE;CACxB,CAAC,CAAA"}
@@ -0,0 +1,90 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * @see {@link https://datatracker.ietf.org/doc/html/draft-ietf-oauth-resource-metadata-05#name-protected-resource-metadata-r}
4
+ */
5
+ export declare const oauthProtectedResourceMetadataSchema: z.ZodObject<{
6
+ /**
7
+ * REQUIRED. The protected resource's resource identifier, which is a URL that
8
+ * uses the https scheme and has no query or fragment components. Using these
9
+ * well-known resources is described in Section 3.
10
+ */
11
+ resource: z.ZodString;
12
+ /**
13
+ * OPTIONAL. JSON array containing a list of OAuth authorization server issuer
14
+ * identifiers, as defined in [RFC8414], for authorization servers that can be
15
+ * used with this protected resource. Protected resources MAY choose not to
16
+ * advertise some supported authorization servers even when this parameter is
17
+ * used. In some use cases, the set of authorization servers will not be
18
+ * enumerable, in which case this metadata parameter would not be used.
19
+ */
20
+ authorization_servers: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
21
+ /**
22
+ * OPTIONAL. URL of the protected resource's JWK Set [JWK] document. This
23
+ * contains public keys belonging to the protected resource, such as signing
24
+ * key(s) that the resource server uses to sign resource responses. This URL
25
+ * MUST use the https scheme. When both signing and encryption keys are made
26
+ * available, a use (public key use) parameter value is REQUIRED for all keys
27
+ * in the referenced JWK Set to indicate each key's intended usage.
28
+ */
29
+ jwks_uri: z.ZodOptional<z.ZodString>;
30
+ /**
31
+ * RECOMMENDED. JSON array containing a list of the OAuth 2.0 [RFC6749] scope
32
+ * values that are used in authorization requests to request access to this
33
+ * protected resource. Protected resources MAY choose not to advertise some
34
+ * scope values supported even when this parameter is used.
35
+ */
36
+ scopes_supported: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
37
+ /**
38
+ * OPTIONAL. JSON array containing a list of the supported methods of sending
39
+ * an OAuth 2.0 Bearer Token [RFC6750] to the protected resource. Defined
40
+ * values are ["header", "body", "query"], corresponding to Sections 2.1, 2.2,
41
+ * and 2.3 of RFC 6750.
42
+ */
43
+ bearer_methods_supported: z.ZodOptional<z.ZodArray<z.ZodEnum<["header", "body", "query"]>, "many">>;
44
+ /**
45
+ * OPTIONAL. JSON array containing a list of the JWS [JWS] signing algorithms
46
+ * (alg values) [JWA] supported by the protected resource for signing resource
47
+ * responses, for instance, as described in [FAPI.MessageSigning]. No default
48
+ * algorithms are implied if this entry is omitted. The value none MUST NOT be
49
+ * used.
50
+ */
51
+ resource_signing_alg_values_supported: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
52
+ /**
53
+ * OPTIONAL. URL of a page containing human-readable information that
54
+ * developers might want or need to know when using the protected resource
55
+ */
56
+ resource_documentation: z.ZodOptional<z.ZodString>;
57
+ /**
58
+ * OPTIONAL. URL that the protected resource provides to read about the
59
+ * protected resource's requirements on how the client can use the data
60
+ * provided by the protected resource
61
+ */
62
+ resource_policy_uri: z.ZodOptional<z.ZodString>;
63
+ /**
64
+ * OPTIONAL. URL that the protected resource provides to read about the
65
+ * protected resource's terms of service
66
+ */
67
+ resource_tos_uri: z.ZodOptional<z.ZodString>;
68
+ }, "strip", z.ZodTypeAny, {
69
+ resource: string;
70
+ jwks_uri?: string | undefined;
71
+ scopes_supported?: string[] | undefined;
72
+ authorization_servers?: string[] | undefined;
73
+ bearer_methods_supported?: ("query" | "header" | "body")[] | undefined;
74
+ resource_signing_alg_values_supported?: string[] | undefined;
75
+ resource_documentation?: string | undefined;
76
+ resource_policy_uri?: string | undefined;
77
+ resource_tos_uri?: string | undefined;
78
+ }, {
79
+ resource: string;
80
+ jwks_uri?: string | undefined;
81
+ scopes_supported?: string[] | undefined;
82
+ authorization_servers?: string[] | undefined;
83
+ bearer_methods_supported?: ("query" | "header" | "body")[] | undefined;
84
+ resource_signing_alg_values_supported?: string[] | undefined;
85
+ resource_documentation?: string | undefined;
86
+ resource_policy_uri?: string | undefined;
87
+ resource_tos_uri?: string | undefined;
88
+ }>;
89
+ export type OAuthProtectedResourceMetadata = z.infer<typeof oauthProtectedResourceMetadataSchema>;
90
+ //# sourceMappingURL=oauth-protected-resource-metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-protected-resource-metadata.d.ts","sourceRoot":"","sources":["../src/oauth-protected-resource-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB;;GAEG;AACH,eAAO,MAAM,oCAAoC;IAC/C;;;;OAIG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;;OAOG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;IAKH;;;;;;OAMG;;IAGH;;;OAGG;;IAGH;;;;OAIG;;IAGH;;;OAGG;;;;;;;;;;;;;;;;;;;;;;EAEH,CAAA;AAEF,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAClD,OAAO,oCAAoC,CAC5C,CAAA"}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.oauthProtectedResourceMetadataSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const oauth_issuer_identifier_js_1 = require("./oauth-issuer-identifier.js");
6
+ /**
7
+ * @see {@link https://datatracker.ietf.org/doc/html/draft-ietf-oauth-resource-metadata-05#name-protected-resource-metadata-r}
8
+ */
9
+ exports.oauthProtectedResourceMetadataSchema = zod_1.z.object({
10
+ /**
11
+ * REQUIRED. The protected resource's resource identifier, which is a URL that
12
+ * uses the https scheme and has no query or fragment components. Using these
13
+ * well-known resources is described in Section 3.
14
+ */
15
+ resource: zod_1.z.string().url(),
16
+ /**
17
+ * OPTIONAL. JSON array containing a list of OAuth authorization server issuer
18
+ * identifiers, as defined in [RFC8414], for authorization servers that can be
19
+ * used with this protected resource. Protected resources MAY choose not to
20
+ * advertise some supported authorization servers even when this parameter is
21
+ * used. In some use cases, the set of authorization servers will not be
22
+ * enumerable, in which case this metadata parameter would not be used.
23
+ */
24
+ authorization_servers: zod_1.z.array(oauth_issuer_identifier_js_1.oauthIssuerIdentifierSchema).optional(),
25
+ /**
26
+ * OPTIONAL. URL of the protected resource's JWK Set [JWK] document. This
27
+ * contains public keys belonging to the protected resource, such as signing
28
+ * key(s) that the resource server uses to sign resource responses. This URL
29
+ * MUST use the https scheme. When both signing and encryption keys are made
30
+ * available, a use (public key use) parameter value is REQUIRED for all keys
31
+ * in the referenced JWK Set to indicate each key's intended usage.
32
+ */
33
+ jwks_uri: zod_1.z.string().url().optional(),
34
+ /**
35
+ * RECOMMENDED. JSON array containing a list of the OAuth 2.0 [RFC6749] scope
36
+ * values that are used in authorization requests to request access to this
37
+ * protected resource. Protected resources MAY choose not to advertise some
38
+ * scope values supported even when this parameter is used.
39
+ */
40
+ scopes_supported: zod_1.z.array(zod_1.z.string()).optional(),
41
+ /**
42
+ * OPTIONAL. JSON array containing a list of the supported methods of sending
43
+ * an OAuth 2.0 Bearer Token [RFC6750] to the protected resource. Defined
44
+ * values are ["header", "body", "query"], corresponding to Sections 2.1, 2.2,
45
+ * and 2.3 of RFC 6750.
46
+ */
47
+ bearer_methods_supported: zod_1.z
48
+ .array(zod_1.z.enum(['header', 'body', 'query']))
49
+ .optional(),
50
+ /**
51
+ * OPTIONAL. JSON array containing a list of the JWS [JWS] signing algorithms
52
+ * (alg values) [JWA] supported by the protected resource for signing resource
53
+ * responses, for instance, as described in [FAPI.MessageSigning]. No default
54
+ * algorithms are implied if this entry is omitted. The value none MUST NOT be
55
+ * used.
56
+ */
57
+ resource_signing_alg_values_supported: zod_1.z.array(zod_1.z.string()).optional(),
58
+ /**
59
+ * OPTIONAL. URL of a page containing human-readable information that
60
+ * developers might want or need to know when using the protected resource
61
+ */
62
+ resource_documentation: zod_1.z.string().url().optional(),
63
+ /**
64
+ * OPTIONAL. URL that the protected resource provides to read about the
65
+ * protected resource's requirements on how the client can use the data
66
+ * provided by the protected resource
67
+ */
68
+ resource_policy_uri: zod_1.z.string().url().optional(),
69
+ /**
70
+ * OPTIONAL. URL that the protected resource provides to read about the
71
+ * protected resource's terms of service
72
+ */
73
+ resource_tos_uri: zod_1.z.string().url().optional(),
74
+ });
75
+ //# sourceMappingURL=oauth-protected-resource-metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-protected-resource-metadata.js","sourceRoot":"","sources":["../src/oauth-protected-resource-metadata.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AAEvB,6EAA0E;AAE1E;;GAEG;AACU,QAAA,oCAAoC,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3D;;;;OAIG;IACH,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAE1B;;;;;;;OAOG;IACH,qBAAqB,EAAE,OAAC,CAAC,KAAK,CAAC,wDAA2B,CAAC,CAAC,QAAQ,EAAE;IAEtE;;;;;;;OAOG;IACH,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAErC;;;;;OAKG;IACH,gBAAgB,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAEhD;;;;;OAKG;IACH,wBAAwB,EAAE,OAAC;SACxB,KAAK,CAAC,OAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;SAC1C,QAAQ,EAAE;IAEb;;;;;;OAMG;IACH,qCAAqC,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAErE;;;OAGG;IACH,sBAAsB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAEnD;;;;OAIG;IACH,mBAAmB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAEhD;;;OAGG;IACH,gBAAgB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;CAC9C,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { z } from 'zod';
2
+ export declare const oauthResponseModeSchema: z.ZodEnum<["query", "fragment", "form_post"]>;
3
+ export type OAuthResponseMode = z.infer<typeof oauthResponseModeSchema>;
4
+ //# sourceMappingURL=oauth-response-mode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-response-mode.d.ts","sourceRoot":"","sources":["../src/oauth-response-mode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,uBAAuB,+CAIlC,CAAA;AAEF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.oauthResponseModeSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.oauthResponseModeSchema = zod_1.z.enum([
6
+ 'query',
7
+ 'fragment',
8
+ 'form_post',
9
+ ]);
10
+ //# sourceMappingURL=oauth-response-mode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-response-mode.js","sourceRoot":"","sources":["../src/oauth-response-mode.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AAEV,QAAA,uBAAuB,GAAG,OAAC,CAAC,IAAI,CAAC;IAC5C,OAAO;IACP,UAAU;IACV,WAAW;CACZ,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { z } from 'zod';
2
+ export declare const oauthResponseTypeSchema: z.ZodEnum<["code", "token", "none", "code id_token token", "code id_token", "code token", "id_token token", "id_token"]>;
3
+ export type OAuthResponseType = z.infer<typeof oauthResponseTypeSchema>;
4
+ //# sourceMappingURL=oauth-response-type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-response-type.d.ts","sourceRoot":"","sources":["../src/oauth-response-type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,uBAAuB,0HAYlC,CAAA;AAEF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.oauthResponseTypeSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.oauthResponseTypeSchema = zod_1.z.enum([
6
+ // OAuth
7
+ 'code', // Authorization Code Grant
8
+ 'token', // Implicit Grant
9
+ // OpenID
10
+ 'none',
11
+ 'code id_token token',
12
+ 'code id_token',
13
+ 'code token',
14
+ 'id_token token',
15
+ 'id_token',
16
+ ]);
17
+ //# sourceMappingURL=oauth-response-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-response-type.js","sourceRoot":"","sources":["../src/oauth-response-type.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AAEV,QAAA,uBAAuB,GAAG,OAAC,CAAC,IAAI,CAAC;IAC5C,QAAQ;IACR,MAAM,EAAE,2BAA2B;IACnC,OAAO,EAAE,iBAAiB;IAE1B,SAAS;IACT,MAAM;IACN,qBAAqB;IACrB,eAAe;IACf,YAAY;IACZ,gBAAgB;IAChB,UAAU;CACX,CAAC,CAAA"}
@@ -0,0 +1,103 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * @see {@link https://www.rfc-editor.org/rfc/rfc6749.html#section-5.1 | RFC 6749 (OAuth2), Section 5.1}
4
+ */
5
+ export declare const oauthTokenResponseSchema: z.ZodObject<{
6
+ access_token: z.ZodString;
7
+ token_type: z.ZodUnion<[z.ZodEffects<z.ZodString, "DPoP", string>, z.ZodEffects<z.ZodString, "Bearer", string>]>;
8
+ issuer: z.ZodOptional<z.ZodString>;
9
+ sub: z.ZodOptional<z.ZodString>;
10
+ scope: z.ZodOptional<z.ZodString>;
11
+ id_token: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, `${string}.${string}.${string}`, string>>;
12
+ refresh_token: z.ZodOptional<z.ZodString>;
13
+ expires_in: z.ZodOptional<z.ZodNumber>;
14
+ authorization_details: z.ZodOptional<z.ZodArray<z.ZodObject<{
15
+ type: z.ZodString;
16
+ locations: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
17
+ actions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
18
+ datatypes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
19
+ identifier: z.ZodOptional<z.ZodString>;
20
+ privileges: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
21
+ }, "strip", z.ZodTypeAny, {
22
+ type: string;
23
+ locations?: string[] | undefined;
24
+ actions?: string[] | undefined;
25
+ datatypes?: string[] | undefined;
26
+ identifier?: string | undefined;
27
+ privileges?: string[] | undefined;
28
+ }, {
29
+ type: string;
30
+ locations?: string[] | undefined;
31
+ actions?: string[] | undefined;
32
+ datatypes?: string[] | undefined;
33
+ identifier?: string | undefined;
34
+ privileges?: string[] | undefined;
35
+ }>, "many">>;
36
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
37
+ access_token: z.ZodString;
38
+ token_type: z.ZodUnion<[z.ZodEffects<z.ZodString, "DPoP", string>, z.ZodEffects<z.ZodString, "Bearer", string>]>;
39
+ issuer: z.ZodOptional<z.ZodString>;
40
+ sub: z.ZodOptional<z.ZodString>;
41
+ scope: z.ZodOptional<z.ZodString>;
42
+ id_token: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, `${string}.${string}.${string}`, string>>;
43
+ refresh_token: z.ZodOptional<z.ZodString>;
44
+ expires_in: z.ZodOptional<z.ZodNumber>;
45
+ authorization_details: z.ZodOptional<z.ZodArray<z.ZodObject<{
46
+ type: z.ZodString;
47
+ locations: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
48
+ actions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
49
+ datatypes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
50
+ identifier: z.ZodOptional<z.ZodString>;
51
+ privileges: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
52
+ }, "strip", z.ZodTypeAny, {
53
+ type: string;
54
+ locations?: string[] | undefined;
55
+ actions?: string[] | undefined;
56
+ datatypes?: string[] | undefined;
57
+ identifier?: string | undefined;
58
+ privileges?: string[] | undefined;
59
+ }, {
60
+ type: string;
61
+ locations?: string[] | undefined;
62
+ actions?: string[] | undefined;
63
+ datatypes?: string[] | undefined;
64
+ identifier?: string | undefined;
65
+ privileges?: string[] | undefined;
66
+ }>, "many">>;
67
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
68
+ access_token: z.ZodString;
69
+ token_type: z.ZodUnion<[z.ZodEffects<z.ZodString, "DPoP", string>, z.ZodEffects<z.ZodString, "Bearer", string>]>;
70
+ issuer: z.ZodOptional<z.ZodString>;
71
+ sub: z.ZodOptional<z.ZodString>;
72
+ scope: z.ZodOptional<z.ZodString>;
73
+ id_token: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, `${string}.${string}.${string}`, string>>;
74
+ refresh_token: z.ZodOptional<z.ZodString>;
75
+ expires_in: z.ZodOptional<z.ZodNumber>;
76
+ authorization_details: z.ZodOptional<z.ZodArray<z.ZodObject<{
77
+ type: z.ZodString;
78
+ locations: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
79
+ actions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
80
+ datatypes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
81
+ identifier: z.ZodOptional<z.ZodString>;
82
+ privileges: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
83
+ }, "strip", z.ZodTypeAny, {
84
+ type: string;
85
+ locations?: string[] | undefined;
86
+ actions?: string[] | undefined;
87
+ datatypes?: string[] | undefined;
88
+ identifier?: string | undefined;
89
+ privileges?: string[] | undefined;
90
+ }, {
91
+ type: string;
92
+ locations?: string[] | undefined;
93
+ actions?: string[] | undefined;
94
+ datatypes?: string[] | undefined;
95
+ identifier?: string | undefined;
96
+ privileges?: string[] | undefined;
97
+ }>, "many">>;
98
+ }, z.ZodTypeAny, "passthrough">>;
99
+ /**
100
+ * @see {@link oauthTokenResponseSchema}
101
+ */
102
+ export type OAuthTokenResponse = z.infer<typeof oauthTokenResponseSchema>;
103
+ //# sourceMappingURL=oauth-token-response.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-token-response.d.ts","sourceRoot":"","sources":["../src/oauth-token-response.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAKvB;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAcrB,CAAA;AAEhB;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.oauthTokenResponseSchema = void 0;
4
+ const jwk_1 = require("@atproto/jwk");
5
+ const zod_1 = require("zod");
6
+ const oauth_authorization_details_js_1 = require("./oauth-authorization-details.js");
7
+ const oauth_token_type_js_1 = require("./oauth-token-type.js");
8
+ /**
9
+ * @see {@link https://www.rfc-editor.org/rfc/rfc6749.html#section-5.1 | RFC 6749 (OAuth2), Section 5.1}
10
+ */
11
+ exports.oauthTokenResponseSchema = zod_1.z
12
+ .object({
13
+ access_token: zod_1.z.string(),
14
+ token_type: oauth_token_type_js_1.oauthTokenTypeSchema,
15
+ issuer: zod_1.z.string().url().optional(),
16
+ sub: zod_1.z.string().optional(),
17
+ scope: zod_1.z.string().optional(),
18
+ id_token: jwk_1.signedJwtSchema.optional(),
19
+ refresh_token: zod_1.z.string().optional(),
20
+ expires_in: zod_1.z.number().optional(),
21
+ authorization_details: oauth_authorization_details_js_1.oauthAuthorizationDetailsSchema.optional(),
22
+ })
23
+ // https://www.rfc-editor.org/rfc/rfc6749.html#section-5.1
24
+ // > The client MUST ignore unrecognized value names in the response.
25
+ .passthrough();
26
+ //# sourceMappingURL=oauth-token-response.js.map