@atlasauth/backend 0.14.1 → 0.16.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 +42 -0
- package/dist/access-control.d.ts +53 -0
- package/dist/access-control.js +46 -0
- package/dist/access-control.js.map +1 -0
- package/dist/algs.d.ts +7 -0
- package/dist/algs.js +11 -0
- package/dist/algs.js.map +1 -0
- package/dist/botid.d.ts +70 -0
- package/dist/botid.js +88 -0
- package/dist/botid.js.map +1 -0
- package/dist/client/action-gallery.d.ts +215 -0
- package/dist/client/action-gallery.js +66 -0
- package/dist/client/action-gallery.js.map +1 -0
- package/dist/client/actions.d.ts +21 -0
- package/dist/client/actions.js.map +1 -1
- package/dist/client/api-keys.d.ts +49 -4
- package/dist/client/api-keys.js +6 -2
- package/dist/client/api-keys.js.map +1 -1
- package/dist/client/app-roles.d.ts +76 -0
- package/dist/client/app-roles.js +39 -0
- package/dist/client/app-roles.js.map +1 -0
- package/dist/client/attack-protection.d.ts +33 -1
- package/dist/client/attack-protection.js.map +1 -1
- package/dist/client/billing-plans.d.ts +93 -0
- package/dist/client/billing-plans.js +31 -0
- package/dist/client/billing-plans.js.map +1 -1
- package/dist/client/custom-oauth-providers.d.ts +243 -0
- package/dist/client/custom-oauth-providers.js +60 -0
- package/dist/client/custom-oauth-providers.js.map +1 -0
- package/dist/client/email-templates.d.ts +1 -1
- package/dist/client/email-templates.js.map +1 -1
- package/dist/client/index.d.ts +157 -3
- package/dist/client/index.js +11 -0
- package/dist/client/index.js.map +1 -1
- package/dist/client/instance-security.d.ts +104 -0
- package/dist/client/instance-security.js +28 -0
- package/dist/client/instance-security.js.map +1 -1
- package/dist/client/notifications.d.ts +1 -1
- package/dist/client/notifications.js.map +1 -1
- package/dist/client/oauth-clients.d.ts +84 -2
- package/dist/client/oauth-clients.js +13 -0
- package/dist/client/oauth-clients.js.map +1 -1
- package/dist/client/referrals.d.ts +1 -1
- package/dist/client/resource-servers.d.ts +34 -5
- package/dist/client/resource-servers.js.map +1 -1
- package/dist/client/risk-based-mfa.d.ts +3 -0
- package/dist/client/risk-based-mfa.js.map +1 -1
- package/dist/client/scim-tokens.d.ts +18 -0
- package/dist/client/scim-tokens.js +4 -0
- package/dist/client/scim-tokens.js.map +1 -1
- package/dist/client/sessions.d.ts +16 -0
- package/dist/client/sessions.js +15 -0
- package/dist/client/sessions.js.map +1 -1
- package/dist/client/sso-connections.d.ts +105 -0
- package/dist/client/sso-connections.js +29 -0
- package/dist/client/sso-connections.js.map +1 -1
- package/dist/client/users.d.ts +40 -4
- package/dist/client/users.js +8 -3
- package/dist/client/users.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.js +18 -1
- package/dist/index.js.map +1 -1
- package/dist/logout-token.d.ts +1 -1
- package/dist/logout-token.js +3 -2
- package/dist/logout-token.js.map +1 -1
- package/dist/oauth-resource.d.ts +225 -0
- package/dist/oauth-resource.js +469 -0
- package/dist/oauth-resource.js.map +1 -0
- package/dist/oidc.d.ts +1 -1
- package/dist/oidc.js +5 -3
- package/dist/oidc.js.map +1 -1
- package/dist/referral-test-calls.d.ts +7 -7
- package/dist/referral-test-calls.js +2 -2
- package/dist/testing.d.ts +6 -4
- package/dist/testing.js +7 -6
- package/dist/testing.js.map +1 -1
- package/dist/verify.d.ts +11 -0
- package/dist/verify.js +15 -1
- package/dist/verify.js.map +1 -1
- package/package.json +3 -3
|
@@ -17,6 +17,8 @@ export interface Session {
|
|
|
17
17
|
*/
|
|
18
18
|
idle_expires_at?: number;
|
|
19
19
|
created_at: number;
|
|
20
|
+
/** Custom per-session data your backend (or a post_login Action) attached; null when none. */
|
|
21
|
+
custom_data?: Record<string, unknown> | null;
|
|
20
22
|
}
|
|
21
23
|
/** The session after a keep-alive {@link sessionsResource} `touch`. */
|
|
22
24
|
export interface TouchedSession extends Session {
|
|
@@ -35,6 +37,8 @@ export interface CreateSessionParams {
|
|
|
35
37
|
actor?: {
|
|
36
38
|
sub: string;
|
|
37
39
|
};
|
|
40
|
+
/** Custom per-session data to attach (a JSON object, at most 2 KB). */
|
|
41
|
+
custom_data?: Record<string, unknown>;
|
|
38
42
|
}
|
|
39
43
|
/**
|
|
40
44
|
* A freshly-minted session. Unlike a listed {@link Session}, this carries the
|
|
@@ -52,6 +56,7 @@ export interface MintedSession {
|
|
|
52
56
|
impersonated_by?: {
|
|
53
57
|
sub: string;
|
|
54
58
|
};
|
|
59
|
+
custom_data?: Record<string, unknown> | null;
|
|
55
60
|
}
|
|
56
61
|
/** A JWT minted from a named JWT template. */
|
|
57
62
|
export interface SessionTemplateToken {
|
|
@@ -74,6 +79,17 @@ export declare function sessionsResource(request: RequestFn): {
|
|
|
74
79
|
id: string;
|
|
75
80
|
status: "revoked";
|
|
76
81
|
}>;
|
|
82
|
+
/**
|
|
83
|
+
* `PUT /v1/sessions/:id/custom_data` — replace the session's custom data
|
|
84
|
+
* (null clears it). At most 2 KB; only an active session can be changed.
|
|
85
|
+
* Not for secrets: the signed-in user can read it.
|
|
86
|
+
*/
|
|
87
|
+
setCustomData(id: string, customData: Record<string, unknown> | null): Promise<Session>;
|
|
88
|
+
/**
|
|
89
|
+
* `PATCH /v1/sessions/:id/custom_data` — merge keys into the session's custom
|
|
90
|
+
* data; a key set to null is removed.
|
|
91
|
+
*/
|
|
92
|
+
updateCustomData(id: string, patch: Record<string, unknown>): Promise<Session>;
|
|
77
93
|
/**
|
|
78
94
|
* `POST /v1/sessions/:id/touch` — keep a session alive from your backend:
|
|
79
95
|
* slides its inactivity window as if the user had just loaded a page. Never
|
package/dist/client/sessions.js
CHANGED
|
@@ -21,6 +21,21 @@ function sessionsResource(request) {
|
|
|
21
21
|
revoke(id) {
|
|
22
22
|
return request({ method: 'POST', path: `/v1/sessions/${(0, request_1.enc)(id)}/revoke` });
|
|
23
23
|
},
|
|
24
|
+
/**
|
|
25
|
+
* `PUT /v1/sessions/:id/custom_data` — replace the session's custom data
|
|
26
|
+
* (null clears it). At most 2 KB; only an active session can be changed.
|
|
27
|
+
* Not for secrets: the signed-in user can read it.
|
|
28
|
+
*/
|
|
29
|
+
setCustomData(id, customData) {
|
|
30
|
+
return request({ method: 'PUT', path: `/v1/sessions/${(0, request_1.enc)(id)}/custom_data`, body: { custom_data: customData } });
|
|
31
|
+
},
|
|
32
|
+
/**
|
|
33
|
+
* `PATCH /v1/sessions/:id/custom_data` — merge keys into the session's custom
|
|
34
|
+
* data; a key set to null is removed.
|
|
35
|
+
*/
|
|
36
|
+
updateCustomData(id, patch) {
|
|
37
|
+
return request({ method: 'PATCH', path: `/v1/sessions/${(0, request_1.enc)(id)}/custom_data`, body: { custom_data: patch } });
|
|
38
|
+
},
|
|
24
39
|
/**
|
|
25
40
|
* `POST /v1/sessions/:id/touch` — keep a session alive from your backend:
|
|
26
41
|
* slides its inactivity window as if the user had just loaded a page. Never
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/client/sessions.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/client/sessions.ts"],"names":[],"mappings":";;AAsEA,4CAuDC;AA7HD,uCAAgD;AAsEhD,SAAgB,gBAAgB,CAAC,OAAkB;IACjD,OAAO;QACL;;;WAGG;QACH,MAAM,CAAC,MAA2B;YAChC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC,CAAC;QAChF,CAAC;QACD,wDAAwD;QACxD,IAAI,CAAC,MAA0B;YAC7B,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC,CAAC;QAChF,CAAC;QACD,GAAG,CAAC,EAAU;YACZ,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,gBAAgB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,CAAC,EAAU;YACf,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,IAAA,aAAG,EAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;QAC7E,CAAC;QACD;;;;WAIG;QACH,aAAa,CAAC,EAAU,EAAE,UAA0C;YAClE,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,gBAAgB,IAAA,aAAG,EAAC,EAAE,CAAC,cAAc,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;QACpH,CAAC;QACD;;;WAGG;QACH,gBAAgB,CAAC,EAAU,EAAE,KAA8B;YACzD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,IAAA,aAAG,EAAC,EAAE,CAAC,cAAc,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACjH,CAAC;QACD;;;;;;WAMG;QACH,KAAK,CAAC,EAAU;YACd,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,IAAA,aAAG,EAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD;;;WAGG;QACH,QAAQ,CAAC,EAAU,EAAE,QAAgB;YACnC,OAAO,OAAO,CAAC;gBACb,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,gBAAgB,IAAA,aAAG,EAAC,EAAE,CAAC,WAAW,IAAA,aAAG,EAAC,QAAQ,CAAC,EAAE;aACxD,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type RequestFn } from './request';
|
|
2
2
|
import type { ListPage } from './types';
|
|
3
|
+
import { type IdpInitiatedLoginSettings, type ProfileMapping, type ProfileMappingPreview, type ProfileMappingPreviewBody, type TokenEndpointAuthMethod, type UpstreamLogoutSettings, type UpstreamUrls } from './custom-oauth-providers';
|
|
3
4
|
export interface ClaimRoleMapping {
|
|
4
5
|
claim: string;
|
|
5
6
|
value: string;
|
|
@@ -22,11 +23,43 @@ export interface SsoConnection {
|
|
|
22
23
|
saml_allow_idp_initiated: boolean;
|
|
23
24
|
saml_sign_authn_requests: boolean;
|
|
24
25
|
saml_want_response_signed: boolean;
|
|
26
|
+
/** SAML Single Logout is on for the connection. */
|
|
27
|
+
saml_single_logout?: boolean;
|
|
28
|
+
/** The IdP SingleLogoutService Location / ResponseLocation and delivery binding. */
|
|
29
|
+
saml_idp_slo_url?: string | null;
|
|
30
|
+
saml_idp_slo_response_url?: string | null;
|
|
31
|
+
saml_idp_slo_binding?: 'redirect' | 'post';
|
|
32
|
+
/** The IdP SOAP SingleLogoutService — the back channel for sessions ended server-side. */
|
|
33
|
+
saml_idp_slo_soap_url?: string | null;
|
|
34
|
+
/** Assertions that are not encrypted to the connection's key are refused. */
|
|
35
|
+
saml_require_encrypted_assertions?: boolean;
|
|
36
|
+
/** An SP encryption key pair is set up (the private key is never returned). */
|
|
37
|
+
has_saml_encryption_key?: boolean;
|
|
38
|
+
/** A key rotation is in progress (the previous key is still accepted). */
|
|
39
|
+
has_previous_saml_encryption_key?: boolean;
|
|
40
|
+
saml_encryption_rotated_at?: number | null;
|
|
25
41
|
has_discourse_secret: boolean;
|
|
26
42
|
discourse_provider_url: string | null;
|
|
27
43
|
allowed_domains: string[];
|
|
28
44
|
claim_role_mappings: ClaimRoleMapping[];
|
|
29
45
|
default_role_id: string | null;
|
|
46
|
+
/** Which IdP claim/attribute carries each profile field (only the set keys). */
|
|
47
|
+
attribute_mapping?: SsoAttributeMapping;
|
|
48
|
+
/** OIDC: extra scopes requested on top of openid email profile. */
|
|
49
|
+
oidc_scopes?: string[];
|
|
50
|
+
/** OIDC relying-party settings (see custom OAuth providers). */
|
|
51
|
+
profile_mapping?: Required<ProfileMapping> | null;
|
|
52
|
+
token_endpoint_auth_method?: TokenEndpointAuthMethod | null;
|
|
53
|
+
client_assertion_audience?: string | null;
|
|
54
|
+
logout?: Required<UpstreamLogoutSettings>;
|
|
55
|
+
idp_initiated_login?: Required<IdpInitiatedLoginSettings>;
|
|
56
|
+
/** OIDC connections: the URLs to register at the IdP. */
|
|
57
|
+
upstream_urls?: UpstreamUrls | null;
|
|
58
|
+
/** Routing domains of an org-owned connection that the org has not verified. */
|
|
59
|
+
domain_warnings?: Array<{
|
|
60
|
+
domain: string;
|
|
61
|
+
code: 'unverified_organization_domain';
|
|
62
|
+
}>;
|
|
30
63
|
created_at: number;
|
|
31
64
|
updated_at: number;
|
|
32
65
|
}
|
|
@@ -34,9 +67,23 @@ export interface SamlMetadata {
|
|
|
34
67
|
object: 'sso_saml_metadata';
|
|
35
68
|
sp_entity_id: string;
|
|
36
69
|
acs_url: string;
|
|
70
|
+
/** Our SingleLogoutService URL (both bindings), when Single Logout is on. */
|
|
71
|
+
slo_url?: string | null;
|
|
37
72
|
/** The SP EntityDescriptor XML, carried as a string inside this JSON envelope. */
|
|
38
73
|
metadata_xml: string;
|
|
39
74
|
}
|
|
75
|
+
/** A SAML connection's SP encryption key pair — certificates only. */
|
|
76
|
+
export interface SamlEncryptionKey {
|
|
77
|
+
object: 'sso_saml_encryption_key';
|
|
78
|
+
connection_id: string;
|
|
79
|
+
/** The current certificate (PEM), published in SP metadata; null when encryption is off. */
|
|
80
|
+
certificate: string | null;
|
|
81
|
+
/** The previous certificate during a rotation; null otherwise. */
|
|
82
|
+
previous_certificate: string | null;
|
|
83
|
+
/** When the current key was installed (epoch ms). */
|
|
84
|
+
rotated_at: number | null;
|
|
85
|
+
require_encrypted_assertions: boolean;
|
|
86
|
+
}
|
|
40
87
|
export interface CreateSsoConnectionBody {
|
|
41
88
|
organization_id?: string | null;
|
|
42
89
|
type?: 'oidc' | 'saml' | 'discourse' | 'discourse_consumer';
|
|
@@ -53,11 +100,43 @@ export interface CreateSsoConnectionBody {
|
|
|
53
100
|
saml_allow_idp_initiated?: boolean;
|
|
54
101
|
saml_sign_authn_requests?: boolean;
|
|
55
102
|
saml_want_response_signed?: boolean;
|
|
103
|
+
/** SAML Single Logout on/off. */
|
|
104
|
+
saml_single_logout?: boolean;
|
|
105
|
+
/** https; null clears it. Filled by IdP metadata import when published. */
|
|
106
|
+
saml_idp_slo_url?: string | null;
|
|
107
|
+
saml_idp_slo_response_url?: string | null;
|
|
108
|
+
saml_idp_slo_binding?: 'redirect' | 'post' | null;
|
|
109
|
+
/** https; null clears it. The back channel for sessions ended server-side. */
|
|
110
|
+
saml_idp_slo_soap_url?: string | null;
|
|
111
|
+
/** Requires an encryption key (see `createSamlEncryptionKey`). */
|
|
112
|
+
saml_require_encrypted_assertions?: boolean;
|
|
56
113
|
discourse_secret?: string;
|
|
57
114
|
discourse_provider_url?: string;
|
|
58
115
|
allowed_domains?: string[];
|
|
59
116
|
claim_role_mappings?: ClaimRoleMapping[];
|
|
60
117
|
default_role_id?: string | null;
|
|
118
|
+
/** null clears it. */
|
|
119
|
+
attribute_mapping?: SsoAttributeMapping | null;
|
|
120
|
+
/** OIDC only; null clears them. */
|
|
121
|
+
oidc_scopes?: string[] | null;
|
|
122
|
+
/** OIDC: declarative profile mapping; null clears it. */
|
|
123
|
+
profile_mapping?: ProfileMapping | null;
|
|
124
|
+
/** OIDC: token-endpoint client authentication (private_key_jwt needs no secret). */
|
|
125
|
+
token_endpoint_auth_method?: TokenEndpointAuthMethod | null;
|
|
126
|
+
client_assertion_audience?: string | null;
|
|
127
|
+
/** OIDC: RP-initiated and back-channel logout. */
|
|
128
|
+
logout?: UpstreamLogoutSettings | null;
|
|
129
|
+
/** OIDC: third-party initiated login. */
|
|
130
|
+
idp_initiated_login?: IdpInitiatedLoginSettings | null;
|
|
131
|
+
}
|
|
132
|
+
/** Claim (OIDC) or attribute (SAML) names for each profile field. */
|
|
133
|
+
export interface SsoAttributeMapping {
|
|
134
|
+
email?: string;
|
|
135
|
+
/** A remapped email is unverified unless this claim is mapped and true. */
|
|
136
|
+
email_verified?: string;
|
|
137
|
+
first_name?: string;
|
|
138
|
+
last_name?: string;
|
|
139
|
+
username?: string;
|
|
61
140
|
}
|
|
62
141
|
/** PATCH accepts everything create does except `type`, which is immutable. */
|
|
63
142
|
export type UpdateSsoConnectionBody = Omit<CreateSsoConnectionBody, 'type'>;
|
|
@@ -71,6 +150,32 @@ export declare function ssoConnectionsResource(request: RequestFn): {
|
|
|
71
150
|
id: string;
|
|
72
151
|
deleted: true;
|
|
73
152
|
}>;
|
|
153
|
+
/** OIDC: run the connection's profile mapping (or the body's) against a pasted sample. */
|
|
154
|
+
previewProfileMapping(id: string, body: ProfileMappingPreviewBody): Promise<ProfileMappingPreview>;
|
|
155
|
+
/** OIDC: the connection's private_key_jwt signing keys. */
|
|
156
|
+
signingKeys(id: string): {
|
|
157
|
+
list(): Promise<ListPage<import("./custom-oauth-providers").UpstreamSigningKey>>;
|
|
158
|
+
rotate(body?: {
|
|
159
|
+
alg?: "RS256" | "PS256" | "ES256";
|
|
160
|
+
}, idempotencyKey?: string): Promise<import("./custom-oauth-providers").UpstreamSigningKey>;
|
|
161
|
+
retire(kid: string): Promise<{
|
|
162
|
+
object: "upstream_signing_key";
|
|
163
|
+
kid: string;
|
|
164
|
+
status: "retired";
|
|
165
|
+
}>;
|
|
166
|
+
};
|
|
74
167
|
/** SP SAML metadata for a connection (JSON envelope carrying the XML). */
|
|
75
168
|
samlMetadata(id: string): Promise<SamlMetadata>;
|
|
169
|
+
/** The SAML connection's SP encryption certificate(s). */
|
|
170
|
+
getSamlEncryptionKey(id: string): Promise<SamlEncryptionKey>;
|
|
171
|
+
/**
|
|
172
|
+
* Generate the SP encryption key pair, or ROTATE it when one exists: the
|
|
173
|
+
* current pair becomes the previous one (still advertised and accepted until
|
|
174
|
+
* {@link retirePreviousSamlEncryptionKey}).
|
|
175
|
+
*/
|
|
176
|
+
createSamlEncryptionKey(id: string, idempotencyKey?: string): Promise<SamlEncryptionKey>;
|
|
177
|
+
/** Finish a rotation: stop accepting the previous encryption key. */
|
|
178
|
+
retirePreviousSamlEncryptionKey(id: string): Promise<SamlEncryptionKey>;
|
|
179
|
+
/** Turn assertion encryption off (refused while encrypted assertions are required). */
|
|
180
|
+
deleteSamlEncryptionKey(id: string): Promise<SamlEncryptionKey>;
|
|
76
181
|
};
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ssoConnectionsResource = ssoConnectionsResource;
|
|
4
4
|
const request_1 = require("./request");
|
|
5
|
+
const custom_oauth_providers_1 = require("./custom-oauth-providers");
|
|
5
6
|
function ssoConnectionsResource(request) {
|
|
6
7
|
return {
|
|
7
8
|
list() {
|
|
@@ -19,10 +20,38 @@ function ssoConnectionsResource(request) {
|
|
|
19
20
|
delete(id) {
|
|
20
21
|
return request({ method: 'DELETE', path: `/v1/sso_connections/${(0, request_1.enc)(id)}` });
|
|
21
22
|
},
|
|
23
|
+
/** OIDC: run the connection's profile mapping (or the body's) against a pasted sample. */
|
|
24
|
+
previewProfileMapping(id, body) {
|
|
25
|
+
return request({ method: 'POST', path: `/v1/sso_connections/${(0, request_1.enc)(id)}/profile_mapping/preview`, body });
|
|
26
|
+
},
|
|
27
|
+
/** OIDC: the connection's private_key_jwt signing keys. */
|
|
28
|
+
signingKeys(id) {
|
|
29
|
+
return (0, custom_oauth_providers_1.upstreamSigningKeys)(request, `/v1/sso_connections/${(0, request_1.enc)(id)}`);
|
|
30
|
+
},
|
|
22
31
|
/** SP SAML metadata for a connection (JSON envelope carrying the XML). */
|
|
23
32
|
samlMetadata(id) {
|
|
24
33
|
return request({ method: 'GET', path: `/v1/sso_connections/${(0, request_1.enc)(id)}/saml_metadata` });
|
|
25
34
|
},
|
|
35
|
+
/** The SAML connection's SP encryption certificate(s). */
|
|
36
|
+
getSamlEncryptionKey(id) {
|
|
37
|
+
return request({ method: 'GET', path: `/v1/sso_connections/${(0, request_1.enc)(id)}/saml_encryption_key` });
|
|
38
|
+
},
|
|
39
|
+
/**
|
|
40
|
+
* Generate the SP encryption key pair, or ROTATE it when one exists: the
|
|
41
|
+
* current pair becomes the previous one (still advertised and accepted until
|
|
42
|
+
* {@link retirePreviousSamlEncryptionKey}).
|
|
43
|
+
*/
|
|
44
|
+
createSamlEncryptionKey(id, idempotencyKey) {
|
|
45
|
+
return request({ method: 'POST', path: `/v1/sso_connections/${(0, request_1.enc)(id)}/saml_encryption_key`, idempotencyKey });
|
|
46
|
+
},
|
|
47
|
+
/** Finish a rotation: stop accepting the previous encryption key. */
|
|
48
|
+
retirePreviousSamlEncryptionKey(id) {
|
|
49
|
+
return request({ method: 'DELETE', path: `/v1/sso_connections/${(0, request_1.enc)(id)}/saml_encryption_key/previous` });
|
|
50
|
+
},
|
|
51
|
+
/** Turn assertion encryption off (refused while encrypted assertions are required). */
|
|
52
|
+
deleteSamlEncryptionKey(id) {
|
|
53
|
+
return request({ method: 'DELETE', path: `/v1/sso_connections/${(0, request_1.enc)(id)}/saml_encryption_key` });
|
|
54
|
+
},
|
|
26
55
|
};
|
|
27
56
|
}
|
|
28
57
|
//# sourceMappingURL=sso-connections.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sso-connections.js","sourceRoot":"","sources":["../../src/client/sso-connections.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"sso-connections.js","sourceRoot":"","sources":["../../src/client/sso-connections.ts"],"names":[],"mappings":";;AA4JA,wDAkDC;AA9MD,uCAAgD;AAEhD,qEASkC;AAiJlC,SAAgB,sBAAsB,CAAC,OAAkB;IACvD,OAAO;QACL,IAAI;YACF,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,GAAG,CAAC,EAAU;YACZ,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,uBAAuB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,MAAM,CAAC,IAA6B,EAAE,cAAuB;YAC3D,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QACxF,CAAC;QACD,MAAM,CAAC,EAAU,EAAE,IAA6B;YAC9C,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,uBAAuB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,MAAM,CAAC,EAAU;YACf,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,uBAAuB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/E,CAAC;QACD,0FAA0F;QAC1F,qBAAqB,CAAC,EAAU,EAAE,IAA+B;YAC/D,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,IAAA,aAAG,EAAC,EAAE,CAAC,0BAA0B,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3G,CAAC;QACD,2DAA2D;QAC3D,WAAW,CAAC,EAAU;YACpB,OAAO,IAAA,4CAAmB,EAAC,OAAO,EAAE,uBAAuB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,0EAA0E;QAC1E,YAAY,CAAC,EAAU;YACrB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,uBAAuB,IAAA,aAAG,EAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAC1F,CAAC;QACD,0DAA0D;QAC1D,oBAAoB,CAAC,EAAU;YAC7B,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,uBAAuB,IAAA,aAAG,EAAC,EAAE,CAAC,sBAAsB,EAAE,CAAC,CAAC;QAChG,CAAC;QACD;;;;WAIG;QACH,uBAAuB,CAAC,EAAU,EAAE,cAAuB;YACzD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,IAAA,aAAG,EAAC,EAAE,CAAC,sBAAsB,EAAE,cAAc,EAAE,CAAC,CAAC;QACjH,CAAC;QACD,qEAAqE;QACrE,+BAA+B,CAAC,EAAU;YACxC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,uBAAuB,IAAA,aAAG,EAAC,EAAE,CAAC,+BAA+B,EAAE,CAAC,CAAC;QAC5G,CAAC;QACD,uFAAuF;QACvF,uBAAuB,CAAC,EAAU;YAChC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,uBAAuB,IAAA,aAAG,EAAC,EAAE,CAAC,sBAAsB,EAAE,CAAC,CAAC;QACnG,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/dist/client/users.d.ts
CHANGED
|
@@ -11,6 +11,8 @@ export interface User {
|
|
|
11
11
|
public_metadata: Metadata;
|
|
12
12
|
mfa_enabled: boolean;
|
|
13
13
|
banned: boolean;
|
|
14
|
+
/** A timed ban's expiry (epoch ms); null for a permanent ban or none. */
|
|
15
|
+
ban_expires_at?: number | null;
|
|
14
16
|
locked: boolean;
|
|
15
17
|
/** Epoch milliseconds, or null if never signed in. */
|
|
16
18
|
last_sign_in_at: number | null;
|
|
@@ -175,7 +177,29 @@ export interface UserSession {
|
|
|
175
177
|
impersonated_by?: string | null;
|
|
176
178
|
created_at: number;
|
|
177
179
|
}
|
|
178
|
-
|
|
180
|
+
/** `GET /v1/users` search, filters and sort. Every filter is optional and they AND together. */
|
|
181
|
+
export interface ListUsersParams extends CursorParams {
|
|
182
|
+
/** Substring match over id, names, username, emails, phone numbers and external_id. */
|
|
183
|
+
query?: string;
|
|
184
|
+
/** Exact (case-insensitive) match on any of the user's email addresses. */
|
|
185
|
+
email_address?: string;
|
|
186
|
+
username?: string;
|
|
187
|
+
phone_number?: string;
|
|
188
|
+
external_id?: string;
|
|
189
|
+
banned?: boolean;
|
|
190
|
+
/** true = has at least one verified email; false = has none. */
|
|
191
|
+
email_verified?: boolean;
|
|
192
|
+
/** Only members of this organization. */
|
|
193
|
+
organization_id?: string;
|
|
194
|
+
/** Unix ms bounds on `created_at` (inclusive). */
|
|
195
|
+
created_after?: number;
|
|
196
|
+
created_before?: number;
|
|
197
|
+
/** Default `-created_at`. `last_sign_in_at` orders page with `offset`, not `starting_after`. */
|
|
198
|
+
order_by?: 'created_at' | '-created_at' | 'last_sign_in_at' | '-last_sign_in_at';
|
|
199
|
+
offset?: number;
|
|
200
|
+
/** Adds `total_count` (a COUNT over the filters) to the page. */
|
|
201
|
+
include_total_count?: boolean;
|
|
202
|
+
}
|
|
179
203
|
export interface CreateUserBody {
|
|
180
204
|
email_address: string;
|
|
181
205
|
password?: string;
|
|
@@ -218,8 +242,10 @@ export interface ReplaceUserMetadataBody {
|
|
|
218
242
|
unsafe_metadata?: Metadata;
|
|
219
243
|
}
|
|
220
244
|
export declare function usersResource(request: RequestFn): {
|
|
221
|
-
/** `GET /v1/users` — cursor-paginated. */
|
|
222
|
-
list(params?: ListUsersParams): Promise<CursorPage<User
|
|
245
|
+
/** `GET /v1/users` — search, filter and sort; cursor- (or offset-) paginated. */
|
|
246
|
+
list(params?: ListUsersParams): Promise<CursorPage<User> & {
|
|
247
|
+
total_count?: number;
|
|
248
|
+
}>;
|
|
223
249
|
get(id: string): Promise<User>;
|
|
224
250
|
create(body: CreateUserBody, idempotencyKey?: string): Promise<User>;
|
|
225
251
|
update(id: string, body: UpdateUserBody): Promise<User>;
|
|
@@ -232,7 +258,17 @@ export declare function usersResource(request: RequestFn): {
|
|
|
232
258
|
setExternalId(id: string, externalId: string | null): Promise<User>;
|
|
233
259
|
/** `PUT /v1/users/:id/metadata` — replaces the named bags wholesale. */
|
|
234
260
|
replaceMetadata(id: string, body: ReplaceUserMetadataBody): Promise<User>;
|
|
235
|
-
|
|
261
|
+
/**
|
|
262
|
+
* `POST /v1/users/:id/ban` — ban and revoke every session. Permanent unless
|
|
263
|
+
* `expires_in_seconds` or `expires_at` (Unix ms) is sent: a timed ban lifts
|
|
264
|
+
* itself (`user.unbanned` is sent when it does).
|
|
265
|
+
*/
|
|
266
|
+
ban(id: string, body?: {
|
|
267
|
+
reason?: string;
|
|
268
|
+
note?: string;
|
|
269
|
+
expires_in_seconds?: number;
|
|
270
|
+
expires_at?: number;
|
|
271
|
+
}): Promise<User>;
|
|
236
272
|
unban(id: string): Promise<User>;
|
|
237
273
|
lock(id: string, body?: {
|
|
238
274
|
duration_in_seconds?: number;
|
package/dist/client/users.js
CHANGED
|
@@ -4,7 +4,7 @@ exports.usersResource = usersResource;
|
|
|
4
4
|
const request_1 = require("./request");
|
|
5
5
|
function usersResource(request) {
|
|
6
6
|
return {
|
|
7
|
-
/** `GET /v1/users` — cursor-paginated. */
|
|
7
|
+
/** `GET /v1/users` — search, filter and sort; cursor- (or offset-) paginated. */
|
|
8
8
|
list(params = {}) {
|
|
9
9
|
return request({ method: 'GET', path: '/v1/users', query: { ...params } });
|
|
10
10
|
},
|
|
@@ -30,8 +30,13 @@ function usersResource(request) {
|
|
|
30
30
|
replaceMetadata(id, body) {
|
|
31
31
|
return request({ method: 'PUT', path: `/v1/users/${(0, request_1.enc)(id)}/metadata`, body });
|
|
32
32
|
},
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
/**
|
|
34
|
+
* `POST /v1/users/:id/ban` — ban and revoke every session. Permanent unless
|
|
35
|
+
* `expires_in_seconds` or `expires_at` (Unix ms) is sent: a timed ban lifts
|
|
36
|
+
* itself (`user.unbanned` is sent when it does).
|
|
37
|
+
*/
|
|
38
|
+
ban(id, body = {}) {
|
|
39
|
+
return request({ method: 'POST', path: `/v1/users/${(0, request_1.enc)(id)}/ban`, body });
|
|
35
40
|
},
|
|
36
41
|
unban(id) {
|
|
37
42
|
return request({ method: 'POST', path: `/v1/users/${(0, request_1.enc)(id)}/unban` });
|
package/dist/client/users.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/client/users.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/client/users.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * from './jwks-cache';
|
|
2
2
|
export { DiscoveryError, JwksDiscovery, discoveryUrlFor, instanceIdFromPublishableKey } from './discovery';
|
|
3
3
|
export * from './verify';
|
|
4
|
+
export * from './access-control';
|
|
4
5
|
export * from './handshake';
|
|
5
6
|
export { BACKCHANNEL_LOGOUT_EVENT, LOGOUT_TOKEN_CLOCK_SKEW_SECONDS, LOGOUT_TOKEN_MAX_AGE_SECONDS, LogoutTokenVerifier, memoryLogoutReplayStore, verifyLogoutToken, } from './logout-token';
|
|
6
7
|
export type { LogoutReplayStore, LogoutTokenCheckOptions, LogoutTokenClaims, LogoutTokenResult, LogoutTokenVerifierOptions, } from './logout-token';
|
|
@@ -8,6 +9,7 @@ export { AtlasOidcError, OIDC_FLOW_COOKIE, OIDC_FLOW_MAX_AGE_SECONDS, oidc, oidc
|
|
|
8
9
|
export type { AtlasOidc, AtlasOidcErrorCode, OidcCallbackOptions, OidcClientAuth, OidcIdentity, OidcLogoutUrlOptions, OidcStartOptions, OidcStartResult, VerifyIdTokenOptions, } from './oidc';
|
|
9
10
|
export * from './webhooks';
|
|
10
11
|
export * from './referrals';
|
|
12
|
+
export * from './botid';
|
|
11
13
|
export { createAtlasClient } from './client';
|
|
12
14
|
export type { AtlasClient } from './client';
|
|
13
15
|
export * from './client';
|
|
@@ -19,3 +21,5 @@ export { verifyPCActn } from './pca/verify';
|
|
|
19
21
|
export type { PcaVerdict, PcaContext, VerifyPCActnOptions } from './pca/verify';
|
|
20
22
|
export { requirePCA, defaultExtract, memoryPcaStore } from './pca/require-pca';
|
|
21
23
|
export type { RequirePcaOptions, PcaGuardResult, PcaRequestLike, PcaStateStore } from './pca/require-pca';
|
|
24
|
+
export { ACCESS_TOKEN_CLOCK_SKEW_SECONDS, DPOP_PROOF_MAX_AGE_SECONDS, buildWwwAuthenticate, createAccessTokenVerifier, createIntrospector, hmacDpopNonceSource, memoryDpopNonceSource, memoryDpopReplayStore, protectedResourceMetadata, protectedResourceMetadataPath, verifyAccessToken, } from './oauth-resource';
|
|
25
|
+
export type { AccessTokenClaims, AccessTokenErrorCode, AccessTokenResult, AccessTokenVerifierOptions, DpopNonceSource, DpopReplayStore, IntrospectionOptions, ResourceRequestLike, } from './oauth-resource';
|
package/dist/index.js
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.memoryPcaStore = exports.defaultExtract = exports.requirePCA = exports.verifyPCActn = exports.REFERALLY_API_VERSION = exports.referralEmailHash = exports.referallySignature = exports.signReferralUpdatedEvent = exports.signReferallyCall = exports.signAtlasReferralCall = exports.TEST_TOKEN_TAMPERS = exports.createTestIssuer = exports.createAtlasClient = exports.resetOidcCaches = exports.oidcVerifyIdToken = exports.oidcStart = exports.oidcLogoutUrl = exports.oidcClearCookie = exports.oidcCallback = exports.oidc = exports.OIDC_FLOW_MAX_AGE_SECONDS = exports.OIDC_FLOW_COOKIE = exports.AtlasOidcError = exports.verifyLogoutToken = exports.memoryLogoutReplayStore = exports.LogoutTokenVerifier = exports.LOGOUT_TOKEN_MAX_AGE_SECONDS = exports.LOGOUT_TOKEN_CLOCK_SKEW_SECONDS = exports.BACKCHANNEL_LOGOUT_EVENT = exports.instanceIdFromPublishableKey = exports.discoveryUrlFor = exports.JwksDiscovery = exports.DiscoveryError = void 0;
|
|
17
|
+
exports.verifyAccessToken = exports.protectedResourceMetadataPath = exports.protectedResourceMetadata = exports.memoryDpopReplayStore = exports.memoryDpopNonceSource = exports.hmacDpopNonceSource = exports.createIntrospector = exports.createAccessTokenVerifier = exports.buildWwwAuthenticate = exports.DPOP_PROOF_MAX_AGE_SECONDS = exports.ACCESS_TOKEN_CLOCK_SKEW_SECONDS = exports.memoryPcaStore = exports.defaultExtract = exports.requirePCA = exports.verifyPCActn = exports.REFERALLY_API_VERSION = exports.referralEmailHash = exports.referallySignature = exports.signReferralUpdatedEvent = exports.signReferallyCall = exports.signAtlasReferralCall = exports.TEST_TOKEN_TAMPERS = exports.createTestIssuer = exports.createAtlasClient = exports.resetOidcCaches = exports.oidcVerifyIdToken = exports.oidcStart = exports.oidcLogoutUrl = exports.oidcClearCookie = exports.oidcCallback = exports.oidc = exports.OIDC_FLOW_MAX_AGE_SECONDS = exports.OIDC_FLOW_COOKIE = exports.AtlasOidcError = exports.verifyLogoutToken = exports.memoryLogoutReplayStore = exports.LogoutTokenVerifier = exports.LOGOUT_TOKEN_MAX_AGE_SECONDS = exports.LOGOUT_TOKEN_CLOCK_SKEW_SECONDS = exports.BACKCHANNEL_LOGOUT_EVENT = exports.instanceIdFromPublishableKey = exports.discoveryUrlFor = exports.JwksDiscovery = exports.DiscoveryError = void 0;
|
|
18
18
|
// §7.3 token verification — the original surface, unchanged.
|
|
19
19
|
__exportStar(require("./jwks-cache"), exports);
|
|
20
20
|
// OIDC discovery of the JWKS URL when only `issuer` is configured.
|
|
@@ -24,6 +24,7 @@ Object.defineProperty(exports, "JwksDiscovery", { enumerable: true, get: functio
|
|
|
24
24
|
Object.defineProperty(exports, "discoveryUrlFor", { enumerable: true, get: function () { return discovery_1.discoveryUrlFor; } });
|
|
25
25
|
Object.defineProperty(exports, "instanceIdFromPublishableKey", { enumerable: true, get: function () { return discovery_1.instanceIdFromPublishableKey; } });
|
|
26
26
|
__exportStar(require("./verify"), exports);
|
|
27
|
+
__exportStar(require("./access-control"), exports);
|
|
27
28
|
__exportStar(require("./handshake"), exports);
|
|
28
29
|
// OIDC Back-Channel Logout: verify the logout_token Atlas POSTs to your app.
|
|
29
30
|
var logout_token_1 = require("./logout-token");
|
|
@@ -50,6 +51,8 @@ Object.defineProperty(exports, "resetOidcCaches", { enumerable: true, get: funct
|
|
|
50
51
|
__exportStar(require("./webhooks"), exports);
|
|
51
52
|
// The Atlas referral protocol, for a referral platform receiving Atlas's signed calls.
|
|
52
53
|
__exportStar(require("./referrals"), exports);
|
|
54
|
+
// Vercel BotID: sign checkBotId() verdicts on your Vercel route for Atlas's captcha gate.
|
|
55
|
+
__exportStar(require("./botid"), exports);
|
|
53
56
|
// The typed management client for the secret-key Backend API.
|
|
54
57
|
var client_1 = require("./client");
|
|
55
58
|
Object.defineProperty(exports, "createAtlasClient", { enumerable: true, get: function () { return client_1.createAtlasClient; } });
|
|
@@ -75,4 +78,18 @@ var require_pca_1 = require("./pca/require-pca");
|
|
|
75
78
|
Object.defineProperty(exports, "requirePCA", { enumerable: true, get: function () { return require_pca_1.requirePCA; } });
|
|
76
79
|
Object.defineProperty(exports, "defaultExtract", { enumerable: true, get: function () { return require_pca_1.defaultExtract; } });
|
|
77
80
|
Object.defineProperty(exports, "memoryPcaStore", { enumerable: true, get: function () { return require_pca_1.memoryPcaStore; } });
|
|
81
|
+
// Protecting your own API / MCP server with Atlas-issued OAuth access tokens:
|
|
82
|
+
// local verification (aud, scopes, DPoP) + RFC 6750/9728 challenges + metadata.
|
|
83
|
+
var oauth_resource_1 = require("./oauth-resource");
|
|
84
|
+
Object.defineProperty(exports, "ACCESS_TOKEN_CLOCK_SKEW_SECONDS", { enumerable: true, get: function () { return oauth_resource_1.ACCESS_TOKEN_CLOCK_SKEW_SECONDS; } });
|
|
85
|
+
Object.defineProperty(exports, "DPOP_PROOF_MAX_AGE_SECONDS", { enumerable: true, get: function () { return oauth_resource_1.DPOP_PROOF_MAX_AGE_SECONDS; } });
|
|
86
|
+
Object.defineProperty(exports, "buildWwwAuthenticate", { enumerable: true, get: function () { return oauth_resource_1.buildWwwAuthenticate; } });
|
|
87
|
+
Object.defineProperty(exports, "createAccessTokenVerifier", { enumerable: true, get: function () { return oauth_resource_1.createAccessTokenVerifier; } });
|
|
88
|
+
Object.defineProperty(exports, "createIntrospector", { enumerable: true, get: function () { return oauth_resource_1.createIntrospector; } });
|
|
89
|
+
Object.defineProperty(exports, "hmacDpopNonceSource", { enumerable: true, get: function () { return oauth_resource_1.hmacDpopNonceSource; } });
|
|
90
|
+
Object.defineProperty(exports, "memoryDpopNonceSource", { enumerable: true, get: function () { return oauth_resource_1.memoryDpopNonceSource; } });
|
|
91
|
+
Object.defineProperty(exports, "memoryDpopReplayStore", { enumerable: true, get: function () { return oauth_resource_1.memoryDpopReplayStore; } });
|
|
92
|
+
Object.defineProperty(exports, "protectedResourceMetadata", { enumerable: true, get: function () { return oauth_resource_1.protectedResourceMetadata; } });
|
|
93
|
+
Object.defineProperty(exports, "protectedResourceMetadataPath", { enumerable: true, get: function () { return oauth_resource_1.protectedResourceMetadataPath; } });
|
|
94
|
+
Object.defineProperty(exports, "verifyAccessToken", { enumerable: true, get: function () { return oauth_resource_1.verifyAccessToken; } });
|
|
78
95
|
//# 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":";;;;;;;;;;;;;;;;;AAAA,6DAA6D;AAC7D,+CAA6B;AAC7B,mEAAmE;AACnE,yCAA2G;AAAlG,2GAAA,cAAc,OAAA;AAAE,0GAAA,aAAa,OAAA;AAAE,4GAAA,eAAe,OAAA;AAAE,yHAAA,4BAA4B,OAAA;AACrF,2CAAyB;AACzB,8CAA4B;AAE5B,6EAA6E;AAC7E,+CAOwB;AANtB,wHAAA,wBAAwB,OAAA;AACxB,+HAAA,+BAA+B,OAAA;AAC/B,4HAAA,4BAA4B,OAAA;AAC5B,mHAAA,mBAAmB,OAAA;AACnB,uHAAA,uBAAuB,OAAA;AACvB,iHAAA,iBAAiB,OAAA;AAUnB,sEAAsE;AACtE,iFAAiF;AACjF,+BAWgB;AAVd,sGAAA,cAAc,OAAA;AACd,wGAAA,gBAAgB,OAAA;AAChB,iHAAA,yBAAyB,OAAA;AACzB,4FAAA,IAAI,OAAA;AACJ,oGAAA,YAAY,OAAA;AACZ,uGAAA,eAAe,OAAA;AACf,qGAAA,aAAa,OAAA;AACb,iGAAA,SAAS,OAAA;AACT,yGAAA,iBAAiB,OAAA;AACjB,uGAAA,eAAe,OAAA;AAcjB,oDAAoD;AACpD,6CAA2B;AAE3B,uFAAuF;AACvF,8CAA4B;AAE5B,8DAA8D;AAC9D,mCAA6C;AAApC,2GAAA,iBAAiB,OAAA;AAE1B,2CAAyB;AAEzB,yEAAyE;AACzE,2EAA2E;AAC3E,iEAAiE;AACjE,qCAAiE;AAAxD,2GAAA,gBAAgB,OAAA;AAAE,6GAAA,kBAAkB,OAAA;AAS7C,6DAO+B;AAN7B,4HAAA,qBAAqB,OAAA;AACrB,wHAAA,iBAAiB,OAAA;AACjB,+HAAA,wBAAwB,OAAA;AACxB,yHAAA,kBAAkB,OAAA;AAClB,wHAAA,iBAAiB,OAAA;AACjB,4HAAA,qBAAqB,OAAA;AAWvB,wFAAwF;AACxF,2CAA2C;AAC3C,uCAA4C;AAAnC,sGAAA,YAAY,OAAA;AAErB,iDAA+E;AAAtE,yGAAA,UAAU,OAAA;AAAE,6GAAA,cAAc,OAAA;AAAE,6GAAA,cAAc,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6DAA6D;AAC7D,+CAA6B;AAC7B,mEAAmE;AACnE,yCAA2G;AAAlG,2GAAA,cAAc,OAAA;AAAE,0GAAA,aAAa,OAAA;AAAE,4GAAA,eAAe,OAAA;AAAE,yHAAA,4BAA4B,OAAA;AACrF,2CAAyB;AACzB,mDAAiC;AACjC,8CAA4B;AAE5B,6EAA6E;AAC7E,+CAOwB;AANtB,wHAAA,wBAAwB,OAAA;AACxB,+HAAA,+BAA+B,OAAA;AAC/B,4HAAA,4BAA4B,OAAA;AAC5B,mHAAA,mBAAmB,OAAA;AACnB,uHAAA,uBAAuB,OAAA;AACvB,iHAAA,iBAAiB,OAAA;AAUnB,sEAAsE;AACtE,iFAAiF;AACjF,+BAWgB;AAVd,sGAAA,cAAc,OAAA;AACd,wGAAA,gBAAgB,OAAA;AAChB,iHAAA,yBAAyB,OAAA;AACzB,4FAAA,IAAI,OAAA;AACJ,oGAAA,YAAY,OAAA;AACZ,uGAAA,eAAe,OAAA;AACf,qGAAA,aAAa,OAAA;AACb,iGAAA,SAAS,OAAA;AACT,yGAAA,iBAAiB,OAAA;AACjB,uGAAA,eAAe,OAAA;AAcjB,oDAAoD;AACpD,6CAA2B;AAE3B,uFAAuF;AACvF,8CAA4B;AAE5B,0FAA0F;AAC1F,0CAAwB;AAExB,8DAA8D;AAC9D,mCAA6C;AAApC,2GAAA,iBAAiB,OAAA;AAE1B,2CAAyB;AAEzB,yEAAyE;AACzE,2EAA2E;AAC3E,iEAAiE;AACjE,qCAAiE;AAAxD,2GAAA,gBAAgB,OAAA;AAAE,6GAAA,kBAAkB,OAAA;AAS7C,6DAO+B;AAN7B,4HAAA,qBAAqB,OAAA;AACrB,wHAAA,iBAAiB,OAAA;AACjB,+HAAA,wBAAwB,OAAA;AACxB,yHAAA,kBAAkB,OAAA;AAClB,wHAAA,iBAAiB,OAAA;AACjB,4HAAA,qBAAqB,OAAA;AAWvB,wFAAwF;AACxF,2CAA2C;AAC3C,uCAA4C;AAAnC,sGAAA,YAAY,OAAA;AAErB,iDAA+E;AAAtE,yGAAA,UAAU,OAAA;AAAE,6GAAA,cAAc,OAAA;AAAE,6GAAA,cAAc,OAAA;AAGnD,8EAA8E;AAC9E,gFAAgF;AAChF,mDAY0B;AAXxB,iIAAA,+BAA+B,OAAA;AAC/B,4HAAA,0BAA0B,OAAA;AAC1B,sHAAA,oBAAoB,OAAA;AACpB,2HAAA,yBAAyB,OAAA;AACzB,oHAAA,kBAAkB,OAAA;AAClB,qHAAA,mBAAmB,OAAA;AACnB,uHAAA,qBAAqB,OAAA;AACrB,uHAAA,qBAAqB,OAAA;AACrB,2HAAA,yBAAyB,OAAA;AACzB,+HAAA,6BAA6B,OAAA;AAC7B,mHAAA,iBAAiB,OAAA"}
|
package/dist/logout-token.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { JwksCache, type Jwks } from './jwks-cache';
|
|
|
3
3
|
* OpenID Connect Back-Channel Logout 1.0 — verifying the `logout_token` Atlas
|
|
4
4
|
* POSTs to your `backchannel_logout_uri` when a user's session ends.
|
|
5
5
|
*
|
|
6
|
-
* The checks are those of §2.6 of the spec: RS256 signature from the issuer's
|
|
6
|
+
* The checks are those of §2.6 of the spec: RS256 or ES256 signature from the issuer's
|
|
7
7
|
* JWKS, `iss`, `aud` containing your client id, `iat` present (and not in the
|
|
8
8
|
* future), `exp` when present, a `jti`, the back-channel-logout event, a `sid`
|
|
9
9
|
* and/or `sub`, NO `nonce`, and a `typ` of `logout+jwt` when the header has one.
|
package/dist/logout-token.js
CHANGED
|
@@ -7,11 +7,12 @@ exports.checkLogoutToken = checkLogoutToken;
|
|
|
7
7
|
const jose_1 = require("jose");
|
|
8
8
|
const jwks_cache_1 = require("./jwks-cache");
|
|
9
9
|
const discovery_1 = require("./discovery");
|
|
10
|
+
const algs_1 = require("./algs");
|
|
10
11
|
/**
|
|
11
12
|
* OpenID Connect Back-Channel Logout 1.0 — verifying the `logout_token` Atlas
|
|
12
13
|
* POSTs to your `backchannel_logout_uri` when a user's session ends.
|
|
13
14
|
*
|
|
14
|
-
* The checks are those of §2.6 of the spec: RS256 signature from the issuer's
|
|
15
|
+
* The checks are those of §2.6 of the spec: RS256 or ES256 signature from the issuer's
|
|
15
16
|
* JWKS, `iss`, `aud` containing your client id, `iat` present (and not in the
|
|
16
17
|
* future), `exp` when present, a `jti`, the back-channel-logout event, a `sid`
|
|
17
18
|
* and/or `sub`, NO `nonce`, and a `typ` of `logout+jwt` when the header has one.
|
|
@@ -122,7 +123,7 @@ async function checkLogoutToken(token, cache, options) {
|
|
|
122
123
|
let payload;
|
|
123
124
|
try {
|
|
124
125
|
const verified = await (0, jose_1.jwtVerify)(token, (0, jose_1.createLocalJWKSet)(keys), {
|
|
125
|
-
algorithms:
|
|
126
|
+
algorithms: algs_1.ATLAS_SIGNING_ALGS,
|
|
126
127
|
issuer: options.issuer,
|
|
127
128
|
audience,
|
|
128
129
|
clockTolerance: exports.LOGOUT_TOKEN_CLOCK_SKEW_SECONDS,
|
package/dist/logout-token.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logout-token.js","sourceRoot":"","sources":["../src/logout-token.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"logout-token.js","sourceRoot":"","sources":["../src/logout-token.ts"],"names":[],"mappings":"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"}
|