@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,200 @@
1
+ import { PassflowAuthorizationResponse, PassflowGroupResponse, PassflowInvitationsResponse, PassflowRoleResponse, PassflowStatusResponse, PassflowTenantResponse, PassflowUserTenantMembershipResponse, TenantAPI } from '../api';
2
+ import { Logger } from './logger';
3
+ import { TenantUserMembership } from './tenant-user-membership';
4
+ /**
5
+ * Service for managing tenants
6
+ */
7
+ export declare class TenantService {
8
+ private tenantAPI;
9
+ private scopes;
10
+ private logger;
11
+ constructor(tenantAPI: TenantAPI, scopes: string[], logger?: Logger);
12
+ /**
13
+ * Handle Passflow API errors
14
+ * @param error The error object
15
+ * @param context Context information for logging
16
+ * @throws Formatted error with Passflow API error details
17
+ */
18
+ private handlePassflowError;
19
+ /**
20
+ * Join a tenant invitation
21
+ * @param token The invitation token
22
+ * @param scopes Optional scopes to request
23
+ * @returns Promise with invite response
24
+ */
25
+ joinInvitation(token: string, scopes?: string[]): Promise<PassflowAuthorizationResponse>;
26
+ /**
27
+ * Create a new tenant
28
+ * @param name The name of the tenant
29
+ * @returns Promise with tenant response
30
+ */
31
+ createTenant(name: string): Promise<PassflowTenantResponse>;
32
+ /**
33
+ * Get tenant details
34
+ * @param tenantId Tenant ID
35
+ * @returns Promise with tenant response
36
+ */
37
+ /**
38
+ * Get tenant details
39
+ * @param tenantId Tenant ID
40
+ * @returns Promise with tenant response
41
+ */
42
+ getTenantDetails(tenantId: string): Promise<PassflowTenantResponse>;
43
+ /**
44
+ * Get tenant details and transform into TenantUserMembership
45
+ * @param tenantId Tenant ID
46
+ * @returns Promise with TenantUserMembership instance
47
+ */
48
+ getTenantUserMembership(tenantId: string): Promise<TenantUserMembership>;
49
+ /**
50
+ * Update tenant name
51
+ * @param tenantId Tenant ID
52
+ * @param name New tenant name
53
+ * @returns Promise with status response
54
+ */
55
+ updateTenant(tenantId: string, name: string): Promise<PassflowStatusResponse>;
56
+ /**
57
+ * Delete a tenant
58
+ * @param tenantId Tenant ID
59
+ * @returns Promise with status response
60
+ */
61
+ deleteTenant(tenantId: string): Promise<PassflowStatusResponse>;
62
+ /**
63
+ * Get user's tenant memberships
64
+ * @returns Promise with user tenant membership response
65
+ */
66
+ getUserTenantMembership(): Promise<PassflowUserTenantMembershipResponse>;
67
+ /**
68
+ * Create a group in a tenant
69
+ * @param tenantId Tenant ID
70
+ * @param name Group name
71
+ * @returns Promise with group response
72
+ */
73
+ createGroup(tenantId: string, name: string): Promise<PassflowGroupResponse>;
74
+ /**
75
+ * Get group information
76
+ * @param tenantId Tenant ID
77
+ * @param groupId Group ID
78
+ * @returns Promise with group response
79
+ */
80
+ getGroupInfo(tenantId: string, groupId: string): Promise<PassflowGroupResponse>;
81
+ /**
82
+ * Update a group
83
+ * @param tenantId Tenant ID
84
+ * @param groupId Group ID
85
+ * @param name New group name
86
+ * @returns Promise with group response
87
+ */
88
+ updateGroup(tenantId: string, groupId: string, name: string): Promise<PassflowGroupResponse>;
89
+ /**
90
+ * Delete a group
91
+ * @param tenantId Tenant ID
92
+ * @param groupId Group ID
93
+ * @returns Promise with status response
94
+ */
95
+ deleteGroup(tenantId: string, groupId: string): Promise<PassflowStatusResponse>;
96
+ /**
97
+ * Add a user to a group
98
+ * @param tenantId Tenant ID
99
+ * @param groupId Group ID
100
+ * @param userId User ID
101
+ * @param role Role to assign
102
+ * @returns Promise with status response
103
+ */
104
+ addUserToGroup(tenantId: string, groupId: string, userId: string, role: string): Promise<PassflowStatusResponse>;
105
+ /**
106
+ * Remove user roles from a group
107
+ * @param tenantId Tenant ID
108
+ * @param groupId Group ID
109
+ * @param userId User ID
110
+ * @param roles Roles to remove
111
+ * @returns Promise with status response
112
+ */
113
+ removeUserRolesFromGroup(tenantId: string, groupId: string, userId: string, roles: string[]): Promise<PassflowStatusResponse>;
114
+ /**
115
+ * Change user roles in a group
116
+ * @param tenantId Tenant ID
117
+ * @param groupId Group ID
118
+ * @param userId User ID
119
+ * @param roles New roles to assign
120
+ * @returns Promise with status response
121
+ */
122
+ changeUserRoles(tenantId: string, groupId: string, userId: string, roles: string[]): Promise<PassflowStatusResponse>;
123
+ /**
124
+ * Delete a user from a group
125
+ * @param tenantId Tenant ID
126
+ * @param groupId Group ID
127
+ * @param userId User ID
128
+ * @returns Promise with status response
129
+ */
130
+ deleteUserFromGroup(tenantId: string, groupId: string, userId: string): Promise<PassflowStatusResponse>;
131
+ /**
132
+ * Get roles for a tenant
133
+ * @param tenantId Tenant ID
134
+ * @returns Promise with array of role responses
135
+ */
136
+ getRolesForTenant(tenantId: string): Promise<PassflowRoleResponse[]>;
137
+ /**
138
+ * Create a role for a tenant
139
+ * @param tenantId Tenant ID
140
+ * @param name Role name
141
+ * @returns Promise with role response
142
+ */
143
+ createRoleForTenant(tenantId: string, name: string): Promise<PassflowRoleResponse>;
144
+ /**
145
+ * Update a role
146
+ * @param tenantId Tenant ID
147
+ * @param roleId Role ID
148
+ * @param name New role name
149
+ * @returns Promise with role response
150
+ */
151
+ updateRole(tenantId: string, roleId: string, name: string): Promise<PassflowRoleResponse>;
152
+ /**
153
+ * Delete a role
154
+ * @param tenantId Tenant ID
155
+ * @param roleId Role ID
156
+ * @returns Promise with status response
157
+ */
158
+ deleteRole(tenantId: string, roleId: string): Promise<PassflowStatusResponse>;
159
+ /**
160
+ * Delete a user from a tenant
161
+ * @param tenantId Tenant ID
162
+ * @param userId User ID
163
+ * @returns Promise with status response
164
+ */
165
+ deleteUserFromTenant(tenantId: string, userId: string): Promise<PassflowStatusResponse>;
166
+ /**
167
+ * Get invitations to a group
168
+ * @param tenantId Tenant ID
169
+ * @param groupId Group ID
170
+ * @param limit Maximum number of invitations to return
171
+ * @param skip Number of invitations to skip
172
+ * @returns Promise with invitations response
173
+ */
174
+ getGroupInvitations(tenantId: string, groupId: string, limit: number, skip: number): Promise<PassflowInvitationsResponse>;
175
+ /**
176
+ * Get invitations to a tenant
177
+ * @param tenantId Tenant ID
178
+ * @param limit Maximum number of invitations to return
179
+ * @param skip Number of invitations to skip
180
+ * @returns Promise with invitations response
181
+ */
182
+ getTenantInvitations(tenantId: string, limit: number, skip: number): Promise<PassflowInvitationsResponse>;
183
+ /**
184
+ * Invalidate an invitation by ID
185
+ * @param tenantId Tenant ID
186
+ * @param groupId Group ID
187
+ * @param inviteId Invitation ID
188
+ * @returns Promise with empty record
189
+ */
190
+ invalidateInviteById(tenantId: string, groupId: string, inviteId: string): Promise<Record<string, never>>;
191
+ /**
192
+ * Invalidate an invitation by email
193
+ * @param tenantId Tenant ID
194
+ * @param groupId Group ID
195
+ * @param email Email address
196
+ * @returns Promise with empty record
197
+ */
198
+ invalidateInviteByEmail(tenantId: string, groupId: string, email: string): Promise<Record<string, never>>;
199
+ }
200
+ //# sourceMappingURL=tenant-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenant-service.d.ts","sourceRoot":"","sources":["../../../lib/services/tenant-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ import type { PassflowTenantResponse } from '../api/model';
2
+ /**
3
+ * Flat user representation
4
+ */
5
+ export interface User {
6
+ id: string;
7
+ name: string | null;
8
+ email: string | null;
9
+ phone: string | null;
10
+ }
11
+ /**
12
+ * Flat group representation
13
+ */
14
+ export interface Group {
15
+ id: string;
16
+ name: string;
17
+ default: boolean;
18
+ updated_at: string;
19
+ created_at: string;
20
+ }
21
+ /**
22
+ * Flat role representation
23
+ */
24
+ export interface Role {
25
+ id: string;
26
+ tenant_id: string;
27
+ name: string;
28
+ }
29
+ /**
30
+ * Maps a user to a group with specific roles
31
+ */
32
+ export interface Membership {
33
+ userId: string;
34
+ groupId: string;
35
+ roleIds: string[];
36
+ }
37
+ /**
38
+ * Full tenant view with lookup maps
39
+ */
40
+ export interface TenantData {
41
+ tenant_id: string;
42
+ tenant_name: string;
43
+ users: User[];
44
+ groups: Group[];
45
+ roles: Role[];
46
+ memberships: Membership[];
47
+ usersById: Map<string, User>;
48
+ groupsById: Map<string, Group>;
49
+ rolesById: Map<string, Role>;
50
+ }
51
+ /**
52
+ * Utility for transforming raw PassflowTenantResponse
53
+ * into a flattened TenantData model with quick lookup methods.
54
+ */
55
+ export declare class TenantUserMembership {
56
+ private data;
57
+ constructor(raw: PassflowTenantResponse);
58
+ private normalize;
59
+ /**
60
+ * Returns all users in the specified group.
61
+ */
62
+ getUsersInGroup(groupId: string): User[];
63
+ /**
64
+ * Returns all groups to which the specified user belongs.
65
+ */
66
+ getGroupsForUser(userId: string): Group[];
67
+ /**
68
+ * Returns all roles that the specified user has in the specified group.
69
+ */
70
+ getUserRolesInGroup(userId: string, groupId: string): Role[];
71
+ /**
72
+ * Returns the full TenantData object.
73
+ */
74
+ getData(): TenantData;
75
+ }
76
+ //# sourceMappingURL=tenant-user-membership.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenant-user-membership.d.ts","sourceRoot":"","sources":["../../../lib/services/tenant-user-membership.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAA+B,sBAAsB,EAAuB,MAAM,cAAc,CAAC;AAE7G;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7B,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC/B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;CAC9B;AAED;;;GAGG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,IAAI,CAAa;gBAEb,GAAG,EAAE,sBAAsB;IAIvC,OAAO,CAAC,SAAS;IA2DjB;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE;IAOxC;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE;IAOzC;;OAEG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE;IAQ5D;;OAEG;IACH,OAAO,IAAI,UAAU;CAGtB"}
@@ -0,0 +1,26 @@
1
+ import { AuthAPI } from '../api';
2
+ import { StorageManager } from '../storage-manager';
3
+ import { PassflowStore } from '../store';
4
+ import type { ParsedTokens, Tokens } from '../types';
5
+ export declare class TokenCacheService {
6
+ private storageManager;
7
+ private authApi;
8
+ private subscribeStore;
9
+ tokensCache: Tokens | undefined;
10
+ parsedTokensCache: ParsedTokens | undefined;
11
+ private checkInterval;
12
+ private readonly CHECK_INTERVAL;
13
+ isRefreshing: boolean;
14
+ isExpired: boolean;
15
+ constructor(storageManager: StorageManager, authApi: AuthAPI, subscribeStore: PassflowStore);
16
+ initialize(): void;
17
+ private refreshTokensCache;
18
+ startTokenCheck(): void;
19
+ private stopTokenCheck;
20
+ setTokensCache(tokens: Tokens | undefined): void;
21
+ getTokensCache(): Tokens | undefined;
22
+ getTokensCacheWithRefresh(): Promise<Tokens | undefined>;
23
+ getParsedTokenCache(): ParsedTokens | undefined;
24
+ tokensCacheIsExpired(): boolean;
25
+ }
26
+ //# sourceMappingURL=token-cache-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-cache-service.d.ts","sourceRoot":"","sources":["../../../lib/services/token-cache-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAA+B,aAAa,EAAE,MAAM,UAAU,CAAC;AAEtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAErD,qBAAa,iBAAiB;IAU1B,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,cAAc;IAXxB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,iBAAiB,EAAE,YAAY,GAAG,SAAS,CAAC;IAE5C,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAM;IACrC,YAAY,UAAS;IACrB,SAAS,UAAS;gBAGR,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,aAAa;IAMvC,UAAU;YA4BI,kBAAkB;IA0BhC,eAAe;IAkBf,OAAO,CAAC,cAAc;IAOtB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAchD,cAAc;IAIR,yBAAyB;IAsB/B,mBAAmB;IAInB,oBAAoB;CAKrB"}
@@ -0,0 +1,39 @@
1
+ import { PassflowSuccessResponse, UserAPI } from '../api';
2
+ /**
3
+ * Service for managing user profile and passkeys
4
+ */
5
+ export declare class UserService {
6
+ private userAPI;
7
+ private deviceService;
8
+ constructor(userAPI: UserAPI, deviceService: DeviceService);
9
+ /**
10
+ * Get user's registered passkeys
11
+ * @returns Promise with passkeys array
12
+ */
13
+ getUserPasskeys(): Promise<import("..").PassflowUserPasskey[]>;
14
+ /**
15
+ * Rename a user passkey
16
+ * @param name The new name for the passkey
17
+ * @param passkeyId The ID of the passkey to rename
18
+ * @returns Promise with success response
19
+ */
20
+ renameUserPasskey(name: string, passkeyId: string): Promise<PassflowSuccessResponse>;
21
+ /**
22
+ * Delete a user passkey
23
+ * @param passkeyId The ID of the passkey to delete
24
+ * @returns Promise with success response
25
+ */
26
+ deleteUserPasskey(passkeyId: string): Promise<PassflowSuccessResponse>;
27
+ /**
28
+ * Add a new passkey for the current user
29
+ * @param options Optional parameters for the passkey
30
+ * @returns Promise that resolves when the passkey is added
31
+ */
32
+ addUserPasskey({ relyingPartyId, passkeyUsername, passkeyDisplayName, }?: {
33
+ relyingPartyId?: string;
34
+ passkeyUsername?: string;
35
+ passkeyDisplayName?: string;
36
+ }): Promise<void>;
37
+ }
38
+ import { DeviceService } from '../device-service';
39
+ //# sourceMappingURL=user-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-service.d.ts","sourceRoot":"","sources":["../../../lib/services/user-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAM,uBAAuB,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAE9D;;GAEG;AACH,qBAAa,WAAW;IAEpB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,aAAa;gBADb,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,aAAa;IAGtC;;;OAGG;IACH,eAAe;IAIf;;;;;OAKG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAIpF;;;;OAIG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAItE;;;;OAIG;IACG,cAAc,CAAC,EACnB,cAAc,EACd,eAAe,EACf,kBAAkB,GACnB,GAAE;QACD,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;KACxB,GAAG,OAAO,CAAC,IAAI,CAAC;CAevB;AAGD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { TokenType } from '../token-service';
2
+ import { Tokens } from '../types';
3
+ export type Storage = {
4
+ setItem: (key: string, value: string) => void;
5
+ getItem: (key: string) => string | null;
6
+ removeItem: (key: string) => void;
7
+ };
8
+ export interface StorageManagerParams {
9
+ storage?: Storage;
10
+ prefix?: string;
11
+ }
12
+ export declare class StorageManager {
13
+ private keyStoragePrefix;
14
+ readonly scopes: string;
15
+ readonly deviceId: string;
16
+ readonly invitationToken: string;
17
+ readonly previousRedirectUrl: string;
18
+ private storage;
19
+ constructor({ storage, prefix }?: StorageManagerParams);
20
+ saveTokens(tokens: Tokens): void;
21
+ getToken(tokenType: TokenType): string | undefined;
22
+ getTokens(): Tokens | undefined;
23
+ getScopes(): string[] | undefined;
24
+ deleteToken(tokenType: TokenType): void;
25
+ deleteTokens(): void;
26
+ getDeviceId(): string | undefined;
27
+ setDeviceId(deviceId: string): void;
28
+ deleteDeviceId(): void;
29
+ setInvitationToken(token: string): void;
30
+ getInvitationToken(): string | undefined;
31
+ deleteInvitationToken(): void;
32
+ setPreviousRedirectUrl(url: string): void;
33
+ getPreviousRedirectUrl(): string | undefined;
34
+ deletePreviousRedirectUrl(): void;
35
+ private getKeyForTokenType;
36
+ }
37
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/storage-manager/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,MAAM,MAAM,OAAO,GAAG;IACpB,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACxC,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,gBAAgB,CAAM;IAC9B,QAAQ,CAAC,MAAM,SAA2C;IAC1D,QAAQ,CAAC,QAAQ,SAA8C;IAC/D,QAAQ,CAAC,eAAe,SAAqD;IAC7E,QAAQ,CAAC,mBAAmB,SAAyD;IAErF,OAAO,CAAC,OAAO,CAAU;gBAEb,EAAE,OAAO,EAAE,MAAM,EAAE,GAAE,oBAAyB;IAK1D,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAQhC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS;IAKlD,SAAS,IAAI,MAAM,GAAG,SAAS;IAW/B,SAAS,IAAI,MAAM,EAAE,GAAG,SAAS;IAIjC,WAAW,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAKvC,YAAY,IAAI,IAAI;IAOpB,WAAW,IAAI,MAAM,GAAG,SAAS;IAIjC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAInC,cAAc,IAAI,IAAI;IAItB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIvC,kBAAkB,IAAI,MAAM,GAAG,SAAS;IAIxC,qBAAqB,IAAI,IAAI;IAI7B,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIzC,sBAAsB,IAAI,MAAM,GAAG,SAAS;IAI5C,yBAAyB,IAAI,IAAI;IAIjC,OAAO,CAAC,kBAAkB;CAG3B"}
@@ -0,0 +1,89 @@
1
+ import { ParsedTokens, Tokens } from './types';
2
+ /**
3
+ * Passflow event types
4
+ */
5
+ export declare enum PassflowEvent {
6
+ SignIn = "signin",
7
+ SignInStart = "signin:start",
8
+ Register = "register",
9
+ RegisterStart = "register:start",
10
+ SignOut = "signout",
11
+ Error = "error",
12
+ Refresh = "refresh",
13
+ RefreshStart = "refresh:start",
14
+ TokenCacheExpired = "token-cache-expired"
15
+ }
16
+ /**
17
+ * Error payload interface for structured error information
18
+ */
19
+ export interface ErrorPayload {
20
+ message: string;
21
+ code?: string | number;
22
+ details?: unknown;
23
+ originalError?: unknown;
24
+ }
25
+ /**
26
+ * Event-specific payload types
27
+ */
28
+ export type PassflowEventPayload = {
29
+ [PassflowEvent.SignIn]: {
30
+ tokens?: Tokens;
31
+ parsedTokens?: ParsedTokens;
32
+ };
33
+ [PassflowEvent.SignInStart]: {
34
+ email?: string;
35
+ provider?: string;
36
+ };
37
+ [PassflowEvent.Register]: {
38
+ tokens?: Tokens;
39
+ parsedTokens?: ParsedTokens;
40
+ };
41
+ [PassflowEvent.RegisterStart]: {
42
+ email?: string;
43
+ };
44
+ [PassflowEvent.SignOut]: {
45
+ userId?: string;
46
+ };
47
+ [PassflowEvent.Error]: ErrorPayload;
48
+ [PassflowEvent.Refresh]: {
49
+ tokens?: Tokens;
50
+ parsedTokens?: ParsedTokens;
51
+ };
52
+ [PassflowEvent.RefreshStart]: {
53
+ tokenId?: string;
54
+ };
55
+ [PassflowEvent.TokenCacheExpired]: {
56
+ isExpired: boolean;
57
+ };
58
+ };
59
+ /**
60
+ * Passflow subscriber interface
61
+ */
62
+ export interface PassflowSubscriber {
63
+ onAuthChange<E extends PassflowEvent>(eventType: E, payload?: PassflowEventPayload[E]): void;
64
+ }
65
+ /**
66
+ * Store for managing Passflow event subscriptions
67
+ */
68
+ export declare class PassflowStore {
69
+ private subscribers;
70
+ /**
71
+ * Subscribe to authentication events
72
+ * @param subscriber The subscriber to register
73
+ * @param events Optional specific events to subscribe to
74
+ */
75
+ subscribe(subscriber: PassflowSubscriber, events?: PassflowEvent[]): void;
76
+ /**
77
+ * Unsubscribe from authentication events
78
+ * @param subscriber The subscriber to unregister
79
+ * @param events Optional specific events to unsubscribe from
80
+ */
81
+ unsubscribe(subscriber: PassflowSubscriber, events?: PassflowEvent[]): void;
82
+ /**
83
+ * Notify subscribers of an event
84
+ * @param eventType The type of event that occurred
85
+ * @param payload Event-specific payload data
86
+ */
87
+ notify<E extends PassflowEvent>(eventType: E, payload?: PassflowEventPayload[E]): void;
88
+ }
89
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../lib/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAE/C;;GAEG;AACH,oBAAY,aAAa;IACvB,MAAM,WAAW;IACjB,WAAW,iBAAiB;IAC5B,QAAQ,aAAa;IACrB,aAAa,mBAAmB;IAChC,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,YAAY,kBAAkB;IAC9B,iBAAiB,wBAAwB;CAC1C;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,YAAY,CAAA;KAAE,CAAC;IACzE,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnE,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,YAAY,CAAA;KAAE,CAAC;IAC3E,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC;IACpC,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,YAAY,CAAA;KAAE,CAAC;IAC1E,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnD,CAAC,aAAa,CAAC,iBAAiB,CAAC,EAAE;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;CAC3D,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,YAAY,CAAC,CAAC,SAAS,aAAa,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;CAC9F;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,WAAW,CAAiE;IAEpF;;;;OAIG;IACH,SAAS,CAAC,UAAU,EAAE,kBAAkB,EAAE,MAAM,CAAC,EAAE,aAAa,EAAE,GAAG,IAAI;IASzE;;;;OAIG;IACH,WAAW,CAAC,UAAU,EAAE,kBAAkB,EAAE,MAAM,CAAC,EAAE,aAAa,EAAE,GAAG,IAAI;IAiB3E;;;;OAIG;IACH,MAAM,CAAC,CAAC,SAAS,aAAa,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI;CAOvF"}
@@ -0,0 +1,4 @@
1
+ export * from './service';
2
+ export * from './membership';
3
+ export * from './token';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/token-service/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC"}
@@ -0,0 +1,37 @@
1
+ export type Tenant = {
2
+ id: string;
3
+ name: string;
4
+ };
5
+ export type TenantMembership = {
6
+ tenant: Tenant;
7
+ tenantRoles?: GroupMembership;
8
+ groups?: GroupMembership[];
9
+ };
10
+ export type Group = {
11
+ id: string;
12
+ name: string;
13
+ };
14
+ export type GroupMembership = {
15
+ group: Group;
16
+ roles: string[];
17
+ };
18
+ export type RawUserMembership = {
19
+ [key: string]: {
20
+ tenant_id: string;
21
+ tenant_name: string;
22
+ tenant_roles?: string[];
23
+ root_group_id: string;
24
+ groups: {
25
+ [key: string]: string[];
26
+ };
27
+ group_names: {
28
+ [key: string]: string;
29
+ };
30
+ };
31
+ };
32
+ export type UserMembership = {
33
+ raw: RawUserMembership;
34
+ tenants: TenantMembership[];
35
+ };
36
+ export declare const parseMembership: (raw: RawUserMembership) => UserMembership;
37
+ //# sourceMappingURL=membership.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"membership.d.ts","sourceRoot":"","sources":["../../../lib/token-service/membership.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,GAAG;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,aAAa,EAAE,MAAM,CAAC;QACtB,MAAM,EAAE;YACN,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;SACzB,CAAC;QACF,WAAW,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,CAAC;KACxC,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,GAAG,EAAE,iBAAiB,CAAC;IACvB,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,KAAK,iBAAiB,KAAG,cAmBxD,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { StorageManager } from '../storage-manager';
2
+ import { Token, TokenType } from './token';
3
+ export declare class TokenService {
4
+ protected storageManager: StorageManager;
5
+ /**
6
+ * Checks if a token is not exists or expired.
7
+ *
8
+ * @param {TokenType} ttype - The token type to check.
9
+ * @returns {boolean} Returns true if the token is expired or not exists, false otherwise.
10
+ */
11
+ isTokenTypeExpired(ttype: TokenType): boolean;
12
+ /**
13
+ * Parse token from storage by type.
14
+ * Please be aware that this method does not check if the token signature and if the token is valid.
15
+ *
16
+ * @param {TokenType} tokenType - The token type to check.
17
+ * @returns {Token | undefined} Returns token with parsed user membership or undefined.
18
+ */
19
+ parseTokenType(tokenType: TokenType): Token | undefined;
20
+ }
21
+ /**
22
+ * Checks if a token is expired.
23
+ *
24
+ * @param {Token} token - The token to check.
25
+ * @returns {boolean} Returns true if the token is expired, false otherwise.
26
+ */
27
+ export declare function isTokenExpired(token: Token): boolean;
28
+ /**
29
+ * Parse token from string. Please be aware that this method does not check if the token signature and if the token is valid.
30
+ *
31
+ * @param {string} tokenString - The token string representation.
32
+ * @returns {Token } Returns token with parsed user membership or undefined.
33
+ */
34
+ export declare function parseToken(tokenString: string): Token;
35
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../lib/token-service/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAE3C,qBAAa,YAAY;IACvB,SAAS,CAAC,cAAc,iBAAwB;IAEhD;;;;;OAKG;IACH,kBAAkB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAQ7C;;;;;;OAMG;IACH,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,KAAK,GAAG,SAAS;CAKxD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAGpD;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,KAAK,CAiBrD"}
@@ -0,0 +1,34 @@
1
+ import { RawUserMembership, UserMembership } from '../token-service/membership';
2
+ export type Token = {
3
+ aud: string[];
4
+ exp: number;
5
+ iat: number;
6
+ iss: string;
7
+ jti: string;
8
+ sub: string;
9
+ type: string;
10
+ email?: string;
11
+ phonenumber?: string;
12
+ passflow_tm?: RawUserMembership;
13
+ payload?: unknown;
14
+ membership?: UserMembership;
15
+ };
16
+ export type InvitationToken = Token & {
17
+ email: string;
18
+ inviter_id: string;
19
+ inviter_name: string;
20
+ redirect_url: string;
21
+ tenant_name: string;
22
+ };
23
+ export declare enum TokenType {
24
+ id_token = "id_token",
25
+ access_token = "access",
26
+ refresh_token = "refresh",
27
+ invite_token = "invite",
28
+ reset_token = "reset",
29
+ web_cookie = "web-cookie",
30
+ management = "management",
31
+ signin = "signin",
32
+ actor = "actor"
33
+ }
34
+ //# sourceMappingURL=token.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../lib/token-service/token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAEhF,MAAM,MAAM,KAAK,GAAG;IAClB,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,oBAAY,SAAS;IACnB,QAAQ,aAAa;IACrB,YAAY,WAAW;IACvB,aAAa,YAAY;IACzB,YAAY,WAAW;IACvB,WAAW,UAAU;IACrB,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,MAAM,WAAW;IACjB,KAAK,UAAU;CAChB"}
@@ -0,0 +1,22 @@
1
+ import { Token } from '../token-service';
2
+ export type Tokens = {
3
+ access_token: string;
4
+ id_token?: string;
5
+ refresh_token?: string;
6
+ scopes?: string[];
7
+ };
8
+ export type ParsedTokens = {
9
+ access_token: Token;
10
+ id_token?: Token;
11
+ refresh_token?: Token;
12
+ scopes?: string[];
13
+ };
14
+ export type SessionParams = {
15
+ createSession?: ({ tokens, parsedTokens }: {
16
+ tokens?: Tokens;
17
+ parsedTokens?: ParsedTokens;
18
+ }) => Promise<void>;
19
+ expiredSession?: () => Promise<void>;
20
+ doRefresh?: boolean;
21
+ };
22
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,MAAM,MAAM,MAAM,GAAG;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,YAAY,EAAE,KAAK,CAAC;IACpB,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,aAAa,CAAC,EAAE,KAAK,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,aAAa,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,YAAY,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9G,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC"}