@passflow/core 0.0.1

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 (67) hide show
  1. package/README.md +1087 -0
  2. package/dist/index.js +2 -0
  3. package/dist/index.js.map +1 -0
  4. package/dist/index.mjs +2149 -0
  5. package/dist/index.mjs.map +1 -0
  6. package/dist/lib/api/app.d.ts +8 -0
  7. package/dist/lib/api/app.d.ts.map +1 -0
  8. package/dist/lib/api/auth.d.ts +23 -0
  9. package/dist/lib/api/auth.d.ts.map +1 -0
  10. package/dist/lib/api/axios-client.d.ts +36 -0
  11. package/dist/lib/api/axios-client.d.ts.map +1 -0
  12. package/dist/lib/api/index.d.ts +8 -0
  13. package/dist/lib/api/index.d.ts.map +1 -0
  14. package/dist/lib/api/invitation.d.ts +77 -0
  15. package/dist/lib/api/invitation.d.ts.map +1 -0
  16. package/dist/lib/api/model.d.ts +459 -0
  17. package/dist/lib/api/model.d.ts.map +1 -0
  18. package/dist/lib/api/setting.d.ts +10 -0
  19. package/dist/lib/api/setting.d.ts.map +1 -0
  20. package/dist/lib/api/tenant.d.ts +213 -0
  21. package/dist/lib/api/tenant.d.ts.map +1 -0
  22. package/dist/lib/api/user.d.ts +19 -0
  23. package/dist/lib/api/user.d.ts.map +1 -0
  24. package/dist/lib/constants/index.d.ts +8 -0
  25. package/dist/lib/constants/index.d.ts.map +1 -0
  26. package/dist/lib/device-service/index.d.ts +7 -0
  27. package/dist/lib/device-service/index.d.ts.map +1 -0
  28. package/dist/lib/index.d.ts +8 -0
  29. package/dist/lib/index.d.ts.map +1 -0
  30. package/dist/lib/passflow.d.ts +115 -0
  31. package/dist/lib/passflow.d.ts.map +1 -0
  32. package/dist/lib/services/auth-service.d.ts +67 -0
  33. package/dist/lib/services/auth-service.d.ts.map +1 -0
  34. package/dist/lib/services/index.d.ts +7 -0
  35. package/dist/lib/services/index.d.ts.map +1 -0
  36. package/dist/lib/services/invitation-service.d.ts +44 -0
  37. package/dist/lib/services/invitation-service.d.ts.map +1 -0
  38. package/dist/lib/services/logger.d.ts +24 -0
  39. package/dist/lib/services/logger.d.ts.map +1 -0
  40. package/dist/lib/services/tenant-service.d.ts +200 -0
  41. package/dist/lib/services/tenant-service.d.ts.map +1 -0
  42. package/dist/lib/services/tenant-user-membership.d.ts +76 -0
  43. package/dist/lib/services/tenant-user-membership.d.ts.map +1 -0
  44. package/dist/lib/services/token-cache-service.d.ts +26 -0
  45. package/dist/lib/services/token-cache-service.d.ts.map +1 -0
  46. package/dist/lib/services/user-service.d.ts +39 -0
  47. package/dist/lib/services/user-service.d.ts.map +1 -0
  48. package/dist/lib/storage-manager/index.d.ts +37 -0
  49. package/dist/lib/storage-manager/index.d.ts.map +1 -0
  50. package/dist/lib/store.d.ts +89 -0
  51. package/dist/lib/store.d.ts.map +1 -0
  52. package/dist/lib/token-service/index.d.ts +4 -0
  53. package/dist/lib/token-service/index.d.ts.map +1 -0
  54. package/dist/lib/token-service/membership.d.ts +37 -0
  55. package/dist/lib/token-service/membership.d.ts.map +1 -0
  56. package/dist/lib/token-service/service.d.ts +35 -0
  57. package/dist/lib/token-service/service.d.ts.map +1 -0
  58. package/dist/lib/token-service/token.d.ts +34 -0
  59. package/dist/lib/token-service/token.d.ts.map +1 -0
  60. package/dist/lib/types/index.d.ts +22 -0
  61. package/dist/lib/types/index.d.ts.map +1 -0
  62. package/dist/tests/storage-manager/fake-storage.d.ts +7 -0
  63. package/dist/tests/storage-manager/fake-storage.d.ts.map +1 -0
  64. package/dist/tests/storage-manager/storage-manager.test.d.ts +2 -0
  65. package/dist/tests/storage-manager/storage-manager.test.d.ts.map +1 -0
  66. package/dist/tsconfig.tsbuildinfo +1 -0
  67. package/package.json +81 -0
