@atproto/oauth-types 0.6.3 → 0.7.0-next.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 +20 -0
- package/dist/atproto-loopback-client-id.js +17 -21
- package/dist/atproto-loopback-client-id.js.map +1 -1
- package/dist/atproto-loopback-client-metadata.js +6 -10
- package/dist/atproto-loopback-client-metadata.js.map +1 -1
- package/dist/atproto-loopback-client-redirect-uris.js +1 -4
- package/dist/atproto-loopback-client-redirect-uris.js.map +1 -1
- package/dist/atproto-oauth-scope.js +11 -17
- package/dist/atproto-oauth-scope.js.map +1 -1
- package/dist/atproto-oauth-token-response.d.ts +3 -3
- package/dist/atproto-oauth-token-response.js +9 -12
- package/dist/atproto-oauth-token-response.js.map +1 -1
- package/dist/constants.js +1 -4
- package/dist/constants.js.map +1 -1
- package/dist/index.js +49 -65
- package/dist/index.js.map +1 -1
- package/dist/oauth-access-token.js +2 -5
- package/dist/oauth-access-token.js.map +1 -1
- package/dist/oauth-authorization-code-grant-token-request.js +7 -10
- package/dist/oauth-authorization-code-grant-token-request.js.map +1 -1
- package/dist/oauth-authorization-details.js +10 -13
- package/dist/oauth-authorization-details.js.map +1 -1
- package/dist/oauth-authorization-request-jar.js +4 -7
- package/dist/oauth-authorization-request-jar.js.map +1 -1
- package/dist/oauth-authorization-request-par.js +6 -9
- package/dist/oauth-authorization-request-par.js.map +1 -1
- package/dist/oauth-authorization-request-parameters.js +35 -38
- package/dist/oauth-authorization-request-parameters.js.map +1 -1
- package/dist/oauth-authorization-request-query.js +11 -14
- package/dist/oauth-authorization-request-query.js.map +1 -1
- package/dist/oauth-authorization-request-uri.js +4 -7
- package/dist/oauth-authorization-request-uri.js.map +1 -1
- package/dist/oauth-authorization-response-error.js +2 -5
- package/dist/oauth-authorization-response-error.js.map +1 -1
- package/dist/oauth-authorization-server-metadata.js +52 -55
- package/dist/oauth-authorization-server-metadata.js.map +1 -1
- package/dist/oauth-client-credentials-grant-token-request.js +3 -6
- package/dist/oauth-client-credentials-grant-token-request.js.map +1 -1
- package/dist/oauth-client-credentials.js +17 -20
- package/dist/oauth-client-credentials.js.map +1 -1
- package/dist/oauth-client-id-discoverable.js +26 -33
- package/dist/oauth-client-id-discoverable.js.map +1 -1
- package/dist/oauth-client-id-loopback.js +20 -29
- package/dist/oauth-client-id-loopback.js.map +1 -1
- package/dist/oauth-client-id.js +2 -5
- package/dist/oauth-client-id.js.map +1 -1
- package/dist/oauth-client-metadata.d.ts.map +1 -1
- package/dist/oauth-client-metadata.js +41 -44
- package/dist/oauth-client-metadata.js.map +1 -1
- package/dist/oauth-code-challenge-method.js +2 -5
- package/dist/oauth-code-challenge-method.js.map +1 -1
- package/dist/oauth-endpoint-auth-method.js +2 -5
- package/dist/oauth-endpoint-auth-method.js.map +1 -1
- package/dist/oauth-endpoint-name.js +1 -4
- package/dist/oauth-endpoint-name.js.map +1 -1
- package/dist/oauth-grant-type.js +2 -5
- package/dist/oauth-grant-type.js.map +1 -1
- package/dist/oauth-introspection-response.js +1 -2
- package/dist/oauth-issuer-identifier.js +7 -10
- package/dist/oauth-issuer-identifier.js.map +1 -1
- package/dist/oauth-par-response.js +4 -7
- package/dist/oauth-par-response.js.map +1 -1
- package/dist/oauth-password-grant-token-request.js +5 -8
- package/dist/oauth-password-grant-token-request.js.map +1 -1
- package/dist/oauth-prompt-mode.js +2 -5
- package/dist/oauth-prompt-mode.js.map +1 -1
- package/dist/oauth-protected-resource-metadata.js +14 -17
- package/dist/oauth-protected-resource-metadata.js.map +1 -1
- package/dist/oauth-redirect-uri.js +10 -13
- package/dist/oauth-redirect-uri.js.map +1 -1
- package/dist/oauth-refresh-token-grant-token-request.js +5 -8
- package/dist/oauth-refresh-token-grant-token-request.js.map +1 -1
- package/dist/oauth-refresh-token.js +2 -5
- package/dist/oauth-refresh-token.js.map +1 -1
- package/dist/oauth-request-uri.js +2 -5
- package/dist/oauth-request-uri.js.map +1 -1
- package/dist/oauth-response-mode.js +2 -5
- package/dist/oauth-response-mode.js.map +1 -1
- package/dist/oauth-response-type.js +2 -5
- package/dist/oauth-response-type.js.map +1 -1
- package/dist/oauth-scope.js +4 -8
- package/dist/oauth-scope.js.map +1 -1
- package/dist/oauth-token-identification.js +6 -9
- package/dist/oauth-token-identification.js.map +1 -1
- package/dist/oauth-token-request.js +10 -13
- package/dist/oauth-token-request.js.map +1 -1
- package/dist/oauth-token-response.js +12 -15
- package/dist/oauth-token-response.js.map +1 -1
- package/dist/oauth-token-type.js +4 -7
- package/dist/oauth-token-type.js.map +1 -1
- package/dist/oidc-authorization-error-response.js +2 -5
- package/dist/oidc-authorization-error-response.js.map +1 -1
- package/dist/oidc-claims-parameter.js +2 -5
- package/dist/oidc-claims-parameter.js.map +1 -1
- package/dist/oidc-claims-properties.js +5 -8
- package/dist/oidc-claims-properties.js.map +1 -1
- package/dist/oidc-entity-type.js +2 -5
- package/dist/oidc-entity-type.js.map +1 -1
- package/dist/oidc-userinfo.js +10 -13
- package/dist/oidc-userinfo.js.map +1 -1
- package/dist/uri.js +25 -28
- package/dist/uri.js.map +1 -1
- package/dist/util.js +12 -26
- package/dist/util.js.map +1 -1
- package/package.json +8 -7
- package/src/atproto-oauth-token-response.ts +1 -1
- package/tsconfig.build.tsbuildinfo +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# @atproto/oauth-types
|
|
2
2
|
|
|
3
|
+
## 0.7.0-next.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#4929](https://github.com/bluesky-social/atproto/pull/4929) [`bb7491c`](https://github.com/bluesky-social/atproto/commit/bb7491c29e06181e1d2f8cf6eb454f9bb8ab961b) Thanks [@devinivy](https://github.com/devinivy)! - **BREAKING:** Drop support for Node.js 18 and 20. Node.js 22 is now the minimum supported version. Docker images now use Node.js 24.
|
|
8
|
+
|
|
9
|
+
- [#4943](https://github.com/bluesky-social/atproto/pull/4943) [`07ae5d4`](https://github.com/bluesky-social/atproto/commit/07ae5d4452df51e045e0239da7a04cf0bc154028) Thanks [@devinivy](https://github.com/devinivy)! - **BREAKING:** Convert to pure ESM. All packages now ship `"type": "module"` with ES module output and Node16 module resolution.
|
|
10
|
+
|
|
11
|
+
Node.js 22's `require()` compatibility layer can still load these packages in CommonJS code.
|
|
12
|
+
|
|
13
|
+
- [#4930](https://github.com/bluesky-social/atproto/pull/4930) [`042df15`](https://github.com/bluesky-social/atproto/commit/042df15087c0e62cd1e715fcbf58852fab875af9) Thanks [@devinivy](https://github.com/devinivy)! - Build with TypeScript 6.0. Emitted `.d.ts` files now use TypeScript 6's stricter `Uint8Array<ArrayBuffer>` typing in places where Web/Node APIs require buffer-backed (not shared-memory) byte arrays. Consumers compiling against these types on older TypeScript should see no runtime impact, but may need to widen or cast in spots that previously relied on `Uint8Array` defaulting to `<ArrayBufferLike>`.
|
|
14
|
+
|
|
15
|
+
Internal: tsconfig `moduleResolution: "node"` is silenced via `ignoreDeprecations: "6.0"` for now; the proper migration to `node16`/`bundler` resolution is deferred.
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- Updated dependencies [[`bb7491c`](https://github.com/bluesky-social/atproto/commit/bb7491c29e06181e1d2f8cf6eb454f9bb8ab961b), [`07ae5d4`](https://github.com/bluesky-social/atproto/commit/07ae5d4452df51e045e0239da7a04cf0bc154028), [`042df15`](https://github.com/bluesky-social/atproto/commit/042df15087c0e62cd1e715fcbf58852fab875af9)]:
|
|
20
|
+
- @atproto/did@0.4.0-next.0
|
|
21
|
+
- @atproto/jwk@0.7.0-next.0
|
|
22
|
+
|
|
3
23
|
## 0.6.3
|
|
4
24
|
|
|
5
25
|
### Patch Changes
|
|
@@ -1,43 +1,39 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const oauth_client_id_loopback_js_1 = require("./oauth-client-id-loopback.js");
|
|
8
|
-
const oauth_redirect_uri_js_1 = require("./oauth-redirect-uri.js");
|
|
9
|
-
const util_js_1 = require("./util.js");
|
|
10
|
-
function buildAtprotoLoopbackClientId(config) {
|
|
1
|
+
import { DEFAULT_LOOPBACK_CLIENT_REDIRECT_URIS } from './atproto-loopback-client-redirect-uris.js';
|
|
2
|
+
import { DEFAULT_ATPROTO_OAUTH_SCOPE, asAtprotoOAuthScope, isAtprotoOAuthScope, } from './atproto-oauth-scope.js';
|
|
3
|
+
import { LOOPBACK_CLIENT_ID_ORIGIN, parseOAuthLoopbackClientId, } from './oauth-client-id-loopback.js';
|
|
4
|
+
import { oauthLoopbackClientRedirectUriSchema, } from './oauth-redirect-uri.js';
|
|
5
|
+
import { arrayEquivalent, asArray } from './util.js';
|
|
6
|
+
export function buildAtprotoLoopbackClientId(config) {
|
|
11
7
|
if (config) {
|
|
12
8
|
const params = new URLSearchParams();
|
|
13
9
|
const { scope } = config;
|
|
14
|
-
if (scope != null && scope !==
|
|
15
|
-
params.set('scope',
|
|
10
|
+
if (scope != null && scope !== DEFAULT_ATPROTO_OAUTH_SCOPE) {
|
|
11
|
+
params.set('scope', asAtprotoOAuthScope(scope));
|
|
16
12
|
}
|
|
17
|
-
const redirectUris =
|
|
13
|
+
const redirectUris = asArray(config.redirect_uris);
|
|
18
14
|
if (redirectUris &&
|
|
19
|
-
!
|
|
15
|
+
!arrayEquivalent(redirectUris, DEFAULT_LOOPBACK_CLIENT_REDIRECT_URIS)) {
|
|
20
16
|
if (!redirectUris.length) {
|
|
21
17
|
throw new TypeError(`Unexpected empty "redirect_uris" config`);
|
|
22
18
|
}
|
|
23
19
|
for (const uri of redirectUris) {
|
|
24
|
-
params.append('redirect_uri',
|
|
20
|
+
params.append('redirect_uri', oauthLoopbackClientRedirectUriSchema.parse(uri));
|
|
25
21
|
}
|
|
26
22
|
}
|
|
27
23
|
if (params.size) {
|
|
28
|
-
return `${
|
|
24
|
+
return `${LOOPBACK_CLIENT_ID_ORIGIN}?${params.toString()}`;
|
|
29
25
|
}
|
|
30
26
|
}
|
|
31
|
-
return
|
|
27
|
+
return LOOPBACK_CLIENT_ID_ORIGIN;
|
|
32
28
|
}
|
|
33
|
-
function parseAtprotoLoopbackClientId(clientId) {
|
|
34
|
-
const { scope =
|
|
35
|
-
if (!
|
|
29
|
+
export function parseAtprotoLoopbackClientId(clientId) {
|
|
30
|
+
const { scope = DEFAULT_ATPROTO_OAUTH_SCOPE, redirect_uris } = parseOAuthLoopbackClientId(clientId);
|
|
31
|
+
if (!isAtprotoOAuthScope(scope)) {
|
|
36
32
|
throw new TypeError('ATProto Loopback ClientID must include "atproto" scope');
|
|
37
33
|
}
|
|
38
34
|
return {
|
|
39
35
|
scope,
|
|
40
|
-
redirect_uris: redirect_uris ?? [...
|
|
36
|
+
redirect_uris: redirect_uris ?? [...DEFAULT_LOOPBACK_CLIENT_REDIRECT_URIS],
|
|
41
37
|
};
|
|
42
38
|
}
|
|
43
39
|
//# sourceMappingURL=atproto-loopback-client-id.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"atproto-loopback-client-id.js","sourceRoot":"","sources":["../src/atproto-loopback-client-id.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"atproto-loopback-client-id.js","sourceRoot":"","sources":["../src/atproto-loopback-client-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qCAAqC,EAAE,MAAM,4CAA4C,CAAA;AAClG,OAAO,EAEL,2BAA2B,EAC3B,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EACL,yBAAyB,EAEzB,0BAA0B,GAC3B,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAEL,oCAAoC,GACrC,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAOpD,MAAM,UAAU,4BAA4B,CAC1C,MAAoC;IAEpC,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAA;QAEpC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAA;QACxB,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,2BAA2B,EAAE,CAAC;YAC3D,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAA;QACjD,CAAC;QAED,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;QAClD,IACE,YAAY;YACZ,CAAC,eAAe,CAAC,YAAY,EAAE,qCAAqC,CAAC,EACrE,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;gBACzB,MAAM,IAAI,SAAS,CAAC,yCAAyC,CAAC,CAAA;YAChE,CAAC;YACD,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;gBAC/B,MAAM,CAAC,MAAM,CACX,cAAc,EACd,oCAAoC,CAAC,KAAK,CAAC,GAAG,CAAC,CAChD,CAAA;YACH,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,OAAO,GAAG,yBAAyB,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAA;QAC5D,CAAC;IACH,CAAC;IAED,OAAO,yBAAyB,CAAA;AAClC,CAAC;AAOD,MAAM,UAAU,4BAA4B,CAC1C,QAAgB;IAEhB,MAAM,EAAE,KAAK,GAAG,2BAA2B,EAAE,aAAa,EAAE,GAC1D,0BAA0B,CAAC,QAAQ,CAAC,CAAA;IACtC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,SAAS,CACjB,wDAAwD,CACzD,CAAA;IACH,CAAC;IACD,OAAO;QACL,KAAK;QACL,aAAa,EAAE,aAAa,IAAI,CAAC,GAAG,qCAAqC,CAAC;KAC3E,CAAA;AACH,CAAC","sourcesContent":["import { DEFAULT_LOOPBACK_CLIENT_REDIRECT_URIS } from './atproto-loopback-client-redirect-uris.js'\nimport {\n AtprotoOAuthScope,\n DEFAULT_ATPROTO_OAUTH_SCOPE,\n asAtprotoOAuthScope,\n isAtprotoOAuthScope,\n} from './atproto-oauth-scope.js'\nimport {\n LOOPBACK_CLIENT_ID_ORIGIN,\n OAuthClientIdLoopback,\n parseOAuthLoopbackClientId,\n} from './oauth-client-id-loopback.js'\nimport {\n OAuthLoopbackRedirectURI,\n oauthLoopbackClientRedirectUriSchema,\n} from './oauth-redirect-uri.js'\nimport { arrayEquivalent, asArray } from './util.js'\n\nexport type OAuthLoopbackClientIdConfig = {\n scope?: string\n redirect_uris?: Iterable<string>\n}\n\nexport function buildAtprotoLoopbackClientId(\n config?: OAuthLoopbackClientIdConfig,\n): OAuthClientIdLoopback {\n if (config) {\n const params = new URLSearchParams()\n\n const { scope } = config\n if (scope != null && scope !== DEFAULT_ATPROTO_OAUTH_SCOPE) {\n params.set('scope', asAtprotoOAuthScope(scope))\n }\n\n const redirectUris = asArray(config.redirect_uris)\n if (\n redirectUris &&\n !arrayEquivalent(redirectUris, DEFAULT_LOOPBACK_CLIENT_REDIRECT_URIS)\n ) {\n if (!redirectUris.length) {\n throw new TypeError(`Unexpected empty \"redirect_uris\" config`)\n }\n for (const uri of redirectUris) {\n params.append(\n 'redirect_uri',\n oauthLoopbackClientRedirectUriSchema.parse(uri),\n )\n }\n }\n\n if (params.size) {\n return `${LOOPBACK_CLIENT_ID_ORIGIN}?${params.toString()}`\n }\n }\n\n return LOOPBACK_CLIENT_ID_ORIGIN\n}\n\nexport type AtprotoLoopbackClientIdParams = {\n scope: AtprotoOAuthScope\n redirect_uris: [OAuthLoopbackRedirectURI, ...OAuthLoopbackRedirectURI[]]\n}\n\nexport function parseAtprotoLoopbackClientId(\n clientId: string,\n): AtprotoLoopbackClientIdParams {\n const { scope = DEFAULT_ATPROTO_OAUTH_SCOPE, redirect_uris } =\n parseOAuthLoopbackClientId(clientId)\n if (!isAtprotoOAuthScope(scope)) {\n throw new TypeError(\n 'ATProto Loopback ClientID must include \"atproto\" scope',\n )\n }\n return {\n scope,\n redirect_uris: redirect_uris ?? [...DEFAULT_LOOPBACK_CLIENT_REDIRECT_URIS],\n }\n}\n"]}
|
|
@@ -1,16 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
exports.buildAtprotoLoopbackClientMetadata = buildAtprotoLoopbackClientMetadata;
|
|
5
|
-
const atproto_loopback_client_id_js_1 = require("./atproto-loopback-client-id.js");
|
|
6
|
-
function atprotoLoopbackClientMetadata(clientId) {
|
|
7
|
-
const params = (0, atproto_loopback_client_id_js_1.parseAtprotoLoopbackClientId)(clientId);
|
|
1
|
+
import { buildAtprotoLoopbackClientId, parseAtprotoLoopbackClientId, } from './atproto-loopback-client-id.js';
|
|
2
|
+
export function atprotoLoopbackClientMetadata(clientId) {
|
|
3
|
+
const params = parseAtprotoLoopbackClientId(clientId);
|
|
8
4
|
// Safe to cast because parseAtprotoLoopbackClientId ensures it's a loopback ID
|
|
9
5
|
return buildMetadataInternal(clientId, params);
|
|
10
6
|
}
|
|
11
|
-
function buildAtprotoLoopbackClientMetadata(config) {
|
|
12
|
-
const clientId =
|
|
13
|
-
return buildMetadataInternal(clientId,
|
|
7
|
+
export function buildAtprotoLoopbackClientMetadata(config) {
|
|
8
|
+
const clientId = buildAtprotoLoopbackClientId(config);
|
|
9
|
+
return buildMetadataInternal(clientId, parseAtprotoLoopbackClientId(clientId));
|
|
14
10
|
}
|
|
15
11
|
function buildMetadataInternal(clientId, clientParams) {
|
|
16
12
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"atproto-loopback-client-metadata.js","sourceRoot":"","sources":["../src/atproto-loopback-client-metadata.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"atproto-loopback-client-metadata.js","sourceRoot":"","sources":["../src/atproto-loopback-client-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,4BAA4B,EAC5B,4BAA4B,GAC7B,MAAM,iCAAiC,CAAA;AAYxC,MAAM,UAAU,6BAA6B,CAC3C,QAAgB;IAEhB,MAAM,MAAM,GAAG,4BAA4B,CAAC,QAAQ,CAAC,CAAA;IACrD,+EAA+E;IAC/E,OAAO,qBAAqB,CAAC,QAAiC,EAAE,MAAM,CAAC,CAAA;AACzE,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,MAAmC;IAEnC,MAAM,QAAQ,GAAG,4BAA4B,CAAC,MAAM,CAAC,CAAA;IACrD,OAAO,qBAAqB,CAAC,QAAQ,EAAE,4BAA4B,CAAC,QAAQ,CAAC,CAAC,CAAA;AAChF,CAAC;AAED,SAAS,qBAAqB,CAC5B,QAA+B,EAC/B,YAA2C;IAE3C,OAAO;QACL,SAAS,EAAE,QAAQ;QACnB,KAAK,EAAE,YAAY,CAAC,KAAK;QACzB,aAAa,EAAE,YAAY,CAAC,aAAa;QACzC,cAAc,EAAE,CAAC,MAAM,CAAC;QACxB,WAAW,EAAE,CAAC,oBAAoB,EAAE,eAAe,CAAC;QACpD,0BAA0B,EAAE,MAAM;QAClC,gBAAgB,EAAE,QAAQ;QAC1B,wBAAwB,EAAE,IAAI;KAC/B,CAAA;AACH,CAAC","sourcesContent":["import {\n AtprotoLoopbackClientIdParams,\n OAuthLoopbackClientIdConfig,\n buildAtprotoLoopbackClientId,\n parseAtprotoLoopbackClientId,\n} from './atproto-loopback-client-id.js'\nimport { AtprotoOAuthScope } from './atproto-oauth-scope.js'\nimport { OAuthClientIdLoopback } from './oauth-client-id-loopback.js'\nimport { OAuthClientMetadataInput } from './oauth-client-metadata.js'\nimport { OAuthLoopbackRedirectURI } from './oauth-redirect-uri.js'\n\nexport type AtprotoLoopbackClientMetadata = OAuthClientMetadataInput & {\n client_id: OAuthClientIdLoopback\n scope: AtprotoOAuthScope\n redirect_uris: [OAuthLoopbackRedirectURI, ...OAuthLoopbackRedirectURI[]]\n}\n\nexport function atprotoLoopbackClientMetadata(\n clientId: string,\n): AtprotoLoopbackClientMetadata {\n const params = parseAtprotoLoopbackClientId(clientId)\n // Safe to cast because parseAtprotoLoopbackClientId ensures it's a loopback ID\n return buildMetadataInternal(clientId as OAuthClientIdLoopback, params)\n}\n\nexport function buildAtprotoLoopbackClientMetadata(\n config: OAuthLoopbackClientIdConfig,\n): AtprotoLoopbackClientMetadata {\n const clientId = buildAtprotoLoopbackClientId(config)\n return buildMetadataInternal(clientId, parseAtprotoLoopbackClientId(clientId))\n}\n\nfunction buildMetadataInternal(\n clientId: OAuthClientIdLoopback,\n clientParams: AtprotoLoopbackClientIdParams,\n): AtprotoLoopbackClientMetadata {\n return {\n client_id: clientId,\n scope: clientParams.scope,\n redirect_uris: clientParams.redirect_uris,\n response_types: ['code'],\n grant_types: ['authorization_code', 'refresh_token'],\n token_endpoint_auth_method: 'none',\n application_type: 'native',\n dpop_bound_access_tokens: true,\n }\n}\n"]}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DEFAULT_LOOPBACK_CLIENT_REDIRECT_URIS = void 0;
|
|
4
|
-
exports.DEFAULT_LOOPBACK_CLIENT_REDIRECT_URIS = Object.freeze([
|
|
1
|
+
export const DEFAULT_LOOPBACK_CLIENT_REDIRECT_URIS = Object.freeze([
|
|
5
2
|
`http://127.0.0.1/`,
|
|
6
3
|
`http://[::1]/`,
|
|
7
4
|
]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"atproto-loopback-client-redirect-uris.js","sourceRoot":"","sources":["../src/atproto-loopback-client-redirect-uris.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"atproto-loopback-client-redirect-uris.js","sourceRoot":"","sources":["../src/atproto-loopback-client-redirect-uris.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qCAAqC,GAAG,MAAM,CAAC,MAAM,CAAC;IACjE,mBAAmB;IACnB,eAAe;CACP,CAAC,CAAA","sourcesContent":["export const DEFAULT_LOOPBACK_CLIENT_REDIRECT_URIS = Object.freeze([\n `http://127.0.0.1/`,\n `http://[::1]/`,\n] as const)\n"]}
|
|
@@ -1,27 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const zod_1 = require("zod");
|
|
8
|
-
const oauth_scope_js_1 = require("./oauth-scope.js");
|
|
9
|
-
const util_js_1 = require("./util.js");
|
|
10
|
-
exports.ATPROTO_SCOPE_VALUE = 'atproto';
|
|
11
|
-
function isAtprotoOAuthScope(input) {
|
|
12
|
-
return ((0, oauth_scope_js_1.isOAuthScope)(input) && (0, util_js_1.isSpaceSeparatedValue)(exports.ATPROTO_SCOPE_VALUE, input));
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { isOAuthScope } from './oauth-scope.js';
|
|
3
|
+
import { isSpaceSeparatedValue } from './util.js';
|
|
4
|
+
export const ATPROTO_SCOPE_VALUE = 'atproto';
|
|
5
|
+
export function isAtprotoOAuthScope(input) {
|
|
6
|
+
return (isOAuthScope(input) && isSpaceSeparatedValue(ATPROTO_SCOPE_VALUE, input));
|
|
13
7
|
}
|
|
14
|
-
function asAtprotoOAuthScope(input) {
|
|
8
|
+
export function asAtprotoOAuthScope(input) {
|
|
15
9
|
if (isAtprotoOAuthScope(input))
|
|
16
10
|
return input;
|
|
17
|
-
throw new TypeError(`Value must contain "${
|
|
11
|
+
throw new TypeError(`Value must contain "${ATPROTO_SCOPE_VALUE}" scope value`);
|
|
18
12
|
}
|
|
19
|
-
function assertAtprotoOAuthScope(input) {
|
|
13
|
+
export function assertAtprotoOAuthScope(input) {
|
|
20
14
|
void asAtprotoOAuthScope(input);
|
|
21
15
|
}
|
|
22
|
-
|
|
16
|
+
export const atprotoOAuthScopeSchema = z.string().refine(isAtprotoOAuthScope, {
|
|
23
17
|
message: 'Invalid ATProto OAuth scope',
|
|
24
18
|
});
|
|
25
19
|
// Default scope is for reading identity (did) only
|
|
26
|
-
|
|
20
|
+
export const DEFAULT_ATPROTO_OAUTH_SCOPE = ATPROTO_SCOPE_VALUE;
|
|
27
21
|
//# sourceMappingURL=atproto-oauth-scope.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"atproto-oauth-scope.js","sourceRoot":"","sources":["../src/atproto-oauth-scope.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"atproto-oauth-scope.js","sourceRoot":"","sources":["../src/atproto-oauth-scope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAc,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,EAAuB,qBAAqB,EAAE,MAAM,WAAW,CAAA;AAEtE,MAAM,CAAC,MAAM,mBAAmB,GAAG,SAAS,CAAA;AAM5C,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,OAAO,CACL,YAAY,CAAC,KAAK,CAAC,IAAI,qBAAqB,CAAC,mBAAmB,EAAE,KAAK,CAAC,CACzE,CAAA;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAmB,KAAQ;IAC5D,IAAI,mBAAmB,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAC5C,MAAM,IAAI,SAAS,CAAC,uBAAuB,mBAAmB,eAAe,CAAC,CAAA;AAChF,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,KAAa;IAEb,KAAK,mBAAmB,CAAC,KAAK,CAAC,CAAA;AACjC,CAAC;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,mBAAmB,EAAE;IAC5E,OAAO,EAAE,6BAA6B;CACvC,CAAC,CAAA;AAEF,mDAAmD;AACnD,MAAM,CAAC,MAAM,2BAA2B,GACtC,mBAA+C,CAAA","sourcesContent":["import { z } from 'zod'\nimport { OAuthScope, isOAuthScope } from './oauth-scope.js'\nimport { SpaceSeparatedValue, isSpaceSeparatedValue } from './util.js'\n\nexport const ATPROTO_SCOPE_VALUE = 'atproto'\nexport type AtprotoScopeValue = typeof ATPROTO_SCOPE_VALUE\n\nexport type AtprotoOAuthScope = OAuthScope &\n SpaceSeparatedValue<AtprotoScopeValue>\n\nexport function isAtprotoOAuthScope(input: string): input is AtprotoOAuthScope {\n return (\n isOAuthScope(input) && isSpaceSeparatedValue(ATPROTO_SCOPE_VALUE, input)\n )\n}\n\nexport function asAtprotoOAuthScope<I extends string>(input: I) {\n if (isAtprotoOAuthScope(input)) return input\n throw new TypeError(`Value must contain \"${ATPROTO_SCOPE_VALUE}\" scope value`)\n}\n\nexport function assertAtprotoOAuthScope(\n input: string,\n): asserts input is AtprotoOAuthScope {\n void asAtprotoOAuthScope(input)\n}\n\nexport const atprotoOAuthScopeSchema = z.string().refine(isAtprotoOAuthScope, {\n message: 'Invalid ATProto OAuth scope',\n})\n\n// Default scope is for reading identity (did) only\nexport const DEFAULT_ATPROTO_OAUTH_SCOPE =\n ATPROTO_SCOPE_VALUE satisfies AtprotoOAuthScope\n"]}
|
|
@@ -31,7 +31,7 @@ export declare const atprotoOAuthTokenResponseSchema: z.ZodObject<z.objectUtil.e
|
|
|
31
31
|
}, {
|
|
32
32
|
token_type: z.ZodLiteral<"DPoP">;
|
|
33
33
|
sub: z.ZodEffects<z.ZodString, `did:plc:${string}` | `did:web:${string}`, string>;
|
|
34
|
-
scope: z.ZodEffects<z.ZodString, import("./atproto-oauth-scope").AtprotoOAuthScope, string>;
|
|
34
|
+
scope: z.ZodEffects<z.ZodString, import("./atproto-oauth-scope.js").AtprotoOAuthScope, string>;
|
|
35
35
|
id_token: z.ZodOptional<z.ZodNever>;
|
|
36
36
|
}>, "passthrough", z.ZodTypeAny, z.objectOutputType<z.objectUtil.extendShape<{
|
|
37
37
|
access_token: z.ZodString;
|
|
@@ -65,7 +65,7 @@ export declare const atprotoOAuthTokenResponseSchema: z.ZodObject<z.objectUtil.e
|
|
|
65
65
|
}, {
|
|
66
66
|
token_type: z.ZodLiteral<"DPoP">;
|
|
67
67
|
sub: z.ZodEffects<z.ZodString, `did:plc:${string}` | `did:web:${string}`, string>;
|
|
68
|
-
scope: z.ZodEffects<z.ZodString, import("./atproto-oauth-scope").AtprotoOAuthScope, string>;
|
|
68
|
+
scope: z.ZodEffects<z.ZodString, import("./atproto-oauth-scope.js").AtprotoOAuthScope, string>;
|
|
69
69
|
id_token: z.ZodOptional<z.ZodNever>;
|
|
70
70
|
}>, z.ZodTypeAny, "passthrough">, z.objectInputType<z.objectUtil.extendShape<{
|
|
71
71
|
access_token: z.ZodString;
|
|
@@ -99,7 +99,7 @@ export declare const atprotoOAuthTokenResponseSchema: z.ZodObject<z.objectUtil.e
|
|
|
99
99
|
}, {
|
|
100
100
|
token_type: z.ZodLiteral<"DPoP">;
|
|
101
101
|
sub: z.ZodEffects<z.ZodString, `did:plc:${string}` | `did:web:${string}`, string>;
|
|
102
|
-
scope: z.ZodEffects<z.ZodString, import("./atproto-oauth-scope").AtprotoOAuthScope, string>;
|
|
102
|
+
scope: z.ZodEffects<z.ZodString, import("./atproto-oauth-scope.js").AtprotoOAuthScope, string>;
|
|
103
103
|
id_token: z.ZodOptional<z.ZodNever>;
|
|
104
104
|
}>, z.ZodTypeAny, "passthrough">>;
|
|
105
105
|
export type AtprotoOAuthTokenResponse = TypeOf<typeof atprotoOAuthTokenResponseSchema>;
|
|
@@ -1,15 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
token_type: zod_1.z.literal('DPoP'),
|
|
10
|
-
sub: did_1.atprotoDidSchema,
|
|
11
|
-
scope: atproto_oauth_scope_1.atprotoOAuthScopeSchema,
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { atprotoDidSchema } from '@atproto/did';
|
|
3
|
+
import { atprotoOAuthScopeSchema } from './atproto-oauth-scope.js';
|
|
4
|
+
import { oauthTokenResponseSchema } from './oauth-token-response.js';
|
|
5
|
+
export const atprotoOAuthTokenResponseSchema = oauthTokenResponseSchema.extend({
|
|
6
|
+
token_type: z.literal('DPoP'),
|
|
7
|
+
sub: atprotoDidSchema,
|
|
8
|
+
scope: atprotoOAuthScopeSchema,
|
|
12
9
|
// OpenID is not compatible with atproto identities
|
|
13
|
-
id_token:
|
|
10
|
+
id_token: z.never().optional(),
|
|
14
11
|
});
|
|
15
12
|
//# sourceMappingURL=atproto-oauth-token-response.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"atproto-oauth-token-response.js","sourceRoot":"","sources":["../src/atproto-oauth-token-response.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"atproto-oauth-token-response.js","sourceRoot":"","sources":["../src/atproto-oauth-token-response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,CAAC,EAAE,MAAM,KAAK,CAAA;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAA;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AAEpE,MAAM,CAAC,MAAM,+BAA+B,GAAG,wBAAwB,CAAC,MAAM,CAAC;IAC7E,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAC7B,GAAG,EAAE,gBAAgB;IACrB,KAAK,EAAE,uBAAuB;IAC9B,mDAAmD;IACnD,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAA","sourcesContent":["import { TypeOf, z } from 'zod'\nimport { atprotoDidSchema } from '@atproto/did'\nimport { atprotoOAuthScopeSchema } from './atproto-oauth-scope.js'\nimport { oauthTokenResponseSchema } from './oauth-token-response.js'\n\nexport const atprotoOAuthTokenResponseSchema = oauthTokenResponseSchema.extend({\n token_type: z.literal('DPoP'),\n sub: atprotoDidSchema,\n scope: atprotoOAuthScopeSchema,\n // OpenID is not compatible with atproto identities\n id_token: z.never().optional(),\n})\n\nexport type AtprotoOAuthTokenResponse = TypeOf<\n typeof atprotoOAuthTokenResponseSchema\n>\n"]}
|
package/dist/constants.js
CHANGED
|
@@ -1,5 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CLIENT_ASSERTION_TYPE_JWT_BEARER = void 0;
|
|
4
|
-
exports.CLIENT_ASSERTION_TYPE_JWT_BEARER = 'urn:ietf:params:oauth:client-assertion-type:jwt-bearer';
|
|
1
|
+
export const CLIENT_ASSERTION_TYPE_JWT_BEARER = 'urn:ietf:params:oauth:client-assertion-type:jwt-bearer';
|
|
5
2
|
//# sourceMappingURL=constants.js.map
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gCAAgC,GAC3C,wDAAwD,CAAA","sourcesContent":["export const CLIENT_ASSERTION_TYPE_JWT_BEARER =\n 'urn:ietf:params:oauth:client-assertion-type:jwt-bearer'\n"]}
|
package/dist/index.js
CHANGED
|
@@ -1,66 +1,50 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
__exportStar(require("./oauth-redirect-uri.js"), exports);
|
|
51
|
-
__exportStar(require("./oauth-refresh-token-grant-token-request.js"), exports);
|
|
52
|
-
__exportStar(require("./oauth-refresh-token.js"), exports);
|
|
53
|
-
__exportStar(require("./oauth-request-uri.js"), exports);
|
|
54
|
-
__exportStar(require("./oauth-response-mode.js"), exports);
|
|
55
|
-
__exportStar(require("./oauth-response-type.js"), exports);
|
|
56
|
-
__exportStar(require("./oauth-scope.js"), exports);
|
|
57
|
-
__exportStar(require("./oauth-token-identification.js"), exports);
|
|
58
|
-
__exportStar(require("./oauth-token-request.js"), exports);
|
|
59
|
-
__exportStar(require("./oauth-token-response.js"), exports);
|
|
60
|
-
__exportStar(require("./oauth-token-type.js"), exports);
|
|
61
|
-
__exportStar(require("./oidc-authorization-error-response.js"), exports);
|
|
62
|
-
__exportStar(require("./oidc-claims-parameter.js"), exports);
|
|
63
|
-
__exportStar(require("./oidc-claims-properties.js"), exports);
|
|
64
|
-
__exportStar(require("./oidc-entity-type.js"), exports);
|
|
65
|
-
__exportStar(require("./oidc-userinfo.js"), exports);
|
|
1
|
+
export * from './constants.js';
|
|
2
|
+
export * from './uri.js';
|
|
3
|
+
export * from './util.js';
|
|
4
|
+
export * from './atproto-loopback-client-id.js';
|
|
5
|
+
export * from './atproto-loopback-client-metadata.js';
|
|
6
|
+
export * from './atproto-loopback-client-redirect-uris.js';
|
|
7
|
+
export * from './atproto-oauth-scope.js';
|
|
8
|
+
export * from './atproto-oauth-token-response.js';
|
|
9
|
+
export * from './oauth-access-token.js';
|
|
10
|
+
export * from './oauth-authorization-code-grant-token-request.js';
|
|
11
|
+
export * from './oauth-authorization-details.js';
|
|
12
|
+
export * from './oauth-authorization-request-jar.js';
|
|
13
|
+
export * from './oauth-authorization-request-par.js';
|
|
14
|
+
export * from './oauth-authorization-request-parameters.js';
|
|
15
|
+
export * from './oauth-authorization-request-query.js';
|
|
16
|
+
export * from './oauth-authorization-request-uri.js';
|
|
17
|
+
export * from './oauth-authorization-response-error.js';
|
|
18
|
+
export * from './oauth-authorization-server-metadata.js';
|
|
19
|
+
export * from './oauth-client-credentials-grant-token-request.js';
|
|
20
|
+
export * from './oauth-client-credentials.js';
|
|
21
|
+
export * from './oauth-client-id-discoverable.js';
|
|
22
|
+
export * from './oauth-client-id-loopback.js';
|
|
23
|
+
export * from './oauth-client-id.js';
|
|
24
|
+
export * from './oauth-client-metadata.js';
|
|
25
|
+
export * from './oauth-endpoint-auth-method.js';
|
|
26
|
+
export * from './oauth-endpoint-name.js';
|
|
27
|
+
export * from './oauth-grant-type.js';
|
|
28
|
+
export * from './oauth-introspection-response.js';
|
|
29
|
+
export * from './oauth-issuer-identifier.js';
|
|
30
|
+
export * from './oauth-par-response.js';
|
|
31
|
+
export * from './oauth-password-grant-token-request.js';
|
|
32
|
+
export * from './oauth-prompt-mode.js';
|
|
33
|
+
export * from './oauth-protected-resource-metadata.js';
|
|
34
|
+
export * from './oauth-redirect-uri.js';
|
|
35
|
+
export * from './oauth-refresh-token-grant-token-request.js';
|
|
36
|
+
export * from './oauth-refresh-token.js';
|
|
37
|
+
export * from './oauth-request-uri.js';
|
|
38
|
+
export * from './oauth-response-mode.js';
|
|
39
|
+
export * from './oauth-response-type.js';
|
|
40
|
+
export * from './oauth-scope.js';
|
|
41
|
+
export * from './oauth-token-identification.js';
|
|
42
|
+
export * from './oauth-token-request.js';
|
|
43
|
+
export * from './oauth-token-response.js';
|
|
44
|
+
export * from './oauth-token-type.js';
|
|
45
|
+
export * from './oidc-authorization-error-response.js';
|
|
46
|
+
export * from './oidc-claims-parameter.js';
|
|
47
|
+
export * from './oidc-claims-properties.js';
|
|
48
|
+
export * from './oidc-entity-type.js';
|
|
49
|
+
export * from './oidc-userinfo.js';
|
|
66
50
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AAEzB,cAAc,iCAAiC,CAAA;AAC/C,cAAc,uCAAuC,CAAA;AACrD,cAAc,4CAA4C,CAAA;AAC1D,cAAc,0BAA0B,CAAA;AACxC,cAAc,mCAAmC,CAAA;AACjD,cAAc,yBAAyB,CAAA;AACvC,cAAc,mDAAmD,CAAA;AACjE,cAAc,kCAAkC,CAAA;AAChD,cAAc,sCAAsC,CAAA;AACpD,cAAc,sCAAsC,CAAA;AACpD,cAAc,6CAA6C,CAAA;AAC3D,cAAc,wCAAwC,CAAA;AACtD,cAAc,sCAAsC,CAAA;AACpD,cAAc,yCAAyC,CAAA;AACvD,cAAc,0CAA0C,CAAA;AACxD,cAAc,mDAAmD,CAAA;AACjE,cAAc,+BAA+B,CAAA;AAC7C,cAAc,mCAAmC,CAAA;AACjD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,sBAAsB,CAAA;AACpC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,0BAA0B,CAAA;AACxC,cAAc,uBAAuB,CAAA;AACrC,cAAc,mCAAmC,CAAA;AACjD,cAAc,8BAA8B,CAAA;AAC5C,cAAc,yBAAyB,CAAA;AACvC,cAAc,yCAAyC,CAAA;AACvD,cAAc,wBAAwB,CAAA;AACtC,cAAc,wCAAwC,CAAA;AACtD,cAAc,yBAAyB,CAAA;AACvC,cAAc,8CAA8C,CAAA;AAC5D,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,kBAAkB,CAAA;AAChC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,0BAA0B,CAAA;AACxC,cAAc,2BAA2B,CAAA;AACzC,cAAc,uBAAuB,CAAA;AACrC,cAAc,wCAAwC,CAAA;AACtD,cAAc,4BAA4B,CAAA;AAC1C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA","sourcesContent":["export * from './constants.js'\nexport * from './uri.js'\nexport * from './util.js'\n\nexport * from './atproto-loopback-client-id.js'\nexport * from './atproto-loopback-client-metadata.js'\nexport * from './atproto-loopback-client-redirect-uris.js'\nexport * from './atproto-oauth-scope.js'\nexport * from './atproto-oauth-token-response.js'\nexport * from './oauth-access-token.js'\nexport * from './oauth-authorization-code-grant-token-request.js'\nexport * from './oauth-authorization-details.js'\nexport * from './oauth-authorization-request-jar.js'\nexport * from './oauth-authorization-request-par.js'\nexport * from './oauth-authorization-request-parameters.js'\nexport * from './oauth-authorization-request-query.js'\nexport * from './oauth-authorization-request-uri.js'\nexport * from './oauth-authorization-response-error.js'\nexport * from './oauth-authorization-server-metadata.js'\nexport * from './oauth-client-credentials-grant-token-request.js'\nexport * from './oauth-client-credentials.js'\nexport * from './oauth-client-id-discoverable.js'\nexport * from './oauth-client-id-loopback.js'\nexport * from './oauth-client-id.js'\nexport * from './oauth-client-metadata.js'\nexport * from './oauth-endpoint-auth-method.js'\nexport * from './oauth-endpoint-name.js'\nexport * from './oauth-grant-type.js'\nexport * from './oauth-introspection-response.js'\nexport * from './oauth-issuer-identifier.js'\nexport * from './oauth-par-response.js'\nexport * from './oauth-password-grant-token-request.js'\nexport * from './oauth-prompt-mode.js'\nexport * from './oauth-protected-resource-metadata.js'\nexport * from './oauth-redirect-uri.js'\nexport * from './oauth-refresh-token-grant-token-request.js'\nexport * from './oauth-refresh-token.js'\nexport * from './oauth-request-uri.js'\nexport * from './oauth-response-mode.js'\nexport * from './oauth-response-type.js'\nexport * from './oauth-scope.js'\nexport * from './oauth-token-identification.js'\nexport * from './oauth-token-request.js'\nexport * from './oauth-token-response.js'\nexport * from './oauth-token-type.js'\nexport * from './oidc-authorization-error-response.js'\nexport * from './oidc-claims-parameter.js'\nexport * from './oidc-claims-properties.js'\nexport * from './oidc-entity-type.js'\nexport * from './oidc-userinfo.js'\n"]}
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.oauthAccessTokenSchema = void 0;
|
|
4
|
-
const zod_1 = require("zod");
|
|
5
|
-
exports.oauthAccessTokenSchema = zod_1.z.string().min(1);
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const oauthAccessTokenSchema = z.string().min(1);
|
|
6
3
|
//# sourceMappingURL=oauth-access-token.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-access-token.js","sourceRoot":"","sources":["../src/oauth-access-token.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"oauth-access-token.js","sourceRoot":"","sources":["../src/oauth-access-token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA","sourcesContent":["import { z } from 'zod'\n\nexport const oauthAccessTokenSchema = z.string().min(1)\nexport type OAuthAccessToken = z.infer<typeof oauthAccessTokenSchema>\n"]}
|
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
grant_type: zod_1.z.literal('authorization_code'),
|
|
8
|
-
code: zod_1.z.string().min(1),
|
|
9
|
-
redirect_uri: oauth_redirect_uri_js_1.oauthRedirectUriSchema,
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { oauthRedirectUriSchema } from './oauth-redirect-uri.js';
|
|
3
|
+
export const oauthAuthorizationCodeGrantTokenRequestSchema = z.object({
|
|
4
|
+
grant_type: z.literal('authorization_code'),
|
|
5
|
+
code: z.string().min(1),
|
|
6
|
+
redirect_uri: oauthRedirectUriSchema,
|
|
10
7
|
/** @see {@link https://datatracker.ietf.org/doc/html/rfc7636#section-4.1} */
|
|
11
|
-
code_verifier:
|
|
8
|
+
code_verifier: z
|
|
12
9
|
.string()
|
|
13
10
|
.min(43)
|
|
14
11
|
.max(128)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-authorization-code-grant-token-request.js","sourceRoot":"","sources":["../src/oauth-authorization-code-grant-token-request.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"oauth-authorization-code-grant-token-request.js","sourceRoot":"","sources":["../src/oauth-authorization-code-grant-token-request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAEhE,MAAM,CAAC,MAAM,6CAA6C,GAAG,CAAC,CAAC,MAAM,CAAC;IACpE,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC;IAC3C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,YAAY,EAAE,sBAAsB;IACpC,6EAA6E;IAC7E,aAAa,EAAE,CAAC;SACb,MAAM,EAAE;SACR,GAAG,CAAC,EAAE,CAAC;SACP,GAAG,CAAC,GAAG,CAAC;SACR,KAAK,CAAC,oBAAoB,CAAC;SAC3B,QAAQ,EAAE;CACd,CAAC,CAAA","sourcesContent":["import { z } from 'zod'\nimport { oauthRedirectUriSchema } from './oauth-redirect-uri.js'\n\nexport const oauthAuthorizationCodeGrantTokenRequestSchema = z.object({\n grant_type: z.literal('authorization_code'),\n code: z.string().min(1),\n redirect_uri: oauthRedirectUriSchema,\n /** @see {@link https://datatracker.ietf.org/doc/html/rfc7636#section-4.1} */\n code_verifier: z\n .string()\n .min(43)\n .max(128)\n .regex(/^[a-zA-Z0-9-._~]+$/)\n .optional(),\n})\n\nexport type OAuthAuthorizationCodeGrantTokenRequest = z.infer<\n typeof oauthAuthorizationCodeGrantTokenRequestSchema\n>\n"]}
|
|
@@ -1,40 +1,37 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.oauthAuthorizationDetailsSchema = exports.oauthAuthorizationDetailSchema = void 0;
|
|
4
|
-
const zod_1 = require("zod");
|
|
5
|
-
const uri_js_1 = require("./uri.js");
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { dangerousUriSchema } from './uri.js';
|
|
6
3
|
/**
|
|
7
4
|
* @see {@link https://datatracker.ietf.org/doc/html/rfc9396#section-2 | RFC 9396, Section 2}
|
|
8
5
|
*/
|
|
9
|
-
|
|
10
|
-
type:
|
|
6
|
+
export const oauthAuthorizationDetailSchema = z.object({
|
|
7
|
+
type: z.string(),
|
|
11
8
|
/**
|
|
12
9
|
* An array of strings representing the location of the resource or RS. These
|
|
13
10
|
* strings are typically URIs identifying the location of the RS.
|
|
14
11
|
*/
|
|
15
|
-
locations:
|
|
12
|
+
locations: z.array(dangerousUriSchema).optional(),
|
|
16
13
|
/**
|
|
17
14
|
* An array of strings representing the kinds of actions to be taken at the
|
|
18
15
|
* resource.
|
|
19
16
|
*/
|
|
20
|
-
actions:
|
|
17
|
+
actions: z.array(z.string()).optional(),
|
|
21
18
|
/**
|
|
22
19
|
* An array of strings representing the kinds of data being requested from the
|
|
23
20
|
* resource.
|
|
24
21
|
*/
|
|
25
|
-
datatypes:
|
|
22
|
+
datatypes: z.array(z.string()).optional(),
|
|
26
23
|
/**
|
|
27
24
|
* A string identifier indicating a specific resource available at the API.
|
|
28
25
|
*/
|
|
29
|
-
identifier:
|
|
26
|
+
identifier: z.string().optional(),
|
|
30
27
|
/**
|
|
31
28
|
* An array of strings representing the types or levels of privilege being
|
|
32
29
|
* requested at the resource.
|
|
33
30
|
*/
|
|
34
|
-
privileges:
|
|
31
|
+
privileges: z.array(z.string()).optional(),
|
|
35
32
|
});
|
|
36
33
|
/**
|
|
37
34
|
* @see {@link https://datatracker.ietf.org/doc/html/rfc9396#section-2 | RFC 9396, Section 2}
|
|
38
35
|
*/
|
|
39
|
-
|
|
36
|
+
export const oauthAuthorizationDetailsSchema = z.array(oauthAuthorizationDetailSchema);
|
|
40
37
|
//# sourceMappingURL=oauth-authorization-details.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-authorization-details.js","sourceRoot":"","sources":["../src/oauth-authorization-details.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"oauth-authorization-details.js","sourceRoot":"","sources":["../src/oauth-authorization-details.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAE7C;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IACrD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB;;;OAGG;IACH,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE;IACjD;;;OAGG;IACH,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACvC;;;OAGG;IACH,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACzC;;OAEG;IACH,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC;;;OAGG;IACH,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAA;AAMF;;GAEG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CACpD,8BAA8B,CAC/B,CAAA","sourcesContent":["import { z } from 'zod'\nimport { dangerousUriSchema } from './uri.js'\n\n/**\n * @see {@link https://datatracker.ietf.org/doc/html/rfc9396#section-2 | RFC 9396, Section 2}\n */\nexport const oauthAuthorizationDetailSchema = z.object({\n type: z.string(),\n /**\n * An array of strings representing the location of the resource or RS. These\n * strings are typically URIs identifying the location of the RS.\n */\n locations: z.array(dangerousUriSchema).optional(),\n /**\n * An array of strings representing the kinds of actions to be taken at the\n * resource.\n */\n actions: z.array(z.string()).optional(),\n /**\n * An array of strings representing the kinds of data being requested from the\n * resource.\n */\n datatypes: z.array(z.string()).optional(),\n /**\n * A string identifier indicating a specific resource available at the API.\n */\n identifier: z.string().optional(),\n /**\n * An array of strings representing the types or levels of privilege being\n * requested at the resource.\n */\n privileges: z.array(z.string()).optional(),\n})\n\nexport type OAuthAuthorizationDetail = z.infer<\n typeof oauthAuthorizationDetailSchema\n>\n\n/**\n * @see {@link https://datatracker.ietf.org/doc/html/rfc9396#section-2 | RFC 9396, Section 2}\n */\nexport const oauthAuthorizationDetailsSchema = z.array(\n oauthAuthorizationDetailSchema,\n)\n\nexport type OAuthAuthorizationDetails = z.infer<\n typeof oauthAuthorizationDetailsSchema\n>\n"]}
|
|
@@ -1,15 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const zod_1 = require("zod");
|
|
5
|
-
const jwk_1 = require("@atproto/jwk");
|
|
6
|
-
exports.oauthAuthorizationRequestJarSchema = zod_1.z.object({
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { signedJwtSchema, unsignedJwtSchema } from '@atproto/jwk';
|
|
3
|
+
export const oauthAuthorizationRequestJarSchema = z.object({
|
|
7
4
|
/**
|
|
8
5
|
* AuthorizationRequest inside a JWT:
|
|
9
6
|
* - "iat" is required and **MUST** be less than one minute
|
|
10
7
|
*
|
|
11
8
|
* @see {@link https://datatracker.ietf.org/doc/html/rfc9101}
|
|
12
9
|
*/
|
|
13
|
-
request:
|
|
10
|
+
request: z.union([signedJwtSchema, unsignedJwtSchema]),
|
|
14
11
|
});
|
|
15
12
|
//# sourceMappingURL=oauth-authorization-request-jar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-authorization-request-jar.js","sourceRoot":"","sources":["../src/oauth-authorization-request-jar.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"oauth-authorization-request-jar.js","sourceRoot":"","sources":["../src/oauth-authorization-request-jar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAEjE,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,CAAC,MAAM,CAAC;IACzD;;;;;OAKG;IACH,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;CACvD,CAAC,CAAA","sourcesContent":["import { z } from 'zod'\nimport { signedJwtSchema, unsignedJwtSchema } from '@atproto/jwk'\n\nexport const oauthAuthorizationRequestJarSchema = z.object({\n /**\n * AuthorizationRequest inside a JWT:\n * - \"iat\" is required and **MUST** be less than one minute\n *\n * @see {@link https://datatracker.ietf.org/doc/html/rfc9101}\n */\n request: z.union([signedJwtSchema, unsignedJwtSchema]),\n})\n\nexport type OAuthAuthorizationRequestJar = z.infer<\n typeof oauthAuthorizationRequestJarSchema\n>\n"]}
|