@workos-inc/node 7.14.0 → 7.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.
Files changed (26) hide show
  1. package/lib/common/interfaces/event.interface.d.ts +67 -3
  2. package/lib/common/interfaces/workos-options.interface.d.ts +1 -0
  3. package/lib/common/net/node-client.d.ts +0 -1
  4. package/lib/common/serializers/event.serializer.js +9 -0
  5. package/lib/user-management/interfaces/authenticate-with-options-base.interface.d.ts +5 -0
  6. package/lib/user-management/interfaces/authenticate-with-session-cookie.interface.d.ts +24 -0
  7. package/lib/user-management/interfaces/authenticate-with-session-cookie.interface.js +9 -0
  8. package/lib/user-management/interfaces/authentication-event.interface.d.ts +25 -0
  9. package/lib/user-management/interfaces/authentication-event.interface.js +2 -0
  10. package/lib/user-management/interfaces/authentication-response.interface.d.ts +1 -0
  11. package/lib/user-management/interfaces/index.d.ts +3 -0
  12. package/lib/user-management/interfaces/index.js +3 -0
  13. package/lib/user-management/interfaces/refresh-and-seal-session-data.interface.d.ts +16 -0
  14. package/lib/user-management/interfaces/refresh-and-seal-session-data.interface.js +11 -0
  15. package/lib/user-management/interfaces/session-handler-options.interface.d.ts +4 -0
  16. package/lib/user-management/interfaces/session-handler-options.interface.js +2 -0
  17. package/lib/user-management/serializers/authentication-event.serializer.d.ts +2 -0
  18. package/lib/user-management/serializers/authentication-event.serializer.js +13 -0
  19. package/lib/user-management/serializers/index.d.ts +1 -0
  20. package/lib/user-management/serializers/index.js +1 -0
  21. package/lib/user-management/user-management.d.ts +20 -10
  22. package/lib/user-management/user-management.js +225 -47
  23. package/lib/user-management/user-management.spec.js +503 -5
  24. package/lib/workos.d.ts +1 -0
  25. package/lib/workos.js +5 -2
  26. package/package.json +4 -2
@@ -1,7 +1,7 @@
1
1
  import { DirectoryUser, DirectoryUserResponse, DirectoryGroup, DirectoryGroupResponse, EventDirectory, EventDirectoryResponse } from '../../directory-sync/interfaces';
2
2
  import { Organization, OrganizationResponse } from '../../organizations/interfaces';
3
3
  import { Connection, ConnectionResponse } from '../../sso/interfaces';
4
- import { EmailVerificationEvent, EmailVerificationEventResponse, InvitationEvent, InvitationEventResponse, MagicAuthEvent, MagicAuthEventResponse, PasswordResetEvent, PasswordResetEventResponse, Session, SessionResponse, User, UserResponse } from '../../user-management/interfaces';
4
+ import { AuthenticationEvent, AuthenticationEventResponse, EmailVerificationEvent, EmailVerificationEventResponse, InvitationEvent, InvitationEventResponse, MagicAuthEvent, MagicAuthEventResponse, PasswordResetEvent, PasswordResetEventResponse, Session, SessionResponse, User, UserResponse } from '../../user-management/interfaces';
5
5
  import { OrganizationMembership, OrganizationMembershipResponse } from '../../user-management/interfaces/organization-membership.interface';
6
6
  import { RoleEvent, RoleEventResponse } from '../../roles/interfaces/role.interface';
