@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.
- package/README.md +1087 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +2149 -0
- package/dist/index.mjs.map +1 -0
- package/dist/lib/api/app.d.ts +8 -0
- package/dist/lib/api/app.d.ts.map +1 -0
- package/dist/lib/api/auth.d.ts +23 -0
- package/dist/lib/api/auth.d.ts.map +1 -0
- package/dist/lib/api/axios-client.d.ts +36 -0
- package/dist/lib/api/axios-client.d.ts.map +1 -0
- package/dist/lib/api/index.d.ts +8 -0
- package/dist/lib/api/index.d.ts.map +1 -0
- package/dist/lib/api/invitation.d.ts +77 -0
- package/dist/lib/api/invitation.d.ts.map +1 -0
- package/dist/lib/api/model.d.ts +459 -0
- package/dist/lib/api/model.d.ts.map +1 -0
- package/dist/lib/api/setting.d.ts +10 -0
- package/dist/lib/api/setting.d.ts.map +1 -0
- package/dist/lib/api/tenant.d.ts +213 -0
- package/dist/lib/api/tenant.d.ts.map +1 -0
- package/dist/lib/api/user.d.ts +19 -0
- package/dist/lib/api/user.d.ts.map +1 -0
- package/dist/lib/constants/index.d.ts +8 -0
- package/dist/lib/constants/index.d.ts.map +1 -0
- package/dist/lib/device-service/index.d.ts +7 -0
- package/dist/lib/device-service/index.d.ts.map +1 -0
- package/dist/lib/index.d.ts +8 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/passflow.d.ts +115 -0
- package/dist/lib/passflow.d.ts.map +1 -0
- package/dist/lib/services/auth-service.d.ts +67 -0
- package/dist/lib/services/auth-service.d.ts.map +1 -0
- package/dist/lib/services/index.d.ts +7 -0
- package/dist/lib/services/index.d.ts.map +1 -0
- package/dist/lib/services/invitation-service.d.ts +44 -0
- package/dist/lib/services/invitation-service.d.ts.map +1 -0
- package/dist/lib/services/logger.d.ts +24 -0
- package/dist/lib/services/logger.d.ts.map +1 -0
- package/dist/lib/services/tenant-service.d.ts +200 -0
- package/dist/lib/services/tenant-service.d.ts.map +1 -0
- package/dist/lib/services/tenant-user-membership.d.ts +76 -0
- package/dist/lib/services/tenant-user-membership.d.ts.map +1 -0
- package/dist/lib/services/token-cache-service.d.ts +26 -0
- package/dist/lib/services/token-cache-service.d.ts.map +1 -0
- package/dist/lib/services/user-service.d.ts +39 -0
- package/dist/lib/services/user-service.d.ts.map +1 -0
- package/dist/lib/storage-manager/index.d.ts +37 -0
- package/dist/lib/storage-manager/index.d.ts.map +1 -0
- package/dist/lib/store.d.ts +89 -0
- package/dist/lib/store.d.ts.map +1 -0
- package/dist/lib/token-service/index.d.ts +4 -0
- package/dist/lib/token-service/index.d.ts.map +1 -0
- package/dist/lib/token-service/membership.d.ts +37 -0
- package/dist/lib/token-service/membership.d.ts.map +1 -0
- package/dist/lib/token-service/service.d.ts +35 -0
- package/dist/lib/token-service/service.d.ts.map +1 -0
- package/dist/lib/token-service/token.d.ts +34 -0
- package/dist/lib/token-service/token.d.ts.map +1 -0
- package/dist/lib/types/index.d.ts +22 -0
- package/dist/lib/types/index.d.ts.map +1 -0
- package/dist/tests/storage-manager/fake-storage.d.ts +7 -0
- package/dist/tests/storage-manager/fake-storage.d.ts.map +1 -0
- package/dist/tests/storage-manager/storage-manager.test.d.ts +2 -0
- package/dist/tests/storage-manager/storage-manager.test.d.ts.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- 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 @@
|
|
|
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 @@
|
|
|
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"}
|