@@ -0,0 +1,213 @@
1
+ import { AxiosClient } from './axios-client';
2
+ import { PassflowAuthorizationResponse, PassflowConfig, PassflowTenantResponse } from './model';
3
+ export type PassflowStatusResponse = {
4
+ status: string;
5
+ };
6
+ export type PassflowGroupResponse = {
7
+ id: string;
8
+ name: string;
9
+ default?: boolean;
10
+ updated_at: string;
11
+ created_at: string;
12
+ };
13
+ export type PassflowRoleResponse = {
14
+ id: string;
15
+ tenant_id: string;
16
+ name: string;
17
+ };
18
+ export type PassflowUserTenantMembershipResponse = Record<string, // tenant_id
19
+ {
20
+ tenant_id: string;
21
+ tenant_name: string;
22
+ groups: Record<string, string[]>;
23
+ group_names: Record<string, string>;
24
+ }>;
25
+ export type PassflowInvitationItem = {
26
+ id: string;
27
+ archived: boolean;
28
+ app_id: string;
29
+ inviter_id: string;
30
+ inviter_name: string;
31
+ token: string;
32
+ email: string;
33
+ role: string;
34
+ tenant: string;
35
+ tenant_name: string;
36
+ group: string;
37
+ created_by: string;
38
+ created_at: string;
39
+ expires_at: string;
40
+ };
41
+ export type PassflowInvitationsResponse = {
42
+ invites: PassflowInvitationItem[];
43
+ next_page_skip: string;
44
+ };
45
+ export type PassflowUpdateTenantPayload = {
46
+ name: string;
47
+ };
48
+ export type PassflowCreateGroupPayload = {
49
+ name: string;
50
+ };
51
+ export type PassflowUpdateGroupPayload = {
52
+ name: string;
53
+ };
54
+ export type PassflowAddUserToGroupPayload = {
55
+ user_id: string;
56
+ role: string;
57
+ };
58
+ export type PassflowRemoveUserRolesPayload = {
59
+ user_id: string;
60
+ roles: string[];
61
+ };
62
+ export type PassflowChangeUserRolesPayload = {
63
+ user_id: string;
64
+ roles: string[];
65
+ };
66
+ export type PassflowCreateRolePayload = {
67
+ name: string;
68
+ };
69
+ export type PassflowUpdateRolePayload = {
70
+ name: string;
71
+ };
72
+ export declare class TenantAPI {
73
+ protected axiosClient: AxiosClient;
74
+ constructor(config: PassflowConfig);
75
+ joinInvitation(token: string, scopes: string[]): Promise<PassflowAuthorizationResponse>;
76
+ createTenant(name: string): Promise<PassflowTenantResponse>;
77
+ /**
78
+ * Get tenant details
79
+ * @param tenantId Tenant ID
80
+ */
81
+ getTenantDetails(tenantId: string): Promise<PassflowTenantResponse>;
82
+ /**
83
+ * Update tenant name
84
+ * @param tenantId Tenant ID
85
+ * @param name New tenant name
86
+ */
87
+ updateTenant(tenantId: string, name: string): Promise<PassflowStatusResponse>;
88
+ /**
89
+ * Delete a tenant
90
+ * @param tenantId Tenant ID
91
+ */
92
+ deleteTenant(tenantId: string): Promise<PassflowStatusResponse>;
93
+ /**
94
+ * Get user's tenant memberships
95
+ */
96
+ getUserTenantMembership(): Promise<PassflowUserTenantMembershipResponse>;
97
+ /**
98
+ * Create a group in a tenant
99
+ * @param tenantId Tenant ID
100
+ * @param name Group name
101
+ */
102
+ createGroup(tenantId: string, name: string): Promise<PassflowGroupResponse>;
103
+ /**
104
+ * Get group information
105
+ * @param tenantId Tenant ID
106
+ * @param groupId Group ID
107
+ */
108
+ getGroupInfo(tenantId: string, groupId: string): Promise<PassflowGroupResponse>;
109
+ /**
110
+ * Update a group
111
+ * @param tenantId Tenant ID
112
+ * @param groupId Group ID
113
+ * @param name New group name
114
+ */
115
+ updateGroup(tenantId: string, groupId: string, name: string): Promise<PassflowGroupResponse>;
116
+ /**
117
+ * Delete a group
118
+ * @param tenantId Tenant ID
119
+ * @param groupId Group ID
120
+ */
121
+ deleteGroup(tenantId: string, groupId: string): Promise<PassflowStatusResponse>;
122
+ /**
123
+ * Add a user to a group
124
+ * @param tenantId Tenant ID
125
+ * @param groupId Group ID
126
+ * @param userId User ID
127
+ * @param role Role to assign
128
+ */
129
+ addUserToGroup(tenantId: string, groupId: string, userId: string, role: string): Promise<PassflowStatusResponse>;
130
+ /**
131
+ * Remove user roles from a group
132
+ * @param tenantId Tenant ID
133
+ * @param groupId Group ID
134
+ * @param userId User ID
135
+ * @param roles Roles to remove
136
+ */
137
+ removeUserRolesFromGroup(tenantId: string, groupId: string, userId: string, roles: string[]): Promise<PassflowStatusResponse>;
138
+ /**
139
+ * Change user roles in a group
140
+ * @param tenantId Tenant ID
141
+ * @param groupId Group ID
142
+ * @param userId User ID
143
+ * @param roles New roles to assign
144
+ */
145
+ changeUserRoles(tenantId: string, groupId: string, userId: string, roles: string[]): Promise<PassflowStatusResponse>;
146
+ /**
147
+ * Delete a user from a group
148
+ * @param tenantId Tenant ID
149
+ * @param groupId Group ID
150
+ * @param userId User ID
151
+ */
152
+ deleteUserFromGroup(tenantId: string, groupId: string, userId: string): Promise<PassflowStatusResponse>;
153
+ /**
154
+ * Get roles for a tenant
155
+ * @param tenantId Tenant ID
156
+ */
157
+ getRolesForTenant(tenantId: string): Promise<PassflowRoleResponse[]>;
158
+ /**
159
+ * Create a role for a tenant
160
+ * @param tenantId Tenant ID
161
+ * @param name Role name
162
+ */
163
+ createRoleForTenant(tenantId: string, name: string): Promise<PassflowRoleResponse>;
164
+ /**
165
+ * Update a role
166
+ * @param tenantId Tenant ID
167
+ * @param roleId Role ID
168
+ * @param name New role name
169
+ */
170
+ updateRole(tenantId: string, roleId: string, name: string): Promise<PassflowRoleResponse>;
171
+ /**
172
+ * Delete a role
173
+ * @param tenantId Tenant ID
174
+ * @param roleId Role ID
175
+ */
176
+ deleteRole(tenantId: string, roleId: string): Promise<PassflowStatusResponse>;
177
+ /**
178
+ * Delete a user from a tenant
179
+ * @param tenantId Tenant ID
180
+ * @param userId User ID
181
+ */
182
+ deleteUserFromTenant(tenantId: string, userId: string): Promise<PassflowStatusResponse>;
183
+ /**
184
+ * Get invitations to a group
185
+ * @param tenantId Tenant ID
186
+ * @param groupId Group ID
187
+ * @param limit Maximum number of invitations to return
188
+ * @param skip Number of invitations to skip
189
+ */
190
+ getGroupInvitations(tenantId: string, groupId: string, limit: number, skip: number): Promise<PassflowInvitationsResponse>;
191
+ /**
192
+ * Get invitations to a tenant
193
+ * @param tenantId Tenant ID
194
+ * @param limit Maximum number of invitations to return
195
+ * @param skip Number of invitations to skip
196
+ */
197
+ getTenantInvitations(tenantId: string, limit: number, skip: number): Promise<PassflowInvitationsResponse>;
198
+ /**
199
+ * Invalidate an invitation by ID
200
+ * @param tenantId Tenant ID
201
+ * @param groupId Group ID
202
+ * @param inviteId Invitation ID
203
+ */
204
+ invalidateInviteById(tenantId: string, groupId: string, inviteId: string): Promise<Record<string, never>>;
205
+ /**
206
+ * Invalidate an invitation by email
207
+ * @param tenantId Tenant ID
208
+ * @param groupId Group ID
209
+ * @param email Email address
210
+ */
211
+ invalidateInviteByEmail(tenantId: string, groupId: string, email: string): Promise<Record<string, never>>;
212
+ }
213
+ //# sourceMappingURL=tenant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenant.d.ts","sourceRoot":"","sources":["../../../lib/api/tenant.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { RegistrationResponseJSON } from '@simplewebauthn/types';
2
+ import { AxiosClient } from './axios-client';
3
+ import { OS, PassflowConfig, PassflowPasskeyStart, PassflowSuccessResponse, PassflowUserPasskey } from './model';
4
+ export declare class UserAPI {
5
+ protected axiosClient: AxiosClient;
6
+ constructor(config: PassflowConfig);
7
+ getUserPasskeys(): Promise<PassflowUserPasskey[]>;
8
+ renameUserPasskey(name: string, passkeyId: string): Promise<PassflowSuccessResponse>;
9
+ deleteUserPasskey(passkeyId: string): Promise<PassflowSuccessResponse>;
10
+ addUserPasskeyStart({ relyingPartyId, deviceId, os, passkeyDisplayName, passkeyUsername, }: {
11
+ relyingPartyId: string;
12
+ deviceId: string;
13
+ os: OS;
14
+ passkeyDisplayName?: string;
15
+ passkeyUsername?: string;
16
+ }): Promise<PassflowPasskeyStart>;
17
+ addUserPasskeyComplete(passkeyData: RegistrationResponseJSON, deviceId: string, challengeId: string): Promise<void>;
18
+ }
19
+ //# sourceMappingURL=user.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../lib/api/user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EACL,EAAE,EACF,cAAc,EAGd,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAEjB,qBAAa,OAAO;IAClB,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC;gBAEvB,MAAM,EAAE,cAAc;IAIlC,eAAe;IAIf,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IASpF,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAItE,mBAAmB,CAAC,EAClB,cAAc,EACd,QAAQ,EACR,EAAE,EACF,kBAAkB,EAClB,eAAe,GAChB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;QACjB,EAAE,EAAE,EAAE,CAAC;QACP,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAYjC,sBAAsB,CAAC,WAAW,EAAE,wBAAwB,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAOpH"}
@@ -0,0 +1,8 @@
1
+ export declare const APP_ID_HEADER_KEY = "X-Passflow-Clientid";
2
+ export declare const AUTHORIZATION_HEADER_KEY = "Authorization";
3
+ export declare const DEVICE_ID_HEADER_KEY = "X-Passflow-DeviceId";
4
+ export declare const DEVICE_TYPE_HEADER_KEY = "X-Passflow-DeviceType";
5
+ export declare const DEFAULT_SCOPES: string[];
6
+ export declare const PASSFLOW_CLOUD_URL = "https://auth.passflow.cloud";
7
+ export declare const DEFAULT_GROUP_NAME = "default";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/constants/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,wBAAwB,CAAC;AACvD,eAAO,MAAM,wBAAwB,kBAAkB,CAAC;AACxD,eAAO,MAAM,oBAAoB,wBAAwB,CAAC;AAC1D,eAAO,MAAM,sBAAsB,0BAA0B,CAAC;AAC9D,eAAO,MAAM,cAAc,UAA8E,CAAC;AAC1G,eAAO,MAAM,kBAAkB,gCAAgC,CAAC;AAChE,eAAO,MAAM,kBAAkB,YAAY,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare class DeviceService {
2
+ private storageManager;
3
+ constructor();
4
+ getDeviceId(): string;
5
+ generateUniqueDeviceId(): string;
6
+ }
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/device-service/index.ts"],"names":[],"mappings":"AAIA,qBAAa,aAAa;IACxB,OAAO,CAAC,cAAc,CAAiB;;IAMvC,WAAW,IAAI,MAAM;IAUrB,sBAAsB,IAAI,MAAM;CAGjC"}
@@ -0,0 +1,8 @@
1
+ export * from './api';
2
+ export * from './constants';
3
+ export * from './types';
4
+ export { PassflowEvent, type PassflowSubscriber, type ErrorPayload, type PassflowEventPayload } from './store';
5
+ export { isTokenExpired, parseToken, TokenType, type InvitationToken, type Token, type UserMembership, type TenantMembership, type GroupMembership, type Tenant, type Group, type RawUserMembership, } from './token-service';
6
+ export { Passflow } from './passflow';
7
+ export * from './services';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":"AACA,cAAc,OAAO,CAAC;AAGtB,cAAc,aAAa,CAAC;AAG5B,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,KAAK,YAAY,EAAE,KAAK,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAG/G,OAAO,EACL,cAAc,EACd,UAAU,EACV,SAAS,EACT,KAAK,eAAe,EACpB,KAAK,KAAK,EACV,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,MAAM,EACX,KAAK,KAAK,EACV,KAAK,iBAAiB,GACvB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,cAAc,YAAY,CAAC"}
@@ -0,0 +1,115 @@
1
+ import { type AppSettings, type InvitationsPaginatedList, type InviteLinkResponse, type PassflowAuthorizationResponse, type PassflowConfig, PassflowFederatedAuthPayload, type PassflowPasskeyAuthenticateStartPayload, type PassflowPasskeyRegisterStartPayload, type PassflowPasskeySettings, type PassflowPasswordPolicySettings, type PassflowPasswordlessResponse, type PassflowPasswordlessSignInCompletePayload, type PassflowPasswordlessSignInPayload, type PassflowSendPasswordResetEmailPayload, type PassflowSettingsAll, type PassflowSignInPayload, type PassflowSignUpPayload, type PassflowSuccessResponse, type PassflowTenantResponse, type PassflowValidationResponse, type RequestInviteLinkPayload } from './api';
2
+ import { TenantService } from './services';
3
+ import { PassflowEvent, type PassflowSubscriber } from './store';
4
+ import { type TokenType } from './token-service';
5
+ import type { ParsedTokens, SessionParams, Tokens } from './types';
6
+ export declare class Passflow {
7
+ private authApi;
8
+ private appApi;
9
+ private userApi;
10
+ private settingApi;
11
+ private tenantAPI;
12
+ private invitationAPI;
13
+ private scopes;
14
+ private createTenantForNewUser;
15
+ private doRefreshTokens;
16
+ private deviceService;
17
+ private storageManager;
18
+ private subscribeStore;
19
+ private authService;
20
+ private userService;
21
+ private tenantService;
22
+ private invitationService;
23
+ private tokenCacheService;
24
+ tenant: TenantService;
25
+ private createSessionCallback?;
26
+ private expiredSessionCallback?;
27
+ error?: Error;
28
+ origin: string;
29
+ url: string;
30
+ appId?: string;
31
+ constructor(config: PassflowConfig);
32
+ session: ({ createSession, expiredSession, doRefresh }: SessionParams) => Promise<void>;
33
+ private submitSessionCheck;
34
+ subscribe(s: PassflowSubscriber, t?: PassflowEvent[]): void;
35
+ unsubscribe(s: PassflowSubscriber, t?: PassflowEvent[]): void;
36
+ handleTokensRedirect(): Tokens | undefined;
37
+ private checkAndSetTokens;
38
+ private checkErrorsFromURL;
39
+ private setTokensToCacheFromLocalStorage;
40
+ getTokensCache(): Tokens | undefined;
41
+ getTokensCacheWithRefresh(): Promise<Tokens | undefined>;
42
+ getParsedTokenCache(): ParsedTokens | undefined;
43
+ tokensCacheIsExpired(): boolean;
44
+ isAuthenticated(): boolean;
45
+ signIn(payload: PassflowSignInPayload): Promise<PassflowAuthorizationResponse>;
46
+ signUp(payload: PassflowSignUpPayload): Promise<PassflowAuthorizationResponse>;
47
+ passwordlessSignIn(payload: PassflowPasswordlessSignInPayload): Promise<PassflowPasswordlessResponse>;
48
+ passwordlessSignInComplete(payload: PassflowPasswordlessSignInCompletePayload): Promise<PassflowValidationResponse>;
49
+ logOut(): Promise<void>;
50
+ federatedAuthWithPopup(payload: PassflowFederatedAuthPayload): void;
51
+ federatedAuthWithRedirect(payload: PassflowFederatedAuthPayload): void;
52
+ reset(error?: string): void;
53
+ refreshToken(): Promise<PassflowAuthorizationResponse>;
54
+ sendPasswordResetEmail(payload: PassflowSendPasswordResetEmailPayload): Promise<PassflowSuccessResponse>;
55
+ resetPassword(newPassword: string, scopes?: string[]): Promise<PassflowAuthorizationResponse>;
56
+ getAppSettings(): Promise<AppSettings>;
57
+ getSettingsAll(): Promise<PassflowSettingsAll>;
58
+ getPasswordPolicySettings(): Promise<PassflowPasswordPolicySettings>;
59
+ getPasskeySettings(): Promise<PassflowPasskeySettings>;
60
+ passkeyRegister(payload: PassflowPasskeyRegisterStartPayload): Promise<PassflowAuthorizationResponse>;
61
+ passkeyAuthenticate(payload: PassflowPasskeyAuthenticateStartPayload): Promise<PassflowAuthorizationResponse>;
62
+ setTokens(tokensData: Tokens): void;
63
+ getTokens(doRefresh?: boolean): Promise<Tokens | undefined>;
64
+ getToken(tokenType: TokenType): string | undefined;
65
+ getUserPasskeys(): Promise<import("./api").PassflowUserPasskey[]>;
66
+ renameUserPasskey(name: string, passkeyId: string): Promise<PassflowSuccessResponse>;
67
+ deleteUserPasskey(passkeyId: string): Promise<PassflowSuccessResponse>;
68
+ addUserPasskey(options?: {
69
+ relyingPartyId?: string;
70
+ passkeyUsername?: string;
71
+ passkeyDisplayName?: string;
72
+ }): Promise<void>;
73
+ /**
74
+ * Join a tenant invitation
75
+ * @param token The invitation token
76
+ * @param scopes Optional scopes to request
77
+ * @returns Promise with invite response
78
+ */
79
+ joinInvitation(token: string, scopes?: string[]): Promise<PassflowAuthorizationResponse>;
80
+ /**
81
+ * Create a new tenant
82
+ * @param name The name of the tenant
83
+ * @param refreshToken Whether to refresh the token after creating the tenant
84
+ * @returns Promise with tenant response
85
+ */
86
+ createTenant(name: string, refreshToken?: boolean): Promise<PassflowTenantResponse>;
87
+ requestInviteLink(payload: RequestInviteLinkPayload): Promise<InviteLinkResponse>;
88
+ /**
89
+ * Gets a list of active invitations
90
+ * @param options Optional parameters for filtering and pagination
91
+ * @returns Promise with paginated list of invitations
92
+ */
93
+ getInvitations(options: {
94
+ tenantID: string;
95
+ groupID?: string;
96
+ skip?: number | string;
97
+ limit?: number | string;
98
+ }): Promise<InvitationsPaginatedList>;
99
+ deleteInvitation(token: string): Promise<PassflowSuccessResponse>;
100
+ resendInvitation(token: string): Promise<PassflowSuccessResponse>;
101
+ getInvitationLink(invitationID: string): Promise<InviteLinkResponse>;
102
+ authRedirectUrl(options?: {
103
+ url?: string;
104
+ redirectUrl?: string;
105
+ scopes?: string[];
106
+ appId?: string;
107
+ }): string;
108
+ authRedirect(options?: {
109
+ url?: string;
110
+ redirectUrl?: string;
111
+ scopes?: string[];
112
+ appId?: string;
113
+ }): void;
114
+ }
115
+ //# sourceMappingURL=passflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"passflow.d.ts","sourceRoot":"","sources":["../../lib/passflow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ import { AuthAPI, PassflowAuthorizationResponse, PassflowFederatedAuthExtendedPayload, PassflowFederatedAuthPayload, PassflowPasskeyAuthenticateStartPayload, PassflowPasskeyRegisterStartPayload, PassflowPasswordlessResponse, PassflowPasswordlessSignInCompletePayload, PassflowPasswordlessSignInPayload, PassflowSendPasswordResetEmailPayload, PassflowSignInPayload, PassflowSignUpPayload, PassflowSuccessResponse, PassflowValidationResponse } from '../api';
2
+ import { DeviceService } from '../device-service';
3
+ import { StorageManager } from '../storage-manager';
4
+ import { PassflowStore } from '../store';
5
+ import { ParsedTokens, Tokens } from '../types';
6
+ import { TokenCacheService } from './token-cache-service';
7
+ /**
8
+ * Service for handling authentication related functionality
9
+ */
10
+ export declare class AuthService {
11
+ private authApi;
12
+ private deviceService;
13
+ private storageManager;
14
+ private subscribeStore;
15
+ private tokenCacheService;
16
+ private scopes;
17
+ private createTenantForNewUser;
18
+ private origin;
19
+ private url;
20
+ private sessionCallbacks;
21
+ private appId?;
22
+ constructor(authApi: AuthAPI, deviceService: DeviceService, storageManager: StorageManager, subscribeStore: PassflowStore, tokenCacheService: TokenCacheService, scopes: string[], createTenantForNewUser: boolean, origin: string, url: string, sessionCallbacks: {
23
+ createSession?: ({ tokens, parsedTokens }: {
24
+ tokens?: Tokens;
25
+ parsedTokens?: ParsedTokens;
26
+ }) => Promise<void>;
27
+ expiredSession?: () => Promise<void>;
28
+ }, appId?: string | undefined);
29
+ signIn(payload: PassflowSignInPayload): Promise<PassflowAuthorizationResponse>;
30
+ signUp(payload: PassflowSignUpPayload): Promise<PassflowAuthorizationResponse>;
31
+ passwordlessSignIn(payload: PassflowPasswordlessSignInPayload): Promise<PassflowPasswordlessResponse>;
32
+ passwordlessSignInComplete(payload: PassflowPasswordlessSignInCompletePayload): Promise<PassflowValidationResponse>;
33
+ logOut(): Promise<void>;
34
+ refreshToken(): Promise<PassflowAuthorizationResponse>;
35
+ sendPasswordResetEmail(payload: PassflowSendPasswordResetEmailPayload): Promise<PassflowSuccessResponse>;
36
+ resetPassword(newPassword: string, scopes?: string[]): Promise<PassflowAuthorizationResponse>;
37
+ passkeyRegister(payload: PassflowPasskeyRegisterStartPayload): Promise<PassflowAuthorizationResponse>;
38
+ passkeyAuthenticate(payload: PassflowPasskeyAuthenticateStartPayload): Promise<PassflowAuthorizationResponse>;
39
+ createFederatedAuthUrl(payload: PassflowFederatedAuthExtendedPayload): string;
40
+ federatedAuthWithPopup(payload: PassflowFederatedAuthPayload): void;
41
+ federatedAuthWithRedirect(payload: PassflowFederatedAuthPayload): void;
42
+ authRedirectUrl(options?: {
43
+ url?: string;
44
+ redirectUrl?: string;
45
+ scopes?: string[];
46
+ appId?: string;
47
+ }): string;
48
+ authRedirect(options?: {
49
+ url?: string;
50
+ redirectUrl?: string;
51
+ scopes?: string[];
52
+ appId?: string;
53
+ }): void;
54
+ /**
55
+ * Check if user is authenticated
56
+ */
57
+ isAuthenticated(parsedTokens: ParsedTokens): boolean;
58
+ /**
59
+ * Handle session check and callbacks
60
+ */
61
+ submitSessionCheck(doRefresh?: boolean): Promise<Tokens | undefined>;
62
+ /**
63
+ * Get tokens and refresh if needed
64
+ */
65
+ getTokens(doRefresh: boolean): Promise<Tokens | undefined>;
66
+ }
67
+ //# sourceMappingURL=auth-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-service.d.ts","sourceRoot":"","sources":["../../../lib/services/auth-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export * from './auth-service';
2
+ export * from './invitation-service';
3
+ export * from './tenant-service';
4
+ export * from './tenant-user-membership';
5
+ export * from './user-service';
6
+ export * from './token-cache-service';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,44 @@
1
+ import type { InvitationAPI, InvitationsPaginatedList, InviteLinkResponse, PassflowSuccessResponse, RequestInviteLinkPayload } from '../api';
2
+ /**
3
+ * Service for managing invitations
4
+ */
5
+ export declare class InvitationService {
6
+ private invitationAPI;
7
+ constructor(invitationAPI: InvitationAPI);
8
+ /**
9
+ * Requests an invitation link that can be used to invite users
10
+ * @param payload Request invitation payload
11
+ * @returns Promise with invitation link and token
12
+ */
13
+ requestInviteLink(payload: RequestInviteLinkPayload): Promise<InviteLinkResponse>;
14
+ /**
15
+ * Gets a list of active invitations
16
+ * @param options Optional parameters for filtering and pagination
17
+ * @returns Promise with paginated list of invitations
18
+ */
19
+ getInvitations(options: {
20
+ tenantID: string;
21
+ groupID?: string;
22
+ skip?: number | string;
23
+ limit?: number | string;
24
+ }): Promise<InvitationsPaginatedList>;
25
+ /**
26
+ * Deletes an invitation by token
27
+ * @param token The invitation token to delete
28
+ * @returns Promise with success response
29
+ */
30
+ deleteInvitation(token: string): Promise<PassflowSuccessResponse>;
31
+ /**
32
+ * Resends an invitation by token
33
+ * @param token The invitation token to resend
34
+ * @returns Promise with success response
35
+ */
36
+ resendInvitation(token: string): Promise<PassflowSuccessResponse>;
37
+ /**
38
+ * Gets a link to an invitation by id
39
+ * @param invitationID The invitation ID to get link
40
+ * @returns Promise with the link
41
+ */
42
+ getInvitationLink(invitationID: string): Promise<InviteLinkResponse>;
43
+ }
44
+ //# sourceMappingURL=invitation-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invitation-service.d.ts","sourceRoot":"","sources":["../../../lib/services/invitation-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,wBAAwB,EACxB,kBAAkB,EAClB,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,QAAQ,CAAC;AAEhB;;GAEG;AACH,qBAAa,iBAAiB;IAChB,OAAO,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAEhD;;;;OAIG;IACH,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAIjF;;;;OAIG;IACH,cAAc,CAAC,OAAO,EAAE;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QACvB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAIrC;;;;OAIG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAIjE;;;;OAIG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAIjE;;;;OAIG;IACH,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAGrE"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Logger interface for Passflow services
3
+ */
4
+ export interface Logger {
5
+ error(message: string, ...args: unknown[]): void;
6
+ warn(message: string, ...args: unknown[]): void;
7
+ info(message: string, ...args: unknown[]): void;
8
+ debug(message: string, ...args: unknown[]): void;
9
+ }
10
+ /**
11
+ * Default console logger implementation
12
+ */
13
+ export declare class ConsoleLogger implements Logger {
14
+ error(message: string, ...args: unknown[]): void;
15
+ warn(message: string, ...args: unknown[]): void;
16
+ info(message: string, ...args: unknown[]): void;
17
+ debug(message: string, ...args: unknown[]): void;
18
+ }
19
+ /**
20
+ * Get the default logger
21
+ * @returns Default logger instance
22
+ */
23
+ export declare function getDefaultLogger(): Logger;
24
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../lib/services/logger.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CAClD;AAED;;GAEG;AACH,qBAAa,aAAc,YAAW,MAAM;IAC1C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAKhD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAK/C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAK/C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;CAIjD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC"}