@atproto/oauth-types 0.2.5 → 0.2.6
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 +8 -0
- package/dist/atproto-loopback-client-metadata.d.ts.map +1 -1
- package/dist/atproto-loopback-client-metadata.js +0 -1
- package/dist/atproto-loopback-client-metadata.js.map +1 -1
- package/dist/oauth-client-id-discoverable.d.ts +3 -0
- package/dist/oauth-client-id-discoverable.d.ts.map +1 -1
- package/dist/oauth-client-id-discoverable.js +30 -1
- package/dist/oauth-client-id-discoverable.js.map +1 -1
- package/package.json +1 -1
- package/src/atproto-loopback-client-metadata.ts +0 -1
- package/src/oauth-client-id-discoverable.ts +43 -0
package/CHANGELOG.md
CHANGED
@@ -1,5 +1,13 @@
|
|
1
1
|
# @atproto/oauth-types
|
2
2
|
|
3
|
+
## 0.2.6
|
4
|
+
|
5
|
+
### Patch Changes
|
6
|
+
|
7
|
+
- [#3764](https://github.com/bluesky-social/atproto/pull/3764) [`30f9b6690`](https://github.com/bluesky-social/atproto/commit/30f9b6690e0e2c5810772e94e631322b9d89c65a) Thanks [@matthieusieben](https://github.com/matthieusieben)! - Add definition for `ConventionalOAuthClientId`
|
8
|
+
|
9
|
+
- [#3764](https://github.com/bluesky-social/atproto/pull/3764) [`30f9b6690`](https://github.com/bluesky-social/atproto/commit/30f9b6690e0e2c5810772e94e631322b9d89c65a) Thanks [@matthieusieben](https://github.com/matthieusieben)! - Remove hard coded `client_name` from loopback client metadata
|
10
|
+
|
3
11
|
## 0.2.5
|
4
12
|
|
5
13
|
### Patch Changes
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"atproto-loopback-client-metadata.d.ts","sourceRoot":"","sources":["../src/atproto-loopback-client-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EAEtB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AAErE,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,MAAM,GACf,wBAAwB,GAAG;IAC5B,SAAS,EAAE,qBAAqB,CAAA;CACjC,
|
1
|
+
{"version":3,"file":"atproto-loopback-client-metadata.d.ts","sourceRoot":"","sources":["../src/atproto-loopback-client-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EAEtB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AAErE,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,MAAM,GACf,wBAAwB,GAAG;IAC5B,SAAS,EAAE,qBAAqB,CAAA;CACjC,CAgBA"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"atproto-loopback-client-metadata.js","sourceRoot":"","sources":["../src/atproto-loopback-client-metadata.ts"],"names":[],"mappings":";;AAMA,
|
1
|
+
{"version":3,"file":"atproto-loopback-client-metadata.js","sourceRoot":"","sources":["../src/atproto-loopback-client-metadata.ts"],"names":[],"mappings":";;AAMA,sEAoBC;AA1BD,+EAGsC;AAGtC,SAAgB,6BAA6B,CAC3C,QAAgB;IAIhB,MAAM,EACJ,KAAK,GAAG,SAAS,EACjB,aAAa,GAAG,CAAC,mBAAmB,EAAE,eAAe,CAAC,GACvD,GAAG,IAAA,wDAA0B,EAAC,QAAQ,CAAC,CAAA;IAExC,OAAO;QACL,SAAS,EAAE,QAAiC;QAC5C,KAAK;QACL,aAAa;QACb,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"}
|
@@ -5,6 +5,9 @@ import { TypeOf, z } from 'zod';
|
|
5
5
|
export declare const oauthClientIdDiscoverableSchema: z.ZodEffects<z.ZodIntersection<z.ZodString, z.ZodEffects<z.ZodEffects<z.ZodString, `${string}:${string}`, string>, `https://${string}`, string>>, `https://${string}/${string}`, string>;
|
6
6
|
export type OAuthClientIdDiscoverable = TypeOf<typeof oauthClientIdDiscoverableSchema>;
|
7
7
|
export declare function isOAuthClientIdDiscoverable(clientId: string): clientId is OAuthClientIdDiscoverable;
|
8
|
+
export declare const conventionalOAuthClientIdSchema: z.ZodEffects<z.ZodEffects<z.ZodIntersection<z.ZodString, z.ZodEffects<z.ZodEffects<z.ZodString, `${string}:${string}`, string>, `https://${string}`, string>>, `https://${string}/${string}`, string>, `https://${string}/oauth-client-metadata.json`, string>;
|
9
|
+
export type ConventionalOAuthClientId = TypeOf<typeof conventionalOAuthClientIdSchema>;
|
10
|
+
export declare function isConventionalOAuthClientId(clientId: string): clientId is ConventionalOAuthClientId;
|
8
11
|
export declare function assertOAuthDiscoverableClientId(value: string): asserts value is OAuthClientIdDiscoverable;
|
9
12
|
export declare function parseOAuthDiscoverableClientId(clientId: string): URL;
|
10
13
|
//# sourceMappingURL=oauth-client-id-discoverable.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"oauth-client-id-discoverable.d.ts","sourceRoot":"","sources":["../src/oauth-client-id-discoverable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAK/B;;GAEG;AACH,eAAO,MAAM,+BAA+B,0LA0DxC,CAAA;AAEJ,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAC5C,OAAO,+BAA+B,CACvC,CAAA;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,MAAM,GACf,QAAQ,IAAI,yBAAyB,CAEvC;AAED,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,KAAK,IAAI,yBAAyB,CAE5C;AAED,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAEpE"}
|
1
|
+
{"version":3,"file":"oauth-client-id-discoverable.d.ts","sourceRoot":"","sources":["../src/oauth-client-id-discoverable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAK/B;;GAEG;AACH,eAAO,MAAM,+BAA+B,0LA0DxC,CAAA;AAEJ,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAC5C,OAAO,+BAA+B,CACvC,CAAA;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,MAAM,GACf,QAAQ,IAAI,yBAAyB,CAEvC;AAED,eAAO,MAAM,+BAA+B,gQA+BzC,CAAA;AAEH,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAC5C,OAAO,+BAA+B,CACvC,CAAA;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,MAAM,GACf,QAAQ,IAAI,yBAAyB,CAEvC;AAED,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,KAAK,IAAI,yBAAyB,CAE5C;AAED,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAEpE"}
|
@@ -1,7 +1,8 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.oauthClientIdDiscoverableSchema = void 0;
|
3
|
+
exports.conventionalOAuthClientIdSchema = exports.oauthClientIdDiscoverableSchema = void 0;
|
4
4
|
exports.isOAuthClientIdDiscoverable = isOAuthClientIdDiscoverable;
|
5
|
+
exports.isConventionalOAuthClientId = isConventionalOAuthClientId;
|
5
6
|
exports.assertOAuthDiscoverableClientId = assertOAuthDiscoverableClientId;
|
6
7
|
exports.parseOAuthDiscoverableClientId = parseOAuthDiscoverableClientId;
|
7
8
|
const zod_1 = require("zod");
|
@@ -65,6 +66,34 @@ exports.oauthClientIdDiscoverableSchema = zod_1.z
|
|
65
66
|
function isOAuthClientIdDiscoverable(clientId) {
|
66
67
|
return exports.oauthClientIdDiscoverableSchema.safeParse(clientId).success;
|
67
68
|
}
|
69
|
+
exports.conventionalOAuthClientIdSchema = exports.oauthClientIdDiscoverableSchema.superRefine((value, ctx) => {
|
70
|
+
const url = new URL(value);
|
71
|
+
if (url.port) {
|
72
|
+
ctx.addIssue({
|
73
|
+
code: zod_1.z.ZodIssueCode.custom,
|
74
|
+
message: 'ClientID must not contain a port',
|
75
|
+
});
|
76
|
+
return false;
|
77
|
+
}
|
78
|
+
if (url.search) {
|
79
|
+
ctx.addIssue({
|
80
|
+
code: zod_1.z.ZodIssueCode.custom,
|
81
|
+
message: 'ClientID must not contain a query string',
|
82
|
+
});
|
83
|
+
return false;
|
84
|
+
}
|
85
|
+
if (url.pathname !== '/oauth-client-metadata.json') {
|
86
|
+
ctx.addIssue({
|
87
|
+
code: zod_1.z.ZodIssueCode.custom,
|
88
|
+
message: 'ClientID must be "/oauth-client-metadata.json"',
|
89
|
+
});
|
90
|
+
return false;
|
91
|
+
}
|
92
|
+
return true;
|
93
|
+
});
|
94
|
+
function isConventionalOAuthClientId(clientId) {
|
95
|
+
return exports.conventionalOAuthClientIdSchema.safeParse(clientId).success;
|
96
|
+
}
|
68
97
|
function assertOAuthDiscoverableClientId(value) {
|
69
98
|
void exports.oauthClientIdDiscoverableSchema.parse(value);
|
70
99
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"oauth-client-id-discoverable.js","sourceRoot":"","sources":["../src/oauth-client-id-discoverable.ts"],"names":[],"mappings":";;;AAwEA,kEAIC;AAED,0EAIC;AAED,wEAEC;
|
1
|
+
{"version":3,"file":"oauth-client-id-discoverable.js","sourceRoot":"","sources":["../src/oauth-client-id-discoverable.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -18,7 +18,6 @@ export function atprotoLoopbackClientMetadata(
|
|
18
18
|
client_id: clientId as OAuthClientIdLoopback,
|
19
19
|
scope,
|
20
20
|
redirect_uris,
|
21
|
-
client_name: 'Loopback client',
|
22
21
|
response_types: ['code'],
|
23
22
|
grant_types: ['authorization_code', 'refresh_token'],
|
24
23
|
token_endpoint_auth_method: 'none',
|
@@ -76,6 +76,49 @@ export function isOAuthClientIdDiscoverable(
|
|
76
76
|
return oauthClientIdDiscoverableSchema.safeParse(clientId).success
|
77
77
|
}
|
78
78
|
|
79
|
+
export const conventionalOAuthClientIdSchema =
|
80
|
+
oauthClientIdDiscoverableSchema.superRefine(
|
81
|
+
(value, ctx): value is `https://${string}/oauth-client-metadata.json` => {
|
82
|
+
const url = new URL(value)
|
83
|
+
|
84
|
+
if (url.port) {
|
85
|
+
ctx.addIssue({
|
86
|
+
code: z.ZodIssueCode.custom,
|
87
|
+
message: 'ClientID must not contain a port',
|
88
|
+
})
|
89
|
+
return false
|
90
|
+
}
|
91
|
+
|
92
|
+
if (url.search) {
|
93
|
+
ctx.addIssue({
|
94
|
+
code: z.ZodIssueCode.custom,
|
95
|
+
message: 'ClientID must not contain a query string',
|
96
|
+
})
|
97
|
+
return false
|
98
|
+
}
|
99
|
+
|
100
|
+
if (url.pathname !== '/oauth-client-metadata.json') {
|
101
|
+
ctx.addIssue({
|
102
|
+
code: z.ZodIssueCode.custom,
|
103
|
+
message: 'ClientID must be "/oauth-client-metadata.json"',
|
104
|
+
})
|
105
|
+
return false
|
106
|
+
}
|
107
|
+
|
108
|
+
return true
|
109
|
+
},
|
110
|
+
)
|
111
|
+
|
112
|
+
export type ConventionalOAuthClientId = TypeOf<
|
113
|
+
typeof conventionalOAuthClientIdSchema
|
114
|
+
>
|
115
|
+
|
116
|
+
export function isConventionalOAuthClientId(
|
117
|
+
clientId: string,
|
118
|
+
): clientId is ConventionalOAuthClientId {
|
119
|
+
return conventionalOAuthClientIdSchema.safeParse(clientId).success
|
120
|
+
}
|
121
|
+
|
79
122
|
export function assertOAuthDiscoverableClientId(
|
80
123
|
value: string,
|
81
124
|
): asserts value is OAuthClientIdDiscoverable {
|