7
7
  export interface EventBase {
@@ -12,6 +12,70 @@ interface EventResponseBase {
12
12
  id: string;
13
13
  created_at: string;
14
14
  }
15
+ export interface AuthenticationEmailVerificationSucceededEvent extends EventBase {
16
+ event: 'authentication.email_verification_succeeded';
17
+ data: AuthenticationEvent;
18
+ }
19
+ export interface AuthenticationEmailVerificationSucceededEventResponse extends EventResponseBase {
20
+ event: 'authentication.email_verification_succeeded';
21
+ data: AuthenticationEventResponse;
22
+ }
23
+ export interface AuthenticationMagicAuthFailedEvent extends EventBase {
24
+ event: 'authentication.magic_auth_failed';
25
+ data: AuthenticationEvent;
26
+ }
27
+ export interface AuthenticationMagicAuthFailedEventResponse extends EventResponseBase {
28
+ event: 'authentication.magic_auth_failed';
29
+ data: AuthenticationEventResponse;
30
+ }
31
+ export interface AuthenticationMagicAuthSucceededEvent extends EventBase {
32
+ event: 'authentication.magic_auth_succeeded';
33
+ data: AuthenticationEvent;
34
+ }
35
+ export interface AuthenticationMagicAuthSucceededEventResponse extends EventResponseBase {
36
+ event: 'authentication.magic_auth_succeeded';
37
+ data: AuthenticationEventResponse;
38
+ }
39
+ export interface AuthenticationMfaSucceededEvent extends EventBase {
40
+ event: 'authentication.mfa_succeeded';
41
+ data: AuthenticationEvent;
42
+ }
43
+ export interface AuthenticationMfaSucceededEventResponse extends EventResponseBase {
44
+ event: 'authentication.mfa_succeeded';
45
+ data: AuthenticationEventResponse;
46
+ }
47
+ export interface AuthenticationOAuthSucceededEvent extends EventBase {
48
+ event: 'authentication.oauth_succeeded';
49
+ data: AuthenticationEvent;
50
+ }
51
+ export interface AuthenticationOAuthSucceededEventResponse extends EventResponseBase {
52
+ event: 'authentication.oauth_succeeded';
53
+ data: AuthenticationEventResponse;
54
+ }
55
+ export interface AuthenticationPasswordFailedEvent extends EventBase {
56
+ event: 'authentication.password_failed';
57
+ data: AuthenticationEvent;
58
+ }
59
+ export interface AuthenticationPasswordFailedEventResponse extends EventResponseBase {
60
+ event: 'authentication.password_failed';
61
+ data: AuthenticationEventResponse;
62
+ }
63
+ export interface AuthenticationPasswordSucceededEvent extends EventBase {
64
+ event: 'authentication.password_succeeded';
65
+ data: AuthenticationEvent;
66
+ }
67
+ export interface AuthenticationPasswordSucceededEventResponse extends EventResponseBase {
68
+ event: 'authentication.password_succeeded';
69
+ data: AuthenticationEventResponse;
70
+ }
71
+ export interface AuthenticationSSOSucceededEvent extends EventBase {
72
+ event: 'authentication.sso_succeeded';
73
+ data: AuthenticationEvent;
74
+ }
75
+ export interface AuthenticationSSOSucceededEventResponse extends EventResponseBase {
76
+ event: 'authentication.sso_succeeded';
77
+ data: AuthenticationEventResponse;
78
+ }
15
79
  export interface ConnectionActivatedEvent extends EventBase {
16
80
  event: 'connection.activated';
17
81
  data: Connection;
@@ -296,7 +360,7 @@ export interface SessionCreatedEventResponse extends EventResponseBase {
296
360
  event: 'session.created';
297
361
  data: SessionResponse;
298
362
  }
299
- export type Event = ConnectionActivatedEvent | ConnectionDeactivatedEvent | ConnectionDeletedEvent | DsyncActivatedEvent | DsyncDeactivatedEvent | DsyncDeletedEvent | DsyncGroupCreatedEvent | DsyncGroupUpdatedEvent | DsyncGroupDeletedEvent | DsyncGroupUserAddedEvent | DsyncGroupUserRemovedEvent | DsyncUserCreatedEvent | DsyncUserUpdatedEvent | DsyncUserDeletedEvent | EmailVerificationCreatedEvent | InvitationCreatedEvent | MagicAuthCreatedEvent | PasswordResetCreatedEvent | UserCreatedEvent | UserUpdatedEvent | UserDeletedEvent | OrganizationMembershipAdded | OrganizationMembershipCreated | OrganizationMembershipDeleted | OrganizationMembershipUpdated | OrganizationMembershipRemoved | RoleCreatedEvent | RoleDeletedEvent | SessionCreatedEvent | OrganizationCreatedEvent | OrganizationUpdatedEvent | OrganizationDeletedEvent;
300
- export type EventResponse = ConnectionActivatedEventResponse | ConnectionDeactivatedEventResponse | ConnectionDeletedEventResponse | DsyncActivatedEventResponse | DsyncDeactivatedEventResponse | DsyncDeletedEventResponse | DsyncGroupCreatedEventResponse | DsyncGroupUpdatedEventResponse | DsyncGroupDeletedEventResponse | DsyncGroupUserAddedEventResponse | DsyncGroupUserRemovedEventResponse | DsyncUserCreatedEventResponse | DsyncUserUpdatedEventResponse | DsyncUserDeletedEventResponse | EmailVerificationCreatedEventResponse | InvitationCreatedEventResponse | MagicAuthCreatedEventResponse | PasswordResetCreatedEventResponse | UserCreatedEventResponse | UserUpdatedEventResponse | UserDeletedEventResponse | OrganizationMembershipAddedResponse | OrganizationMembershipCreatedResponse | OrganizationMembershipDeletedResponse | OrganizationMembershipUpdatedResponse | OrganizationMembershipRemovedResponse | RoleCreatedEventResponse | RoleDeletedEventResponse | SessionCreatedEventResponse | OrganizationCreatedResponse | OrganizationUpdatedResponse | OrganizationDeletedResponse;
363
+ export type Event = AuthenticationEmailVerificationSucceededEvent | AuthenticationMfaSucceededEvent | AuthenticationOAuthSucceededEvent | AuthenticationSSOSucceededEvent | AuthenticationPasswordFailedEvent | AuthenticationPasswordSucceededEvent | AuthenticationMagicAuthFailedEvent | AuthenticationMagicAuthSucceededEvent | ConnectionActivatedEvent | ConnectionDeactivatedEvent | ConnectionDeletedEvent | DsyncActivatedEvent | DsyncDeactivatedEvent | DsyncDeletedEvent | DsyncGroupCreatedEvent | DsyncGroupUpdatedEvent | DsyncGroupDeletedEvent | DsyncGroupUserAddedEvent | DsyncGroupUserRemovedEvent | DsyncUserCreatedEvent | DsyncUserUpdatedEvent | DsyncUserDeletedEvent | EmailVerificationCreatedEvent | InvitationCreatedEvent | MagicAuthCreatedEvent | PasswordResetCreatedEvent | UserCreatedEvent | UserUpdatedEvent | UserDeletedEvent | OrganizationMembershipAdded | OrganizationMembershipCreated | OrganizationMembershipDeleted | OrganizationMembershipUpdated | OrganizationMembershipRemoved | RoleCreatedEvent | RoleDeletedEvent | SessionCreatedEvent | OrganizationCreatedEvent | OrganizationUpdatedEvent | OrganizationDeletedEvent;
364
+ export type EventResponse = AuthenticationEmailVerificationSucceededEventResponse | AuthenticationMagicAuthFailedEventResponse | AuthenticationMagicAuthSucceededEventResponse | AuthenticationMfaSucceededEventResponse | AuthenticationOAuthSucceededEventResponse | AuthenticationPasswordFailedEventResponse | AuthenticationPasswordSucceededEventResponse | AuthenticationSSOSucceededEventResponse | ConnectionActivatedEventResponse | ConnectionDeactivatedEventResponse | ConnectionDeletedEventResponse | DsyncActivatedEventResponse | DsyncDeactivatedEventResponse | DsyncDeletedEventResponse | DsyncGroupCreatedEventResponse | DsyncGroupUpdatedEventResponse | DsyncGroupDeletedEventResponse | DsyncGroupUserAddedEventResponse | DsyncGroupUserRemovedEventResponse | DsyncUserCreatedEventResponse | DsyncUserUpdatedEventResponse | DsyncUserDeletedEventResponse | EmailVerificationCreatedEventResponse | InvitationCreatedEventResponse | MagicAuthCreatedEventResponse | PasswordResetCreatedEventResponse | UserCreatedEventResponse | UserUpdatedEventResponse | UserDeletedEventResponse | OrganizationMembershipAddedResponse | OrganizationMembershipCreatedResponse | OrganizationMembershipDeletedResponse | OrganizationMembershipUpdatedResponse | OrganizationMembershipRemovedResponse | RoleCreatedEventResponse | RoleDeletedEventResponse | SessionCreatedEventResponse | OrganizationCreatedResponse | OrganizationUpdatedResponse | OrganizationDeletedResponse;
301
365
  export type EventName = Event['event'];
302
366
  export {};
@@ -6,4 +6,5 @@ export interface WorkOSOptions {
6
6
  config?: RequestInit;
7
7
  appInfo?: AppInfo;
8
8
  fetchFn?: typeof fetch;
9
+ clientId?: string;
9
10
  }
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import { HttpClient, HttpClientResponse } from './http-client';
3
2
  import { HttpClientInterface, HttpClientResponseInterface, RequestOptions } from '../interfaces/http-client.interface';
4
3
  import * as http_ from 'node:http';
@@ -14,6 +14,15 @@ const deserializeEvent = (event) => {
14
14
  createdAt: event.created_at,
15
15
  };
16
16
  switch (event.event) {
17
+ case 'authentication.email_verification_succeeded':
18
+ case 'authentication.magic_auth_failed':
19
+ case 'authentication.magic_auth_succeeded':
20
+ case 'authentication.mfa_succeeded':
21
+ case 'authentication.oauth_succeeded':
22
+ case 'authentication.password_failed':
23
+ case 'authentication.password_succeeded':
24
+ case 'authentication.sso_succeeded':
25
+ return Object.assign(Object.assign({}, eventBase), { event: event.event, data: (0, serializers_4.deserializeAuthenticationEvent)(event.data) });
17
26
  case 'connection.activated':
18
27
  case 'connection.deactivated':
19
28
  case 'connection.deleted':
@@ -1,7 +1,12 @@
1
+ export interface AuthenticateWithSessionOptions {
2
+ cookiePassword?: string;
3
+ sealSession: boolean;
4
+ }
1
5
  export interface AuthenticateWithOptionsBase {
2
6
  clientId: string;
3
7
  ipAddress?: string;
4
8
  userAgent?: string;
9
+ session?: AuthenticateWithSessionOptions;
5
10
  }
6
11
  export interface SerializedAuthenticateWithOptionsBase {
7
12
  client_id: string;
@@ -0,0 +1,24 @@
1
+ import { AuthenticationResponse } from './authentication-response.interface';
2
+ export interface AccessToken {
3
+ sid: string;
4
+ org_id?: string;
5
+ role?: string;
6
+ permissions?: string[];
7
+ }
8
+ export type SessionCookieData = Pick<AuthenticationResponse, 'accessToken' | 'impersonator' | 'organizationId' | 'refreshToken' | 'user'>;
9
+ export declare enum AuthenticateWithSessionCookieFailureReason {
10
+ INVALID_JWT = "invalid_jwt",
11
+ INVALID_SESSION_COOKIE = "invalid_session_cookie",
12
+ NO_SESSION_COOKIE_PROVIDED = "no_session_cookie_provided"
13
+ }
14
+ export type AuthenticateWithSessionCookieFailedResponse = {
15
+ authenticated: false;
16
+ reason: AuthenticateWithSessionCookieFailureReason;
17
+ };
18
+ export type AuthenticateWithSessionCookieSuccessResponse = {
19
+ authenticated: true;
20
+ sessionId: string;
21
+ organizationId?: string;
22
+ role?: string;
23
+ permissions?: string[];
24
+ };
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AuthenticateWithSessionCookieFailureReason = void 0;
4
+ var AuthenticateWithSessionCookieFailureReason;
5
+ (function (AuthenticateWithSessionCookieFailureReason) {
6
+ AuthenticateWithSessionCookieFailureReason["INVALID_JWT"] = "invalid_jwt";
7
+ AuthenticateWithSessionCookieFailureReason["INVALID_SESSION_COOKIE"] = "invalid_session_cookie";
8
+ AuthenticateWithSessionCookieFailureReason["NO_SESSION_COOKIE_PROVIDED"] = "no_session_cookie_provided";
9
+ })(AuthenticateWithSessionCookieFailureReason || (exports.AuthenticateWithSessionCookieFailureReason = AuthenticateWithSessionCookieFailureReason = {}));
@@ -0,0 +1,25 @@
1
+ interface AuthenticationEventError {
2
+ code: string;
3
+ message: string;
4
+ }
5
+ type AuthenticationEventType = 'sso' | 'password' | 'oauth' | 'mfa' | 'magic_auth' | 'email_verification';
6
+ type AuthenticationEventStatus = 'failed' | 'succeeded';
7
+ export type AuthenticationEvent = {
8
+ email: string | null;
9
+ error?: AuthenticationEventError;
10
+ ipAddress: string | null;
11
+ status: AuthenticationEventStatus;
12
+ type: AuthenticationEventType;
13
+ userAgent: string | null;
14
+ userId: string | null;
15
+ };
16
+ export interface AuthenticationEventResponse {
17
+ email: string | null;
18
+ error?: AuthenticationEventError;
19
+ ip_address: string | null;
20
+ status: AuthenticationEventStatus;
21
+ type: AuthenticationEventType;
22
+ user_agent: string | null;
23
+ user_id: string | null;
24
+ }
25
+ export {};
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -8,6 +8,7 @@ export interface AuthenticationResponse {
8
8
  refreshToken: string;
9
9
  impersonator?: Impersonator;
10
10
  authenticationMethod?: AuthenticationMethod;
11
+ sealedSession?: string;
11
12
  }
12
13
  export interface AuthenticationResponseResponse {
13
14
  user: UserResponse;
@@ -1,3 +1,4 @@
1
+ export * from './authentication-event.interface';
1
2
  export * from './authenticate-with-magic-auth-options.interface';
2
3
  export * from './authenticate-with-password-options.interface';
3
4
  export * from './authenticate-with-code-options.interface';
@@ -7,6 +8,7 @@ export * from './authenticate-with-options-base.interface';
7
8
  export * from './authenticate-with-organization-selection.interface';
8
9
  export * from './authenticate-with-password-options.interface';
9
10
  export * from './authenticate-with-refresh-token-options.interface';
11
+ export * from './authenticate-with-session-cookie.interface';
10
12
  export * from './authenticate-with-totp-options.interface';
11
13
  export * from './authentication-response.interface';
12
14
  export * from './create-magic-auth-options.interface';
@@ -25,6 +27,7 @@ export * from './list-users-options.interface';
25
27
  export * from './magic-auth.interface';
26
28
  export * from './organization-membership.interface';
27
29
  export * from './password-reset.interface';
30
+ export * from './refresh-and-seal-session-data.interface';
28
31
  export * from './reset-password-options.interface';
29
32
  export * from './revoke-session-options.interface';
30
33
  export * from './send-invitation-options.interface';
@@ -14,6 +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
+ __exportStar(require("./authentication-event.interface"), exports);
17
18
  __exportStar(require("./authenticate-with-magic-auth-options.interface"), exports);
18
19
  __exportStar(require("./authenticate-with-password-options.interface"), exports);
19
20
  __exportStar(require("./authenticate-with-code-options.interface"), exports);
@@ -23,6 +24,7 @@ __exportStar(require("./authenticate-with-options-base.interface"), exports);
23
24
  __exportStar(require("./authenticate-with-organization-selection.interface"), exports);
24
25
  __exportStar(require("./authenticate-with-password-options.interface"), exports);
25
26
  __exportStar(require("./authenticate-with-refresh-token-options.interface"), exports);
27
+ __exportStar(require("./authenticate-with-session-cookie.interface"), exports);
26
28
  __exportStar(require("./authenticate-with-totp-options.interface"), exports);
27
29
  __exportStar(require("./authentication-response.interface"), exports);
28
30
  __exportStar(require("./create-magic-auth-options.interface"), exports);
@@ -41,6 +43,7 @@ __exportStar(require("./list-users-options.interface"), exports);
41
43
  __exportStar(require("./magic-auth.interface"), exports);
42
44
  __exportStar(require("./organization-membership.interface"), exports);
43
45
  __exportStar(require("./password-reset.interface"), exports);
46
+ __exportStar(require("./refresh-and-seal-session-data.interface"), exports);
44
47
  __exportStar(require("./reset-password-options.interface"), exports);
45
48
  __exportStar(require("./revoke-session-options.interface"), exports);
46
49
  __exportStar(require("./send-invitation-options.interface"), exports);
@@ -0,0 +1,16 @@
1
+ export declare enum RefreshAndSealSessionDataFailureReason {
2
+ INVALID_SESSION_COOKE = "invalid_session_cookie",
3
+ NO_SESSION_COOKIE_PROVIDED = "no_session_cookie_provided",
4
+ INVALID_GRANT = "invalid_grant",
5
+ ORGANIZATION_NOT_AUTHORIZED = "organization_not_authorized"
6
+ }
7
+ type RefreshAndSealSessionDataFailedResponse = {
8
+ authenticated: false;
9
+ reason: RefreshAndSealSessionDataFailureReason;
10
+ };
11
+ type RefreshAndSealSessionDataSuccessResponse = {
12
+ authenticated: true;
13
+ sealedSession: string;
14
+ };
15
+ export type RefreshAndSealSessionDataResponse = RefreshAndSealSessionDataFailedResponse | RefreshAndSealSessionDataSuccessResponse;
16
+ export {};
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RefreshAndSealSessionDataFailureReason = void 0;
4
+ var RefreshAndSealSessionDataFailureReason;
5
+ (function (RefreshAndSealSessionDataFailureReason) {
6
+ RefreshAndSealSessionDataFailureReason["INVALID_SESSION_COOKE"] = "invalid_session_cookie";
7
+ RefreshAndSealSessionDataFailureReason["NO_SESSION_COOKIE_PROVIDED"] = "no_session_cookie_provided";
8
+ // API OauthErrors for refresh tokens
9
+ RefreshAndSealSessionDataFailureReason["INVALID_GRANT"] = "invalid_grant";
10
+ RefreshAndSealSessionDataFailureReason["ORGANIZATION_NOT_AUTHORIZED"] = "organization_not_authorized";
11
+ })(RefreshAndSealSessionDataFailureReason || (exports.RefreshAndSealSessionDataFailureReason = RefreshAndSealSessionDataFailureReason = {}));
@@ -0,0 +1,4 @@
1
+ export interface SessionHandlerOptions {
2
+ sessionData: string;
3
+ cookiePassword?: string;
4
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ import { AuthenticationEvent, AuthenticationEventResponse } from '../interfaces';
2
+ export declare const deserializeAuthenticationEvent: (authenticationEvent: AuthenticationEventResponse) => AuthenticationEvent;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deserializeAuthenticationEvent = void 0;
4
+ const deserializeAuthenticationEvent = (authenticationEvent) => ({
5
+ email: authenticationEvent.email,
6
+ error: authenticationEvent.error,
7
+ ipAddress: authenticationEvent.ip_address,
8
+ status: authenticationEvent.status,
9
+ type: authenticationEvent.type,
10
+ userAgent: authenticationEvent.user_agent,
11
+ userId: authenticationEvent.user_id,
12
+ });
13
+ exports.deserializeAuthenticationEvent = deserializeAuthenticationEvent;
@@ -3,6 +3,7 @@ export * from './authenticate-with-magic-auth-options.serializer';
3
3
  export * from './authenticate-with-password-options.serializer';
4
4
  export * from './authenticate-with-refresh-token.options.serializer';
5
5
  export * from './authenticate-with-totp-options.serializer';
6
+ export * from './authentication-event.serializer';
6
7
  export * from './authentication-response.serializer';
7
8
  export * from './create-magic-auth-options.serializer';
8
9
  export * from './create-password-reset-options.serializer';
@@ -19,6 +19,7 @@ __exportStar(require("./authenticate-with-magic-auth-options.serializer"), expor
19
19
  __exportStar(require("./authenticate-with-password-options.serializer"), exports);
20
20
  __exportStar(require("./authenticate-with-refresh-token.options.serializer"), exports);
21
21
  __exportStar(require("./authenticate-with-totp-options.serializer"), exports);
22
+ __exportStar(require("./authentication-event.serializer"), exports);
22
23
  __exportStar(require("./authentication-response.serializer"), exports);
23
24
  __exportStar(require("./create-magic-auth-options.serializer"), exports);
24
25
  __exportStar(require("./create-password-reset-options.serializer"), exports);
@@ -1,22 +1,26 @@
1
- import { WorkOS } from '../workos';
2
1
  import { AutoPaginatable } from '../common/utils/pagination';
3
- import { AuthenticateWithCodeOptions, AuthenticateWithMagicAuthOptions, AuthenticateWithPasswordOptions, AuthenticateWithTotpOptions, AuthenticationResponse, ResetPasswordOptions, SendPasswordResetEmailOptions, CreateUserOptions, EnrollAuthFactorOptions, ListAuthFactorsOptions, ListUsersOptions, SendMagicAuthCodeOptions, SendVerificationEmailOptions, UpdateUserOptions, User, VerifyEmailOptions, AuthenticateWithRefreshTokenOptions, MagicAuth, CreateMagicAuthOptions, EmailVerification, PasswordReset, CreatePasswordResetOptions } from './interfaces';
4
2
  import { Challenge } from '../mfa/interfaces';
5
- import { OrganizationMembership } from './interfaces/organization-membership.interface';
6
- import { ListOrganizationMembershipsOptions } from './interfaces/list-organization-memberships-options.interface';
7
- import { CreateOrganizationMembershipOptions } from './interfaces/create-organization-membership-options.interface';
8
- import { Invitation } from './interfaces/invitation.interface';
9
- import { ListInvitationsOptions } from './interfaces/list-invitations-options.interface';
10
- import { SendInvitationOptions } from './interfaces/send-invitation-options.interface';
11
- import { AuthorizationURLOptions } from './interfaces/authorization-url-options.interface';
3
+ import { WorkOS } from '../workos';
4
+ import { AuthenticateWithCodeOptions, AuthenticateWithMagicAuthOptions, AuthenticateWithPasswordOptions, AuthenticateWithRefreshTokenOptions, AuthenticateWithTotpOptions, AuthenticationResponse, CreateMagicAuthOptions, CreatePasswordResetOptions, CreateUserOptions, EmailVerification, EnrollAuthFactorOptions, ListAuthFactorsOptions, ListUsersOptions, MagicAuth, PasswordReset, ResetPasswordOptions, SendMagicAuthCodeOptions, SendPasswordResetEmailOptions, SendVerificationEmailOptions, UpdateUserOptions, User, VerifyEmailOptions } from './interfaces';
12
5
  import { AuthenticateWithEmailVerificationOptions } from './interfaces/authenticate-with-email-verification-options.interface';
13
6
  import { AuthenticateWithOrganizationSelectionOptions } from './interfaces/authenticate-with-organization-selection.interface';
7
+ import { AuthenticateWithSessionCookieFailedResponse, AuthenticateWithSessionCookieSuccessResponse, SessionCookieData } from './interfaces/authenticate-with-session-cookie.interface';
8
+ import { AuthorizationURLOptions } from './interfaces/authorization-url-options.interface';
9
+ import { CreateOrganizationMembershipOptions } from './interfaces/create-organization-membership-options.interface';
14
10
  import { Factor, FactorWithSecrets } from './interfaces/factor.interface';
11
+ import { Identity } from './interfaces/identity.interface';
12
+ import { Invitation } from './interfaces/invitation.interface';
13
+ import { ListInvitationsOptions } from './interfaces/list-invitations-options.interface';
14
+ import { ListOrganizationMembershipsOptions } from './interfaces/list-organization-memberships-options.interface';
15
+ import { OrganizationMembership } from './interfaces/organization-membership.interface';
16
+ import { RefreshAndSealSessionDataResponse } from './interfaces/refresh-and-seal-session-data.interface';
15
17
  import { RevokeSessionOptions } from './interfaces/revoke-session-options.interface';
18
+ import { SendInvitationOptions } from './interfaces/send-invitation-options.interface';
19
+ import { SessionHandlerOptions } from './interfaces/session-handler-options.interface';
16
20
  import { UpdateOrganizationMembershipOptions } from './interfaces/update-organization-membership-options.interface';
17
- import { Identity } from './interfaces/identity.interface';
18
21
  export declare class UserManagement {
19
22
  private readonly workos;
23
+ private jwks;
20
24
  constructor(workos: WorkOS);
21
25
  getUser(userId: string): Promise<User>;
22
26
  listUsers(options?: ListUsersOptions): Promise<AutoPaginatable<User>>;
@@ -28,6 +32,12 @@ export declare class UserManagement {
28
32
  authenticateWithTotp(payload: AuthenticateWithTotpOptions): Promise<AuthenticationResponse>;
29
33
  authenticateWithEmailVerification(payload: AuthenticateWithEmailVerificationOptions): Promise<AuthenticationResponse>;
30
34
  authenticateWithOrganizationSelection(payload: AuthenticateWithOrganizationSelectionOptions): Promise<AuthenticationResponse>;
35
+ authenticateWithSessionCookie({ sessionData, cookiePassword, }: SessionHandlerOptions): Promise<AuthenticateWithSessionCookieSuccessResponse | AuthenticateWithSessionCookieFailedResponse>;
36
+ private isValidJwt;
37
+ refreshAndSealSessionData({ sessionData, cookiePassword, }: SessionHandlerOptions): Promise<RefreshAndSealSessionDataResponse>;
38
+ private prepareAuthenticationResponse;
39
+ private sealSessionDataFromAuthenticationResponse;
40
+ getSessionFromCookie({ sessionData, cookiePassword, }: SessionHandlerOptions): Promise<SessionCookieData | undefined>;
31
41
  getEmailVerification(emailVerificationId: string): Promise<EmailVerification>;
32
42
  sendVerificationEmail({ userId, }: SendVerificationEmailOptions): Promise<{
33
43
  user: User;