@atcute/oauth-types 0.1.1 → 1.0.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/README.md +6 -5
- package/dist/build-client-metadata.d.ts +5 -320
- package/dist/build-client-metadata.d.ts.map +1 -1
- package/dist/build-client-metadata.js +3 -2
- package/dist/build-client-metadata.js.map +1 -1
- package/dist/index.d.ts +31 -31
- package/dist/schemas/atcute-client-shared.d.ts +8 -0
- package/dist/schemas/atcute-client-shared.d.ts.map +1 -0
- package/dist/schemas/atcute-client-shared.js +15 -0
- package/dist/schemas/atcute-client-shared.js.map +1 -0
- package/dist/schemas/atcute-confidential-client-metadata.d.ts +228 -4
- package/dist/schemas/atcute-confidential-client-metadata.d.ts.map +1 -1
- package/dist/schemas/atcute-confidential-client-metadata.js +48 -88
- package/dist/schemas/atcute-confidential-client-metadata.js.map +1 -1
- package/dist/schemas/atcute-public-client-metadata.d.ts +75 -35
- package/dist/schemas/atcute-public-client-metadata.d.ts.map +1 -1
- package/dist/schemas/atcute-public-client-metadata.js +25 -110
- package/dist/schemas/atcute-public-client-metadata.js.map +1 -1
- package/dist/schemas/atproto-authorization-server-metadata.d.ts +786 -4
- package/dist/schemas/atproto-authorization-server-metadata.d.ts.map +1 -1
- package/dist/schemas/atproto-authorization-server-metadata.js +2 -18
- package/dist/schemas/atproto-authorization-server-metadata.js.map +1 -1
- package/dist/schemas/atproto-oauth-scope.d.ts +3 -3
- package/dist/schemas/atproto-oauth-scope.d.ts.map +1 -1
- package/dist/schemas/atproto-oauth-scope.js +2 -2
- package/dist/schemas/atproto-oauth-scope.js.map +1 -1
- package/dist/schemas/atproto-oauth-token-response.d.ts +17 -17
- package/dist/schemas/atproto-oauth-token-response.d.ts.map +1 -1
- package/dist/schemas/atproto-oauth-token-response.js +6 -6
- package/dist/schemas/atproto-oauth-token-response.js.map +1 -1
- package/dist/schemas/atproto-protected-resource-metadata.d.ts +100 -4
- package/dist/schemas/atproto-protected-resource-metadata.d.ts.map +1 -1
- package/dist/schemas/atproto-protected-resource-metadata.js +2 -11
- package/dist/schemas/atproto-protected-resource-metadata.js.map +1 -1
- package/dist/schemas/jwk.d.ts +4289 -42
- package/dist/schemas/jwk.d.ts.map +1 -1
- package/dist/schemas/jwk.js +58 -91
- package/dist/schemas/jwk.js.map +1 -1
- package/dist/schemas/jwks.d.ts +87 -42
- package/dist/schemas/jwks.d.ts.map +1 -1
- package/dist/schemas/jwks.js +13 -29
- package/dist/schemas/jwks.js.map +1 -1
- package/dist/schemas/oauth-authorization-details.d.ts +18 -18
- package/dist/schemas/oauth-authorization-details.d.ts.map +1 -1
- package/dist/schemas/oauth-authorization-details.js +7 -7
- package/dist/schemas/oauth-authorization-details.js.map +1 -1
- package/dist/schemas/oauth-authorization-server-metadata.d.ts +462 -48
- package/dist/schemas/oauth-authorization-server-metadata.d.ts.map +1 -1
- package/dist/schemas/oauth-authorization-server-metadata.js +46 -65
- package/dist/schemas/oauth-authorization-server-metadata.js.map +1 -1
- package/dist/schemas/oauth-client-id-discoverable.d.ts +2 -2
- package/dist/schemas/oauth-client-id-discoverable.d.ts.map +1 -1
- package/dist/schemas/oauth-client-id-discoverable.js +20 -22
- package/dist/schemas/oauth-client-id-discoverable.js.map +1 -1
- package/dist/schemas/oauth-client-id.d.ts +3 -3
- package/dist/schemas/oauth-client-id.d.ts.map +1 -1
- package/dist/schemas/oauth-client-id.js +2 -2
- package/dist/schemas/oauth-client-id.js.map +1 -1
- package/dist/schemas/oauth-client-metadata.d.ts +73 -51
- package/dist/schemas/oauth-client-metadata.d.ts.map +1 -1
- package/dist/schemas/oauth-client-metadata.js +33 -40
- package/dist/schemas/oauth-client-metadata.js.map +1 -1
- package/dist/schemas/oauth-code-challenge-method.d.ts +3 -3
- package/dist/schemas/oauth-code-challenge-method.d.ts.map +1 -1
- package/dist/schemas/oauth-code-challenge-method.js +2 -2
- package/dist/schemas/oauth-code-challenge-method.js.map +1 -1
- package/dist/schemas/oauth-endpoint-auth-method.d.ts +3 -3
- package/dist/schemas/oauth-endpoint-auth-method.d.ts.map +1 -1
- package/dist/schemas/oauth-endpoint-auth-method.js +10 -2
- package/dist/schemas/oauth-endpoint-auth-method.js.map +1 -1
- package/dist/schemas/oauth-grant-type.d.ts +3 -3
- package/dist/schemas/oauth-grant-type.d.ts.map +1 -1
- package/dist/schemas/oauth-grant-type.js +10 -3
- package/dist/schemas/oauth-grant-type.js.map +1 -1
- package/dist/schemas/oauth-issuer-identifier.d.ts +3 -3
- package/dist/schemas/oauth-issuer-identifier.d.ts.map +1 -1
- package/dist/schemas/oauth-issuer-identifier.js +16 -9
- package/dist/schemas/oauth-issuer-identifier.js.map +1 -1
- package/dist/schemas/oauth-par-response.d.ts +5 -5
- package/dist/schemas/oauth-par-response.d.ts.map +1 -1
- package/dist/schemas/oauth-par-response.js +3 -3
- package/dist/schemas/oauth-par-response.js.map +1 -1
- package/dist/schemas/oauth-prompt.d.ts +3 -3
- package/dist/schemas/oauth-prompt.d.ts.map +1 -1
- package/dist/schemas/oauth-prompt.js +2 -2
- package/dist/schemas/oauth-prompt.js.map +1 -1
- package/dist/schemas/oauth-protected-resource-metadata.d.ts +88 -16
- package/dist/schemas/oauth-protected-resource-metadata.d.ts.map +1 -1
- package/dist/schemas/oauth-protected-resource-metadata.js +14 -26
- package/dist/schemas/oauth-protected-resource-metadata.js.map +1 -1
- package/dist/schemas/oauth-redirect-uri.d.ts +5 -5
- package/dist/schemas/oauth-redirect-uri.d.ts.map +1 -1
- package/dist/schemas/oauth-redirect-uri.js +3 -16
- package/dist/schemas/oauth-redirect-uri.js.map +1 -1
- package/dist/schemas/oauth-response-mode.d.ts +3 -3
- package/dist/schemas/oauth-response-mode.d.ts.map +1 -1
- package/dist/schemas/oauth-response-mode.js +2 -2
- package/dist/schemas/oauth-response-mode.js.map +1 -1
- package/dist/schemas/oauth-response-type.d.ts +3 -3
- package/dist/schemas/oauth-response-type.d.ts.map +1 -1
- package/dist/schemas/oauth-response-type.js +13 -7
- package/dist/schemas/oauth-response-type.js.map +1 -1
- package/dist/schemas/oauth-scope.d.ts +3 -3
- package/dist/schemas/oauth-scope.d.ts.map +1 -1
- package/dist/schemas/oauth-scope.js +2 -2
- package/dist/schemas/oauth-scope.js.map +1 -1
- package/dist/schemas/oauth-token-response.d.ts +17 -17
- package/dist/schemas/oauth-token-response.d.ts.map +1 -1
- package/dist/schemas/oauth-token-response.js +7 -7
- package/dist/schemas/oauth-token-response.js.map +1 -1
- package/dist/schemas/oauth-token-type.d.ts +3 -3
- package/dist/schemas/oauth-token-type.d.ts.map +1 -1
- package/dist/schemas/oauth-token-type.js +8 -7
- package/dist/schemas/oauth-token-type.js.map +1 -1
- package/dist/schemas/uri.d.ts +7 -7
- package/dist/schemas/uri.d.ts.map +1 -1
- package/dist/schemas/uri.js +44 -44
- package/dist/schemas/uri.js.map +1 -1
- package/dist/schemas/utils.d.ts.map +1 -1
- package/dist/schemas/utils.js.map +1 -1
- package/dist/scope.d.ts.map +1 -1
- package/dist/scope.js.map +1 -1
- package/lib/build-client-metadata.ts +9 -7
- package/lib/index.ts +31 -31
- package/lib/schemas/atcute-client-shared.ts +25 -0
- package/lib/schemas/atcute-confidential-client-metadata.ts +81 -111
- package/lib/schemas/atcute-public-client-metadata.ts +70 -166
- package/lib/schemas/atproto-authorization-server-metadata.ts +22 -23
- package/lib/schemas/atproto-oauth-scope.ts +8 -5
- package/lib/schemas/atproto-oauth-token-response.ts +10 -9
- package/lib/schemas/atproto-protected-resource-metadata.ts +15 -15
- package/lib/schemas/jwk.ts +104 -120
- package/lib/schemas/jwks.ts +28 -40
- package/lib/schemas/oauth-authorization-details.ts +10 -10
- package/lib/schemas/oauth-authorization-server-metadata.ts +72 -74
- package/lib/schemas/oauth-client-id-discoverable.ts +43 -48
- package/lib/schemas/oauth-client-id.ts +3 -3
- package/lib/schemas/oauth-client-metadata.ts +45 -49
- package/lib/schemas/oauth-code-challenge-method.ts +3 -3
- package/lib/schemas/oauth-endpoint-auth-method.ts +11 -11
- package/lib/schemas/oauth-grant-type.ts +11 -11
- package/lib/schemas/oauth-issuer-identifier.ts +35 -27
- package/lib/schemas/oauth-par-response.ts +4 -4
- package/lib/schemas/oauth-prompt.ts +3 -9
- package/lib/schemas/oauth-protected-resource-metadata.ts +26 -35
- package/lib/schemas/oauth-redirect-uri.ts +15 -23
- package/lib/schemas/oauth-response-mode.ts +3 -7
- package/lib/schemas/oauth-response-type.ts +12 -12
- package/lib/schemas/oauth-scope.ts +3 -3
- package/lib/schemas/oauth-token-response.ts +10 -10
- package/lib/schemas/oauth-token-type.ts +16 -12
- package/lib/schemas/uri.ts +89 -76
- package/package.json +9 -8
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as v from '
|
|
1
|
+
import * as v from 'valibot';
|
|
2
2
|
import { oauthCodeChallengeMethodSchema } from './oauth-code-challenge-method.js';
|
|
3
3
|
import { oauthIssuerIdentifierSchema } from './oauth-issuer-identifier.js';
|
|
4
4
|
import { oauthPromptSchema } from './oauth-prompt.js';
|
|
@@ -6,76 +6,57 @@ import { webUriSchema } from './uri.js';
|
|
|
6
6
|
/**
|
|
7
7
|
* @see {@link https://datatracker.ietf.org/doc/html/rfc8414}
|
|
8
8
|
*/
|
|
9
|
-
export const oauthAuthorizationServerMetadataSchema = v.
|
|
9
|
+
export const oauthAuthorizationServerMetadataSchema = v.looseObject({
|
|
10
10
|
issuer: oauthIssuerIdentifierSchema,
|
|
11
|
-
claims_supported: v.array(v.string())
|
|
12
|
-
claims_locales_supported: v.array(v.string())
|
|
13
|
-
claims_parameter_supported: v.
|
|
14
|
-
request_parameter_supported: v.
|
|
15
|
-
request_uri_parameter_supported: v.
|
|
16
|
-
require_request_uri_registration: v.
|
|
17
|
-
scopes_supported: v.array(v.string())
|
|
18
|
-
subject_types_supported: v.array(v.string())
|
|
19
|
-
response_types_supported: v.array(v.string())
|
|
20
|
-
response_modes_supported: v.array(v.string())
|
|
21
|
-
grant_types_supported: v.array(v.string())
|
|
22
|
-
code_challenge_methods_supported: v.array(oauthCodeChallengeMethodSchema)
|
|
23
|
-
ui_locales_supported: v.array(v.string())
|
|
24
|
-
id_token_signing_alg_values_supported: v.array(v.string())
|
|
25
|
-
display_values_supported: v.array(v.string())
|
|
26
|
-
prompt_values_supported: v.array(oauthPromptSchema)
|
|
27
|
-
request_object_signing_alg_values_supported: v.array(v.string())
|
|
28
|
-
authorization_response_iss_parameter_supported: v.
|
|
29
|
-
authorization_details_types_supported: v.array(v.string())
|
|
30
|
-
request_object_encryption_alg_values_supported: v.array(v.string())
|
|
31
|
-
request_object_encryption_enc_values_supported: v.array(v.string())
|
|
32
|
-
jwks_uri:
|
|
11
|
+
claims_supported: v.optional(v.array(v.string())),
|
|
12
|
+
claims_locales_supported: v.optional(v.array(v.string())),
|
|
13
|
+
claims_parameter_supported: v.optional(v.boolean()),
|
|
14
|
+
request_parameter_supported: v.optional(v.boolean()),
|
|
15
|
+
request_uri_parameter_supported: v.optional(v.boolean()),
|
|
16
|
+
require_request_uri_registration: v.optional(v.boolean()),
|
|
17
|
+
scopes_supported: v.optional(v.array(v.string())),
|
|
18
|
+
subject_types_supported: v.optional(v.array(v.string())),
|
|
19
|
+
response_types_supported: v.optional(v.array(v.string())),
|
|
20
|
+
response_modes_supported: v.optional(v.array(v.string())),
|
|
21
|
+
grant_types_supported: v.optional(v.array(v.string())),
|
|
22
|
+
code_challenge_methods_supported: v.optional(v.array(oauthCodeChallengeMethodSchema)),
|
|
23
|
+
ui_locales_supported: v.optional(v.array(v.string())),
|
|
24
|
+
id_token_signing_alg_values_supported: v.optional(v.array(v.string())),
|
|
25
|
+
display_values_supported: v.optional(v.array(v.string())),
|
|
26
|
+
prompt_values_supported: v.optional(v.array(oauthPromptSchema)),
|
|
27
|
+
request_object_signing_alg_values_supported: v.optional(v.array(v.string())),
|
|
28
|
+
authorization_response_iss_parameter_supported: v.optional(v.boolean()),
|
|
29
|
+
authorization_details_types_supported: v.optional(v.array(v.string())),
|
|
30
|
+
request_object_encryption_alg_values_supported: v.optional(v.array(v.string())),
|
|
31
|
+
request_object_encryption_enc_values_supported: v.optional(v.array(v.string())),
|
|
32
|
+
jwks_uri: v.optional(webUriSchema),
|
|
33
33
|
authorization_endpoint: webUriSchema,
|
|
34
34
|
token_endpoint: webUriSchema,
|
|
35
35
|
// https://www.rfc-editor.org/rfc/rfc8414.html#section-2
|
|
36
|
-
token_endpoint_auth_methods_supported: v.array(v.string())
|
|
37
|
-
token_endpoint_auth_signing_alg_values_supported: v.array(v.string())
|
|
38
|
-
revocation_endpoint:
|
|
39
|
-
revocation_endpoint_auth_methods_supported: v.array(v.string())
|
|
40
|
-
revocation_endpoint_auth_signing_alg_values_supported: v.array(v.string())
|
|
41
|
-
introspection_endpoint:
|
|
42
|
-
introspection_endpoint_auth_methods_supported: v.array(v.string())
|
|
43
|
-
introspection_endpoint_auth_signing_alg_values_supported: v.array(v.string())
|
|
44
|
-
pushed_authorization_request_endpoint:
|
|
45
|
-
pushed_authorization_request_endpoint_auth_methods_supported: v.array(v.string())
|
|
46
|
-
pushed_authorization_request_endpoint_auth_signing_alg_values_supported: v.array(v.string())
|
|
47
|
-
require_pushed_authorization_requests: v.
|
|
48
|
-
userinfo_endpoint:
|
|
49
|
-
end_session_endpoint:
|
|
50
|
-
registration_endpoint:
|
|
36
|
+
token_endpoint_auth_methods_supported: v.optional(v.array(v.string())),
|
|
37
|
+
token_endpoint_auth_signing_alg_values_supported: v.optional(v.array(v.string())),
|
|
38
|
+
revocation_endpoint: v.optional(webUriSchema),
|
|
39
|
+
revocation_endpoint_auth_methods_supported: v.optional(v.array(v.string())),
|
|
40
|
+
revocation_endpoint_auth_signing_alg_values_supported: v.optional(v.array(v.string())),
|
|
41
|
+
introspection_endpoint: v.optional(webUriSchema),
|
|
42
|
+
introspection_endpoint_auth_methods_supported: v.optional(v.array(v.string())),
|
|
43
|
+
introspection_endpoint_auth_signing_alg_values_supported: v.optional(v.array(v.string())),
|
|
44
|
+
pushed_authorization_request_endpoint: v.optional(webUriSchema),
|
|
45
|
+
pushed_authorization_request_endpoint_auth_methods_supported: v.optional(v.array(v.string())),
|
|
46
|
+
pushed_authorization_request_endpoint_auth_signing_alg_values_supported: v.optional(v.array(v.string())),
|
|
47
|
+
require_pushed_authorization_requests: v.optional(v.boolean()),
|
|
48
|
+
userinfo_endpoint: v.optional(webUriSchema),
|
|
49
|
+
end_session_endpoint: v.optional(webUriSchema),
|
|
50
|
+
registration_endpoint: v.optional(webUriSchema),
|
|
51
51
|
// https://datatracker.ietf.org/doc/html/rfc9449#section-5.1
|
|
52
|
-
dpop_signing_alg_values_supported: v.array(v.string())
|
|
52
|
+
dpop_signing_alg_values_supported: v.optional(v.array(v.string())),
|
|
53
53
|
// https://www.rfc-editor.org/rfc/rfc9728.html#section-4
|
|
54
|
-
protected_resources: v.array(webUriSchema)
|
|
54
|
+
protected_resources: v.optional(v.array(webUriSchema)),
|
|
55
55
|
// https://www.ietf.org/archive/id/draft-ietf-oauth-client-id-metadata-document-00.html
|
|
56
|
-
client_id_metadata_document_supported: v.
|
|
57
|
-
});
|
|
58
|
-
export const oauthAuthorizationServerMetadataValidator = oauthAuthorizationServerMetadataSchema.chain((data) => {
|
|
59
|
-
if (data.require_pushed_authorization_requests && !data.pushed_authorization_request_endpoint) {
|
|
60
|
-
return v.err({
|
|
61
|
-
message: `"pushed_authorization_request_endpoint" required when "require_pushed_authorization_requests" is true`,
|
|
62
|
-
path: ['pushed_authorization_request_endpoint'],
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
if (data.response_types_supported && !data.response_types_supported.includes('code')) {
|
|
66
|
-
return v.err({
|
|
67
|
-
message: `response type "code" is required`,
|
|
68
|
-
path: ['response_types_supported'],
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
if (data.token_endpoint_auth_signing_alg_values_supported?.includes('none')) {
|
|
72
|
-
// https://openid.net/specs/openid-connect-discovery-1_0.html#rfc.section.3
|
|
73
|
-
// > The value `none` MUST NOT be used.
|
|
74
|
-
return v.err({
|
|
75
|
-
message: `client authentication method "none" is not allowed`,
|
|
76
|
-
path: ['token_endpoint_auth_signing_alg_values_supported'],
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
return v.ok(data);
|
|
56
|
+
client_id_metadata_document_supported: v.optional(v.boolean()),
|
|
80
57
|
});
|
|
58
|
+
export const oauthAuthorizationServerMetadataValidator = v.pipe(oauthAuthorizationServerMetadataSchema, v.forward(v.check((data) => !data.require_pushed_authorization_requests || !!data.pushed_authorization_request_endpoint, `"pushed_authorization_request_endpoint" required when "require_pushed_authorization_requests" is true`), ['pushed_authorization_request_endpoint']), v.forward(v.check((data) => !data.response_types_supported || data.response_types_supported.includes('code'), `response type "code" is required`), ['response_types_supported']), v.forward(v.check((data) => !data.token_endpoint_auth_signing_alg_values_supported?.includes('none'),
|
|
59
|
+
// https://openid.net/specs/openid-connect-discovery-1_0.html#rfc.section.3
|
|
60
|
+
// > The value `none` MUST NOT be used.
|
|
61
|
+
`client authentication method "none" is not allowed`), ['token_endpoint_auth_signing_alg_values_supported']));
|
|
81
62
|
//# sourceMappingURL=oauth-authorization-server-metadata.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-authorization-server-metadata.js","sourceRoot":"","sources":["../../lib/schemas/oauth-authorization-server-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"oauth-authorization-server-metadata.js","sourceRoot":"","sources":["../../lib/schemas/oauth-authorization-server-metadata.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import * as v from '
|
|
1
|
+
import * as v from 'valibot';
|
|
2
2
|
/**
|
|
3
3
|
* @see {@link https://www.ietf.org/archive/id/draft-ietf-oauth-client-id-metadata-document-00.html}
|
|
4
4
|
*/
|
|
5
|
-
export declare const oauthClientIdDiscoverableSchema: v.
|
|
5
|
+
export declare const oauthClientIdDiscoverableSchema: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.NonEmptyAction<string, "must not be empty">]>, v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.CheckAction<string, "must be a valid url">]>, v.RawCheckAction<string>]>, v.RawCheckAction<string>]>;
|
|
6
6
|
//# sourceMappingURL=oauth-client-id-discoverable.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-client-id-discoverable.d.ts","sourceRoot":"","sources":["../../lib/schemas/oauth-client-id-discoverable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"oauth-client-id-discoverable.d.ts","sourceRoot":"","sources":["../../lib/schemas/oauth-client-id-discoverable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAM7B;;GAEG;AACH,eAAO,MAAM,+BAA+B,2TAsC3C,CAAC"}
|
|
@@ -1,43 +1,41 @@
|
|
|
1
|
-
import * as v from '
|
|
1
|
+
import * as v from 'valibot';
|
|
2
2
|
import { oauthClientIdSchema } from './oauth-client-id.js';
|
|
3
3
|
import { httpsUriSchema } from './uri.js';
|
|
4
4
|
import { extractUrlPath, isHostnameIP } from './utils.js';
|
|
5
5
|
/**
|
|
6
6
|
* @see {@link https://www.ietf.org/archive/id/draft-ietf-oauth-client-id-metadata-document-00.html}
|
|
7
7
|
*/
|
|
8
|
-
export const oauthClientIdDiscoverableSchema = v.
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
if (!clientIdResult.ok) {
|
|
12
|
-
return clientIdResult;
|
|
13
|
-
}
|
|
14
|
-
// then validate as https URI
|
|
15
|
-
const httpsResult = httpsUriSchema.try(input, options);
|
|
16
|
-
if (!httpsResult.ok) {
|
|
17
|
-
return httpsResult;
|
|
8
|
+
export const oauthClientIdDiscoverableSchema = v.pipe(oauthClientIdSchema, httpsUriSchema, v.rawCheck(({ dataset, addIssue }) => {
|
|
9
|
+
if (!dataset.typed) {
|
|
10
|
+
return;
|
|
18
11
|
}
|
|
12
|
+
const input = dataset.value;
|
|
19
13
|
const url = new URL(input);
|
|
20
14
|
if (url.username || url.password) {
|
|
21
|
-
|
|
15
|
+
addIssue({ message: `client ID must not contain credentials` });
|
|
16
|
+
return;
|
|
22
17
|
}
|
|
23
18
|
if (url.hash) {
|
|
24
|
-
|
|
19
|
+
addIssue({ message: `client ID must not contain a fragment` });
|
|
20
|
+
return;
|
|
25
21
|
}
|
|
26
22
|
if (url.pathname === '/') {
|
|
27
|
-
|
|
23
|
+
addIssue({ message: `client ID must contain a path component (e.g. "/client-metadata.json")` });
|
|
24
|
+
return;
|
|
28
25
|
}
|
|
29
26
|
if (url.pathname.endsWith('/')) {
|
|
30
|
-
|
|
27
|
+
addIssue({ message: `client ID path must not end with a trailing slash` });
|
|
28
|
+
return;
|
|
31
29
|
}
|
|
32
30
|
if (isHostnameIP(url.hostname)) {
|
|
33
|
-
|
|
31
|
+
addIssue({ message: `client ID hostname must not be an IP address` });
|
|
32
|
+
return;
|
|
34
33
|
}
|
|
35
|
-
// URL constructor normalizes the URL, so we extract the path manually to
|
|
36
|
-
//
|
|
37
|
-
//
|
|
34
|
+
// URL constructor normalizes the URL, so we extract the path manually to avoid
|
|
35
|
+
// normalization, then compare it to the normalized path to ensure that the URL does not
|
|
36
|
+
// contain path traversal or other unexpected characters
|
|
38
37
|
if (extractUrlPath(input) !== url.pathname) {
|
|
39
|
-
|
|
38
|
+
addIssue({ message: `client ID must be in canonical form ("${url.href}", got "${input}")` });
|
|
40
39
|
}
|
|
41
|
-
|
|
42
|
-
});
|
|
40
|
+
}));
|
|
43
41
|
//# sourceMappingURL=oauth-client-id-discoverable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-client-id-discoverable.js","sourceRoot":"","sources":["../../lib/schemas/oauth-client-id-discoverable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"oauth-client-id-discoverable.js","sourceRoot":"","sources":["../../lib/schemas/oauth-client-id-discoverable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAE7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1D;;GAEG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,IAAI,CACpD,mBAAmB,EACnB,cAAc,EACd,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;IACpC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACpB,OAAO;IACR,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC5B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAE3B,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QAClC,QAAQ,CAAC,EAAE,OAAO,EAAE,wCAAwC,EAAE,CAAC,CAAC;QAChE,OAAO;IACR,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QACd,QAAQ,CAAC,EAAE,OAAO,EAAE,uCAAuC,EAAE,CAAC,CAAC;QAC/D,OAAO;IACR,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,EAAE,CAAC;QAC1B,QAAQ,CAAC,EAAE,OAAO,EAAE,wEAAwE,EAAE,CAAC,CAAC;QAChG,OAAO;IACR,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAChC,QAAQ,CAAC,EAAE,OAAO,EAAE,mDAAmD,EAAE,CAAC,CAAC;QAC3E,OAAO;IACR,CAAC;IACD,IAAI,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChC,QAAQ,CAAC,EAAE,OAAO,EAAE,8CAA8C,EAAE,CAAC,CAAC;QACtE,OAAO;IACR,CAAC;IAED,+EAA+E;IAC/E,wFAAwF;IACxF,wDAAwD;IACxD,IAAI,cAAc,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC5C,QAAQ,CAAC,EAAE,OAAO,EAAE,yCAAyC,GAAG,CAAC,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC,CAAC;IAC9F,CAAC;AACF,CAAC,CAAC,CACF,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as v from '
|
|
1
|
+
import * as v from 'valibot';
|
|
2
2
|
/** base OAuth client ID (any non-empty string) */
|
|
3
|
-
export declare const oauthClientIdSchema: v.
|
|
4
|
-
export type OAuthClientId = v.
|
|
3
|
+
export declare const oauthClientIdSchema: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.NonEmptyAction<string, "must not be empty">]>;
|
|
4
|
+
export type OAuthClientId = v.InferOutput<typeof oauthClientIdSchema>;
|
|
5
5
|
//# sourceMappingURL=oauth-client-id.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-client-id.d.ts","sourceRoot":"","sources":["../../lib/schemas/oauth-client-id.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"oauth-client-id.d.ts","sourceRoot":"","sources":["../../lib/schemas/oauth-client-id.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAE7B,kDAAkD;AAClD,eAAO,MAAM,mBAAmB,uGAAsD,CAAC;AAEvF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as v from '
|
|
1
|
+
import * as v from 'valibot';
|
|
2
2
|
/** base OAuth client ID (any non-empty string) */
|
|
3
|
-
export const oauthClientIdSchema = v.
|
|
3
|
+
export const oauthClientIdSchema = v.pipe(v.string(), v.nonEmpty(`must not be empty`));
|
|
4
4
|
//# sourceMappingURL=oauth-client-id.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-client-id.js","sourceRoot":"","sources":["../../lib/schemas/oauth-client-id.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"oauth-client-id.js","sourceRoot":"","sources":["../../lib/schemas/oauth-client-id.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAE7B,kDAAkD;AAClD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC"}
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import * as v from '
|
|
1
|
+
import * as v from 'valibot';
|
|
2
2
|
/**
|
|
3
3
|
* base OAuth client metadata schema.
|
|
4
4
|
*
|
|
5
5
|
* @see {@link https://openid.net/specs/openid-connect-registration-1_0.html}
|
|
6
6
|
* @see {@link https://datatracker.ietf.org/doc/html/rfc7591}
|
|
7
7
|
*/
|
|
8
|
-
export declare const oauthClientMetadataSchema: v.
|
|
9
|
-
redirect_uris: v.
|
|
10
|
-
response_types: v.
|
|
11
|
-
grant_types: v.
|
|
12
|
-
scope: v.
|
|
13
|
-
token_endpoint_auth_method: v.
|
|
14
|
-
token_endpoint_auth_signing_alg: v.
|
|
15
|
-
userinfo_signed_response_alg: v.
|
|
16
|
-
userinfo_encrypted_response_alg: v.
|
|
17
|
-
jwks_uri: v.
|
|
18
|
-
jwks: v.
|
|
19
|
-
keys: ({
|
|
8
|
+
export declare const oauthClientMetadataSchema: v.LooseObjectSchema<{
|
|
9
|
+
readonly redirect_uris: v.SchemaWithPipe<readonly [v.ArraySchema<v.UnionSchema<[v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.CheckAction<string, "must be a valid url">]>, v.RawCheckAction<string>]>, v.CheckAction<string, "use of \"localhost\" hostname is not allowed (RFC 8252), use a loopback IP such as \"127.0.0.1\" instead">]>, v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.CheckAction<string, "must be a valid url">]>, v.RawCheckAction<string>]>, v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.CheckAction<string, "must be a valid url">]>, v.RawCheckAction<string>]>], "url must use http: loopback, https:, or a private-use scheme">, undefined>, v.MinLengthAction<string[], 1, "must have at least one redirect URI">]>;
|
|
10
|
+
readonly response_types: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<["code", "token", "none", "code id_token token", "code id_token", "code token", "id_token token", "id_token"], undefined>, undefined>, undefined>;
|
|
11
|
+
readonly grant_types: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<["authorization_code", "implicit", "refresh_token", "password", "client_credentials", "urn:ietf:params:oauth:grant-type:jwt-bearer", "urn:ietf:params:oauth:grant-type:saml2-bearer"], undefined>, undefined>, undefined>;
|
|
12
|
+
readonly scope: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.CheckAction<string, "invalid OAuth scope">]>, undefined>;
|
|
13
|
+
readonly token_endpoint_auth_method: v.OptionalSchema<v.PicklistSchema<["client_secret_basic", "client_secret_jwt", "client_secret_post", "none", "private_key_jwt", "self_signed_tls_client_auth", "tls_client_auth"], undefined>, undefined>;
|
|
14
|
+
readonly token_endpoint_auth_signing_alg: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
15
|
+
readonly userinfo_signed_response_alg: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
16
|
+
readonly userinfo_encrypted_response_alg: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
17
|
+
readonly jwks_uri: v.OptionalSchema<v.UnionSchema<[v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.CheckAction<string, "must be a valid url">]>, v.RawCheckAction<string>]>, v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.CheckAction<string, "must be a valid url">]>, v.RawCheckAction<string>]>], "url must use http: or https: protocol">, undefined>;
|
|
18
|
+
readonly jwks: v.OptionalSchema<v.LooseObjectSchema<{
|
|
19
|
+
readonly keys: v.SchemaWithPipe<readonly [v.ArraySchema<v.UnknownSchema, undefined>, v.TransformAction<unknown[], (({
|
|
20
20
|
kid?: string | undefined;
|
|
21
21
|
use?: "enc" | "sig" | undefined;
|
|
22
22
|
key_ops?: ("decrypt" | "deriveBits" | "deriveKey" | "encrypt" | "sign" | "unwrapKey" | "verify" | "wrapKey")[] | undefined;
|
|
@@ -28,10 +28,12 @@ export declare const oauthClientMetadataSchema: v.ObjectType<{
|
|
|
28
28
|
iat?: number | undefined;
|
|
29
29
|
exp?: number | undefined;
|
|
30
30
|
nbf?: number | undefined;
|
|
31
|
-
revoked?: {
|
|
31
|
+
revoked?: ({
|
|
32
32
|
revoked_at: number;
|
|
33
33
|
reason?: string | undefined;
|
|
34
|
-
}
|
|
34
|
+
} & {
|
|
35
|
+
[key: string]: unknown;
|
|
36
|
+
}) | undefined;
|
|
35
37
|
kty: "RSA";
|
|
36
38
|
alg?: "PS256" | "PS384" | "PS512" | "RS256" | "RS384" | "RS512" | undefined;
|
|
37
39
|
n: string;
|
|
@@ -42,12 +44,16 @@ export declare const oauthClientMetadataSchema: v.ObjectType<{
|
|
|
42
44
|
dp?: string | undefined;
|
|
43
45
|
dq?: string | undefined;
|
|
44
46
|
qi?: string | undefined;
|
|
45
|
-
oth?: {
|
|
47
|
+
oth?: ({
|
|
46
48
|
r?: string | undefined;
|
|
47
49
|
d?: string | undefined;
|
|
48
50
|
t?: string | undefined;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
+
} & {
|
|
52
|
+
[key: string]: unknown;
|
|
53
|
+
})[] | undefined;
|
|
54
|
+
} & {
|
|
55
|
+
[key: string]: unknown;
|
|
56
|
+
}) | ({
|
|
51
57
|
kid?: string | undefined;
|
|
52
58
|
use?: "enc" | "sig" | undefined;
|
|
53
59
|
key_ops?: ("decrypt" | "deriveBits" | "deriveKey" | "encrypt" | "sign" | "unwrapKey" | "verify" | "wrapKey")[] | undefined;
|
|
@@ -59,17 +65,21 @@ export declare const oauthClientMetadataSchema: v.ObjectType<{
|
|
|
59
65
|
iat?: number | undefined;
|
|
60
66
|
exp?: number | undefined;
|
|
61
67
|
nbf?: number | undefined;
|
|
62
|
-
revoked?: {
|
|
68
|
+
revoked?: ({
|
|
63
69
|
revoked_at: number;
|
|
64
70
|
reason?: string | undefined;
|
|
65
|
-
}
|
|
71
|
+
} & {
|
|
72
|
+
[key: string]: unknown;
|
|
73
|
+
}) | undefined;
|
|
66
74
|
kty: "EC";
|
|
67
75
|
alg?: "ES256" | "ES384" | "ES512" | undefined;
|
|
68
76
|
crv: "P-256" | "P-384" | "P-521";
|
|
69
77
|
x: string;
|
|
70
78
|
y: string;
|
|
71
79
|
d?: string | undefined;
|
|
72
|
-
}
|
|
80
|
+
} & {
|
|
81
|
+
[key: string]: unknown;
|
|
82
|
+
}) | ({
|
|
73
83
|
kid?: string | undefined;
|
|
74
84
|
use?: "enc" | "sig" | undefined;
|
|
75
85
|
key_ops?: ("decrypt" | "deriveBits" | "deriveKey" | "encrypt" | "sign" | "unwrapKey" | "verify" | "wrapKey")[] | undefined;
|
|
@@ -81,17 +91,21 @@ export declare const oauthClientMetadataSchema: v.ObjectType<{
|
|
|
81
91
|
iat?: number | undefined;
|
|
82
92
|
exp?: number | undefined;
|
|
83
93
|
nbf?: number | undefined;
|
|
84
|
-
revoked?: {
|
|
94
|
+
revoked?: ({
|
|
85
95
|
revoked_at: number;
|
|
86
96
|
reason?: string | undefined;
|
|
87
|
-
}
|
|
97
|
+
} & {
|
|
98
|
+
[key: string]: unknown;
|
|
99
|
+
}) | undefined;
|
|
88
100
|
kty: "EC";
|
|
89
101
|
alg?: "ES256K" | undefined;
|
|
90
102
|
crv: "secp256k1";
|
|
91
103
|
x: string;
|
|
92
104
|
y: string;
|
|
93
105
|
d?: string | undefined;
|
|
94
|
-
}
|
|
106
|
+
} & {
|
|
107
|
+
[key: string]: unknown;
|
|
108
|
+
}) | ({
|
|
95
109
|
kid?: string | undefined;
|
|
96
110
|
use?: "enc" | "sig" | undefined;
|
|
97
111
|
key_ops?: ("decrypt" | "deriveBits" | "deriveKey" | "encrypt" | "sign" | "unwrapKey" | "verify" | "wrapKey")[] | undefined;
|
|
@@ -103,16 +117,20 @@ export declare const oauthClientMetadataSchema: v.ObjectType<{
|
|
|
103
117
|
iat?: number | undefined;
|
|
104
118
|
exp?: number | undefined;
|
|
105
119
|
nbf?: number | undefined;
|
|
106
|
-
revoked?: {
|
|
120
|
+
revoked?: ({
|
|
107
121
|
revoked_at: number;
|
|
108
122
|
reason?: string | undefined;
|
|
109
|
-
}
|
|
123
|
+
} & {
|
|
124
|
+
[key: string]: unknown;
|
|
125
|
+
}) | undefined;
|
|
110
126
|
kty: "OKP";
|
|
111
127
|
alg?: "EdDSA" | undefined;
|
|
112
128
|
crv: "Ed25519" | "Ed448";
|
|
113
129
|
x: string;
|
|
114
130
|
d?: string | undefined;
|
|
115
|
-
}
|
|
131
|
+
} & {
|
|
132
|
+
[key: string]: unknown;
|
|
133
|
+
}) | ({
|
|
116
134
|
kid?: string | undefined;
|
|
117
135
|
use?: "enc" | "sig" | undefined;
|
|
118
136
|
key_ops?: ("decrypt" | "deriveBits" | "deriveKey" | "encrypt" | "sign" | "unwrapKey" | "verify" | "wrapKey")[] | undefined;
|
|
@@ -124,28 +142,32 @@ export declare const oauthClientMetadataSchema: v.ObjectType<{
|
|
|
124
142
|
iat?: number | undefined;
|
|
125
143
|
exp?: number | undefined;
|
|
126
144
|
nbf?: number | undefined;
|
|
127
|
-
revoked?: {
|
|
145
|
+
revoked?: ({
|
|
128
146
|
revoked_at: number;
|
|
129
147
|
reason?: string | undefined;
|
|
130
|
-
}
|
|
148
|
+
} & {
|
|
149
|
+
[key: string]: unknown;
|
|
150
|
+
}) | undefined;
|
|
131
151
|
kty: "oct";
|
|
132
152
|
alg?: "HS256" | "HS384" | "HS512" | undefined;
|
|
133
153
|
k: string;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
154
|
+
} & {
|
|
155
|
+
[key: string]: unknown;
|
|
156
|
+
}))[]>]>;
|
|
157
|
+
}, undefined>, undefined>;
|
|
158
|
+
readonly application_type: v.OptionalSchema<v.PicklistSchema<["web", "native"], undefined>, undefined>;
|
|
159
|
+
readonly subject_type: v.OptionalSchema<v.PicklistSchema<["public", "pairwise"], undefined>, undefined>;
|
|
160
|
+
readonly request_object_signing_alg: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
161
|
+
readonly id_token_signed_response_alg: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
162
|
+
readonly authorization_signed_response_alg: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
163
|
+
readonly authorization_encrypted_response_enc: v.OptionalSchema<v.LiteralSchema<"A128CBC-HS256", undefined>, undefined>;
|
|
164
|
+
readonly authorization_encrypted_response_alg: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
165
|
+
readonly client_id: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.NonEmptyAction<string, "must not be empty">]>, undefined>;
|
|
166
|
+
readonly client_name: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
167
|
+
readonly client_uri: v.OptionalSchema<v.UnionSchema<[v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.CheckAction<string, "must be a valid url">]>, v.RawCheckAction<string>]>, v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.CheckAction<string, "must be a valid url">]>, v.RawCheckAction<string>]>], "url must use http: or https: protocol">, undefined>;
|
|
168
|
+
readonly policy_uri: v.OptionalSchema<v.UnionSchema<[v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.CheckAction<string, "must be a valid url">]>, v.RawCheckAction<string>]>, v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.CheckAction<string, "must be a valid url">]>, v.RawCheckAction<string>]>], "url must use http: or https: protocol">, undefined>;
|
|
169
|
+
readonly tos_uri: v.OptionalSchema<v.UnionSchema<[v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.CheckAction<string, "must be a valid url">]>, v.RawCheckAction<string>]>, v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.CheckAction<string, "must be a valid url">]>, v.RawCheckAction<string>]>], "url must use http: or https: protocol">, undefined>;
|
|
170
|
+
readonly logo_uri: v.OptionalSchema<v.UnionSchema<[v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.CheckAction<string, "must be a valid url">]>, v.RawCheckAction<string>]>, v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.CheckAction<string, "must be a valid url">]>, v.RawCheckAction<string>]>], "url must use http: or https: protocol">, undefined>;
|
|
149
171
|
/**
|
|
150
172
|
* default Maximum Authentication Age. specifies that the End-User MUST be
|
|
151
173
|
* actively authenticated if the End-User was authenticated longer ago than
|
|
@@ -153,12 +175,12 @@ export declare const oauthClientMetadataSchema: v.ObjectType<{
|
|
|
153
175
|
* this default value. if omitted, no default Maximum Authentication Age is
|
|
154
176
|
* specified.
|
|
155
177
|
*/
|
|
156
|
-
default_max_age: v.
|
|
157
|
-
require_auth_time: v.
|
|
158
|
-
contacts: v.
|
|
159
|
-
tls_client_certificate_bound_access_tokens: v.
|
|
160
|
-
dpop_bound_access_tokens: v.
|
|
161
|
-
authorization_details_types: v.
|
|
178
|
+
readonly default_max_age: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
|
|
179
|
+
readonly require_auth_time: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
180
|
+
readonly contacts: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "must be a valid email">]>, undefined>, undefined>;
|
|
181
|
+
readonly tls_client_certificate_bound_access_tokens: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
182
|
+
readonly dpop_bound_access_tokens: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
183
|
+
readonly authorization_details_types: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
162
184
|
}, undefined>;
|
|
163
|
-
export type OAuthClientMetadata = v.
|
|
185
|
+
export type OAuthClientMetadata = v.InferOutput<typeof oauthClientMetadataSchema>;
|
|
164
186
|
//# sourceMappingURL=oauth-client-metadata.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-client-metadata.d.ts","sourceRoot":"","sources":["../../lib/schemas/oauth-client-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"oauth-client-metadata.d.ts","sourceRoot":"","sources":["../../lib/schemas/oauth-client-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAkB7B;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAmCrC;;;;;;OAMG;;;;;;;aAWF,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
|