@bitblit/ratchet-warden-common 4.0.116-alpha → 4.0.120-alpha
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/lib/build/ratchet-warden-common-info.d.ts +1 -1
- package/lib/common/model/warden-jwt-token.d.ts +1 -1
- package/lib/index.d.ts +37 -1
- package/lib/index.mjs +3 -0
- package/lib/index.mjs.map +1 -0
- package/package.json +11 -10
- package/lib/build/ratchet-warden-common-info.js +0 -15
- package/lib/build/ratchet-warden-common-info.js.map +0 -1
- package/lib/client/provider/warden-client-abstract-recent-login-provider.js +0 -45
- package/lib/client/provider/warden-client-abstract-recent-login-provider.js.map +0 -1
- package/lib/client/provider/warden-client-current-logged-in-jwt-token-provider.js +0 -2
- package/lib/client/provider/warden-client-current-logged-in-jwt-token-provider.js.map +0 -1
- package/lib/client/provider/warden-client-local-storage-logged-in-user-provider.js +0 -30
- package/lib/client/provider/warden-client-local-storage-logged-in-user-provider.js.map +0 -1
- package/lib/client/provider/warden-client-local-storage-recent-login-provider.js +0 -24
- package/lib/client/provider/warden-client-local-storage-recent-login-provider.js.map +0 -1
- package/lib/client/provider/warden-client-recent-login-provider.js +0 -2
- package/lib/client/provider/warden-client-recent-login-provider.js.map +0 -1
- package/lib/client/provider/warden-client-transient-memory-logged-in-user-provider.js +0 -13
- package/lib/client/provider/warden-client-transient-memory-logged-in-user-provider.js.map +0 -1
- package/lib/client/provider/warden-client-transient-memory-recent-login-provider.js +0 -11
- package/lib/client/provider/warden-client-transient-memory-recent-login-provider.js.map +0 -1
- package/lib/client/provider/warden-command-exchange-provider.js +0 -2
- package/lib/client/provider/warden-command-exchange-provider.js.map +0 -1
- package/lib/client/provider/warden-logged-in-user-provider.js +0 -2
- package/lib/client/provider/warden-logged-in-user-provider.js.map +0 -1
- package/lib/client/provider/warden-logged-in-user-wrapper.js +0 -2
- package/lib/client/provider/warden-logged-in-user-wrapper.js.map +0 -1
- package/lib/client/provider/warden-recent-login-descriptor.js +0 -2
- package/lib/client/provider/warden-recent-login-descriptor.js.map +0 -1
- package/lib/client/provider/warden-user-service-event-processing-provider.js +0 -2
- package/lib/client/provider/warden-user-service-event-processing-provider.js.map +0 -1
- package/lib/client/provider/warden-user-service-options.js +0 -2
- package/lib/client/provider/warden-user-service-options.js.map +0 -1
- package/lib/client/warden-client.js +0 -135
- package/lib/client/warden-client.js.map +0 -1
- package/lib/client/warden-client.spec.js +0 -23
- package/lib/client/warden-client.spec.js.map +0 -1
- package/lib/client/warden-delegating-current-user-providing-user-service-event-processing-provider.js +0 -42
- package/lib/client/warden-delegating-current-user-providing-user-service-event-processing-provider.js.map +0 -1
- package/lib/client/warden-user-service.js +0 -254
- package/lib/client/warden-user-service.js.map +0 -1
- package/lib/client/warden-user-service.spec.js +0 -20
- package/lib/client/warden-user-service.spec.js.map +0 -1
- package/lib/common/command/create-account.js +0 -2
- package/lib/common/command/create-account.js.map +0 -1
- package/lib/common/command/remove-web-authn-registration.js +0 -2
- package/lib/common/command/remove-web-authn-registration.js.map +0 -1
- package/lib/common/command/warden-command-response.js +0 -2
- package/lib/common/command/warden-command-response.js.map +0 -1
- package/lib/common/command/warden-command.js +0 -2
- package/lib/common/command/warden-command.js.map +0 -1
- package/lib/common/command/web-authn-object-wrapper.js +0 -2
- package/lib/common/command/web-authn-object-wrapper.js.map +0 -1
- package/lib/common/model/warden-contact-type.js +0 -6
- package/lib/common/model/warden-contact-type.js.map +0 -1
- package/lib/common/model/warden-contact.js +0 -2
- package/lib/common/model/warden-contact.js.map +0 -1
- package/lib/common/model/warden-customer-message-type.js +0 -5
- package/lib/common/model/warden-customer-message-type.js.map +0 -1
- package/lib/common/model/warden-entry-summary.js +0 -2
- package/lib/common/model/warden-entry-summary.js.map +0 -1
- package/lib/common/model/warden-entry.js +0 -2
- package/lib/common/model/warden-entry.js.map +0 -1
- package/lib/common/model/warden-jwt-token.js +0 -2
- package/lib/common/model/warden-jwt-token.js.map +0 -1
- package/lib/common/model/warden-login-request.js +0 -2
- package/lib/common/model/warden-login-request.js.map +0 -1
- package/lib/common/model/warden-login-results.js +0 -2
- package/lib/common/model/warden-login-results.js.map +0 -1
- package/lib/common/model/warden-store-registration-response-type.js +0 -7
- package/lib/common/model/warden-store-registration-response-type.js.map +0 -1
- package/lib/common/model/warden-store-registration-response.js +0 -2
- package/lib/common/model/warden-store-registration-response.js.map +0 -1
- package/lib/common/model/warden-team-role.js +0 -2
- package/lib/common/model/warden-team-role.js.map +0 -1
- package/lib/common/model/warden-user-decoration.js +0 -2
- package/lib/common/model/warden-user-decoration.js.map +0 -1
- package/lib/common/model/warden-web-authn-entry.js +0 -2
- package/lib/common/model/warden-web-authn-entry.js.map +0 -1
- package/lib/common/model/warden-web-authn-transport-future-type.js +0 -10
- package/lib/common/model/warden-web-authn-transport-future-type.js.map +0 -1
- package/lib/common/util/warden-utils.js +0 -106
- package/lib/common/util/warden-utils.js.map +0 -1
- package/lib/common/util/warden-utils.spec.js +0 -11
- package/lib/common/util/warden-utils.spec.js.map +0 -1
- package/lib/index.js +0 -2
- package/lib/index.js.map +0 -1
|
@@ -1,254 +0,0 @@
|
|
|
1
|
-
import { Logger } from '@bitblit/ratchet-common/lib/logger/logger.js';
|
|
2
|
-
import { StringRatchet } from '@bitblit/ratchet-common/lib/lang/string-ratchet.js';
|
|
3
|
-
import { JwtRatchet } from '@bitblit/ratchet-common/lib/jwt/jwt-ratchet.js';
|
|
4
|
-
import { timer } from 'rxjs';
|
|
5
|
-
export class WardenUserService {
|
|
6
|
-
options;
|
|
7
|
-
loggedInTimerSubscription;
|
|
8
|
-
_autoRefreshEnabled = false;
|
|
9
|
-
constructor(options) {
|
|
10
|
-
this.options = options;
|
|
11
|
-
Logger.info('Initializing user service');
|
|
12
|
-
const stored = this.options.loggedInUserProvider.fetchLoggedInUserWrapper();
|
|
13
|
-
if (WardenUserService.wrapperIsExpired(stored)) {
|
|
14
|
-
Logger.info('Stored token is expired, removing it');
|
|
15
|
-
this.options.loggedInUserProvider.logOutUser();
|
|
16
|
-
}
|
|
17
|
-
else {
|
|
18
|
-
this.options.eventProcessor.onSuccessfulLogin(stored);
|
|
19
|
-
}
|
|
20
|
-
const timerSeconds = this.options.loginCheckTimerPingSeconds || 2.5;
|
|
21
|
-
this.loggedInTimerSubscription = timer(0, timerSeconds * 1000).subscribe((t) => this.checkForAutoLogoutOrRefresh(t));
|
|
22
|
-
}
|
|
23
|
-
cleanShutDown() {
|
|
24
|
-
if (this.loggedInTimerSubscription) {
|
|
25
|
-
this.loggedInTimerSubscription.unsubscribe();
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
get serviceOptions() {
|
|
29
|
-
return this.options;
|
|
30
|
-
}
|
|
31
|
-
async createAccount(contact, sendCode, label, tags) {
|
|
32
|
-
const rval = await this.options.wardenClient.createAccount(contact, sendCode, label, tags);
|
|
33
|
-
if (this.options.recentLoginProvider && StringRatchet.trimToNull(rval)) {
|
|
34
|
-
this.options.recentLoginProvider.saveNewUser(rval, label, contact);
|
|
35
|
-
}
|
|
36
|
-
return rval;
|
|
37
|
-
}
|
|
38
|
-
async addContactToLoggedInUser(contact) {
|
|
39
|
-
return this.options.wardenClient.addContactToLoggedInUser(contact);
|
|
40
|
-
}
|
|
41
|
-
get autoRefreshEnabled() {
|
|
42
|
-
return this._autoRefreshEnabled;
|
|
43
|
-
}
|
|
44
|
-
set autoRefreshEnabled(newValue) {
|
|
45
|
-
if (newValue) {
|
|
46
|
-
if (this.options.allowAutoRefresh) {
|
|
47
|
-
this._autoRefreshEnabled = true;
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
throw new Error('Cannot enable auto-refresh - this is disabled in the user service options');
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
this._autoRefreshEnabled = false;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
async checkForAutoLogoutOrRefresh(t) {
|
|
58
|
-
Logger.debug('Checking for auto-logout or refresh : %s', t);
|
|
59
|
-
const current = this.fetchLoggedInUserWrapper();
|
|
60
|
-
if (current) {
|
|
61
|
-
const thresholdSeconds = this.options.autoLoginHandlingThresholdSeconds || 10;
|
|
62
|
-
const secondsLeft = current.expirationEpochSeconds - Math.floor(Date.now() / 1000);
|
|
63
|
-
if (secondsLeft < thresholdSeconds) {
|
|
64
|
-
if (this.autoRefreshEnabled) {
|
|
65
|
-
Logger.info('Under threshold, initiating auto-refresh');
|
|
66
|
-
const result = await this.refreshToken();
|
|
67
|
-
this.options.eventProcessor.onAutomaticTokenRefresh(result);
|
|
68
|
-
}
|
|
69
|
-
else {
|
|
70
|
-
Logger.info('Under threshold, initiating auto-logout');
|
|
71
|
-
this.logout();
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
logout() {
|
|
77
|
-
this.options.loggedInUserProvider.logOutUser();
|
|
78
|
-
this.options.eventProcessor.onLogout();
|
|
79
|
-
}
|
|
80
|
-
static wrapperIsExpired(value) {
|
|
81
|
-
const rval = value?.userObject?.exp && value.expirationEpochSeconds < Date.now() / 1000;
|
|
82
|
-
return rval;
|
|
83
|
-
}
|
|
84
|
-
fetchLoggedInUserWrapper() {
|
|
85
|
-
let tmp = this.options.loggedInUserProvider.fetchLoggedInUserWrapper();
|
|
86
|
-
if (tmp) {
|
|
87
|
-
if (WardenUserService.wrapperIsExpired(tmp)) {
|
|
88
|
-
Logger.info('Token is expired - auto logout triggered');
|
|
89
|
-
this.logout();
|
|
90
|
-
tmp = null;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
return tmp;
|
|
94
|
-
}
|
|
95
|
-
loggedInUserHasRole(role) {
|
|
96
|
-
let rval = false;
|
|
97
|
-
if (StringRatchet.trimToNull(role)) {
|
|
98
|
-
const t = this.fetchLoggedInUserWrapper();
|
|
99
|
-
const testRole = role.toLowerCase();
|
|
100
|
-
rval = t?.userObject?.roles && !!t.userObject.roles.find((r) => r.toLowerCase() === testRole);
|
|
101
|
-
}
|
|
102
|
-
return rval;
|
|
103
|
-
}
|
|
104
|
-
isLoggedIn() {
|
|
105
|
-
const t = this.fetchLoggedInUserWrapper();
|
|
106
|
-
return !!t;
|
|
107
|
-
}
|
|
108
|
-
fetchLoggedInUserJwtObject() {
|
|
109
|
-
const t = this.fetchLoggedInUserWrapper();
|
|
110
|
-
return t ? t.userObject : null;
|
|
111
|
-
}
|
|
112
|
-
fetchLoggedInUserJwtToken() {
|
|
113
|
-
const t = this.fetchLoggedInUserWrapper();
|
|
114
|
-
return t ? t.jwtToken : null;
|
|
115
|
-
}
|
|
116
|
-
fetchLoggedInUserObject() {
|
|
117
|
-
const t = this.fetchLoggedInUserJwtObject();
|
|
118
|
-
return t ? t.user : null;
|
|
119
|
-
}
|
|
120
|
-
fetchLoggedInUserExpirationEpochSeconds() {
|
|
121
|
-
const t = this.fetchLoggedInUserJwtObject();
|
|
122
|
-
return t ? t.exp : null;
|
|
123
|
-
}
|
|
124
|
-
fetchLoggedInUserRemainingSeconds() {
|
|
125
|
-
const t = this.fetchLoggedInUserJwtObject();
|
|
126
|
-
return t ? t.exp - Math.floor(Date.now() / 1000) : null;
|
|
127
|
-
}
|
|
128
|
-
updateLoggedInUserFromTokenString(token) {
|
|
129
|
-
let rval = null;
|
|
130
|
-
if (!StringRatchet.trimToNull(token)) {
|
|
131
|
-
Logger.info('Called updateLoggedInUserFromTokenString with empty string - logging out');
|
|
132
|
-
this.logout();
|
|
133
|
-
}
|
|
134
|
-
else {
|
|
135
|
-
Logger.info('updateLoggedInUserFromTokenString : %s', token);
|
|
136
|
-
const parsed = JwtRatchet.decodeTokenNoVerify(token);
|
|
137
|
-
if (parsed) {
|
|
138
|
-
rval = {
|
|
139
|
-
userObject: parsed,
|
|
140
|
-
jwtToken: token,
|
|
141
|
-
expirationEpochSeconds: parsed.exp,
|
|
142
|
-
};
|
|
143
|
-
this.options.loggedInUserProvider.setLoggedInUserWrapper(rval);
|
|
144
|
-
this.updateRecentLoginsFromWardenEntrySummary(parsed.loginData);
|
|
145
|
-
this.options.eventProcessor.onSuccessfulLogin(rval);
|
|
146
|
-
}
|
|
147
|
-
else {
|
|
148
|
-
Logger.warn('Failed to parse token %s - ignoring login and triggering failure');
|
|
149
|
-
this.options.eventProcessor.onLoginFailure('Could not parse token string');
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
return rval;
|
|
153
|
-
}
|
|
154
|
-
async refreshToken() {
|
|
155
|
-
let rval = null;
|
|
156
|
-
const currentWrapper = this.fetchLoggedInUserWrapper();
|
|
157
|
-
if (!currentWrapper) {
|
|
158
|
-
Logger.info('Could not refresh - no token available');
|
|
159
|
-
}
|
|
160
|
-
else {
|
|
161
|
-
const newToken = await this.options.wardenClient.refreshJwtToken(currentWrapper.jwtToken);
|
|
162
|
-
rval = await this.updateLoggedInUserFromTokenString(newToken);
|
|
163
|
-
}
|
|
164
|
-
return rval;
|
|
165
|
-
}
|
|
166
|
-
async sendExpiringCode(contact) {
|
|
167
|
-
return this.options.wardenClient.sendExpiringValidationToken(contact);
|
|
168
|
-
}
|
|
169
|
-
async processWardenLoginResults(resp) {
|
|
170
|
-
let rval = null;
|
|
171
|
-
if (resp) {
|
|
172
|
-
Logger.info('Warden: response : %j ', resp);
|
|
173
|
-
if (resp.jwtToken) {
|
|
174
|
-
Logger.info('Applying login');
|
|
175
|
-
rval = await this.updateLoggedInUserFromTokenString(resp.jwtToken);
|
|
176
|
-
}
|
|
177
|
-
else if (resp.error) {
|
|
178
|
-
this.options.eventProcessor.onLoginFailure(resp.error);
|
|
179
|
-
}
|
|
180
|
-
else {
|
|
181
|
-
Logger.error('Response contained neither token nor error');
|
|
182
|
-
this.options.eventProcessor.onLoginFailure('Response contained neither token nor error');
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
else {
|
|
186
|
-
Logger.error('Login call failed');
|
|
187
|
-
this.options.eventProcessor.onLoginFailure('Login call returned null');
|
|
188
|
-
}
|
|
189
|
-
return rval;
|
|
190
|
-
}
|
|
191
|
-
updateRecentLoginsFromWardenEntrySummary(res) {
|
|
192
|
-
if (this.options.recentLoginProvider && res) {
|
|
193
|
-
Logger.info('UserService : Saving recent login %j', res);
|
|
194
|
-
this.options.recentLoginProvider.saveRecentLogin(res);
|
|
195
|
-
}
|
|
196
|
-
else {
|
|
197
|
-
Logger.info('Not saving recent login - no storage configured or no data passed');
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
updateRecentLoginsFromLoggedInUserWrapper(res) {
|
|
201
|
-
this.updateRecentLoginsFromWardenEntrySummary(res?.userObject?.loginData);
|
|
202
|
-
}
|
|
203
|
-
async executeWebAuthnBasedLogin(userId) {
|
|
204
|
-
const resp = await this.executeWebAuthnLoginToWardenLoginResults(userId);
|
|
205
|
-
const rval = await this.processWardenLoginResults(resp);
|
|
206
|
-
this.updateRecentLoginsFromLoggedInUserWrapper(rval);
|
|
207
|
-
return rval;
|
|
208
|
-
}
|
|
209
|
-
async removeWebAuthnRegistrationFromLoggedInUser(input) {
|
|
210
|
-
const rval = await this.options.wardenClient.removeWebAuthnRegistrationFromLoggedInUser(input);
|
|
211
|
-
return rval;
|
|
212
|
-
}
|
|
213
|
-
async removeContactFromLoggedInUser(input) {
|
|
214
|
-
const rval = await this.options.wardenClient.removeContactFromLoggedInUser(input);
|
|
215
|
-
return rval;
|
|
216
|
-
}
|
|
217
|
-
async executeValidationTokenBasedLogin(contact, token) {
|
|
218
|
-
Logger.info('Warden: executeValidationTokenBasedLogin : %j : %s ', contact, token);
|
|
219
|
-
const resp = await this.options.wardenClient.performLoginCmd({ contact: contact, expiringToken: token });
|
|
220
|
-
const rval = await this.processWardenLoginResults(resp);
|
|
221
|
-
this.updateRecentLoginsFromLoggedInUserWrapper(rval);
|
|
222
|
-
return rval;
|
|
223
|
-
}
|
|
224
|
-
async saveCurrentDeviceAsWebAuthnForCurrentUser() {
|
|
225
|
-
const input = await this.options.wardenClient.generateWebAuthnRegistrationChallengeForLoggedInUser();
|
|
226
|
-
const startRegistration = (await import('@simplewebauthn/browser')).startRegistration;
|
|
227
|
-
const creds = await startRegistration(input);
|
|
228
|
-
const output = await this.options.wardenClient.addWebAuthnRegistrationToLoggedInUser(creds);
|
|
229
|
-
this.updateRecentLoginsFromWardenEntrySummary(output);
|
|
230
|
-
return output;
|
|
231
|
-
}
|
|
232
|
-
async executeWebAuthnLoginToWardenLoginResults(userId) {
|
|
233
|
-
let rval = null;
|
|
234
|
-
try {
|
|
235
|
-
const input = await this.options.wardenClient.generateWebAuthnAuthenticationChallengeForUserId(userId);
|
|
236
|
-
Logger.info('Got login challenge : %s', input);
|
|
237
|
-
const startAuthentication = (await import('@simplewebauthn/browser')).startAuthentication;
|
|
238
|
-
const creds = await startAuthentication(input);
|
|
239
|
-
Logger.info('Got creds: %j', creds);
|
|
240
|
-
const loginCmd = {
|
|
241
|
-
userId: userId,
|
|
242
|
-
webAuthn: creds,
|
|
243
|
-
};
|
|
244
|
-
rval = await this.options.wardenClient.performLoginCmd(loginCmd);
|
|
245
|
-
if (rval?.jwtToken) {
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
catch (err) {
|
|
249
|
-
Logger.error('WebauthN Failed : %s', err);
|
|
250
|
-
}
|
|
251
|
-
return rval;
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
//# sourceMappingURL=warden-user-service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"warden-user-service.js","sourceRoot":"","sources":["../../src/client/warden-user-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { WardenUserService } from './warden-user-service.js';
|
|
2
|
-
import { JestRatchet } from '@bitblit/ratchet-jest/lib/jest/jest-ratchet.js';
|
|
3
|
-
import { jest } from '@jest/globals';
|
|
4
|
-
describe('#wardenUserService', function () {
|
|
5
|
-
it('should instantiate', async () => {
|
|
6
|
-
const wuso = {
|
|
7
|
-
recentLoginProvider: JestRatchet.mock(jest.fn),
|
|
8
|
-
loggedInUserProvider: JestRatchet.mock(jest.fn),
|
|
9
|
-
wardenClient: JestRatchet.mock(jest.fn),
|
|
10
|
-
eventProcessor: JestRatchet.mock(jest.fn),
|
|
11
|
-
loginCheckTimerPingSeconds: 60,
|
|
12
|
-
autoLoginHandlingThresholdSeconds: 60,
|
|
13
|
-
allowAutoRefresh: true,
|
|
14
|
-
};
|
|
15
|
-
const wus = new WardenUserService(wuso);
|
|
16
|
-
expect(wus).not.toBeNull();
|
|
17
|
-
wus.cleanShutDown();
|
|
18
|
-
});
|
|
19
|
-
});
|
|
20
|
-
//# sourceMappingURL=warden-user-service.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"warden-user-service.spec.js","sourceRoot":"","sources":["../../src/client/warden-user-service.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EAAE,WAAW,EAAE,MAAM,gDAAgD,CAAC;AAK7E,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAErC,QAAQ,CAAC,oBAAoB,EAAE;IAE7B,EAAE,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;QAClC,MAAM,IAAI,GAAkC;YAC1C,mBAAmB,EAAE,WAAW,CAAC,IAAI,CAAkC,IAAI,CAAC,EAAE,CAAC;YAC/E,oBAAoB,EAAE,WAAW,CAAC,IAAI,CAAkC,IAAI,CAAC,EAAE,CAAC;YAChF,YAAY,EAAE,WAAW,CAAC,IAAI,CAAe,IAAI,CAAC,EAAE,CAAC;YACrD,cAAc,EAAE,WAAW,CAAC,IAAI,CAAgD,IAAI,CAAC,EAAE,CAAC;YACxF,0BAA0B,EAAE,EAAE;YAC9B,iCAAiC,EAAE,EAAE;YACrC,gBAAgB,EAAE,IAAI;SACvB,CAAC;QAEF,MAAM,GAAG,GAA2B,IAAI,iBAAiB,CAAM,IAAI,CAAC,CAAC;QACrE,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC3B,GAAG,CAAC,aAAa,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-account.js","sourceRoot":"","sources":["../../../src/common/command/create-account.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"remove-web-authn-registration.js","sourceRoot":"","sources":["../../../src/common/command/remove-web-authn-registration.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"warden-command-response.js","sourceRoot":"","sources":["../../../src/common/command/warden-command-response.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"warden-command.js","sourceRoot":"","sources":["../../../src/common/command/warden-command.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"web-authn-object-wrapper.js","sourceRoot":"","sources":["../../../src/common/command/web-authn-object-wrapper.ts"],"names":[],"mappings":""}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export var WardenContactType;
|
|
2
|
-
(function (WardenContactType) {
|
|
3
|
-
WardenContactType["TextCapablePhoneNumber"] = "TextCapablePhoneNumber";
|
|
4
|
-
WardenContactType["EmailAddress"] = "EmailAddress";
|
|
5
|
-
})(WardenContactType || (WardenContactType = {}));
|
|
6
|
-
//# sourceMappingURL=warden-contact-type.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"warden-contact-type.js","sourceRoot":"","sources":["../../../src/common/model/warden-contact-type.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAC3B,sEAAiD,CAAA;IACjD,kDAA6B,CAAA;AAC/B,CAAC,EAHW,iBAAiB,KAAjB,iBAAiB,QAG5B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"warden-contact.js","sourceRoot":"","sources":["../../../src/common/model/warden-contact.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"warden-customer-message-type.js","sourceRoot":"","sources":["../../../src/common/model/warden-customer-message-type.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,yBAEX;AAFD,WAAY,yBAAyB;IACnC,0DAA6B,CAAA;AAC/B,CAAC,EAFW,yBAAyB,KAAzB,yBAAyB,QAEpC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"warden-entry-summary.js","sourceRoot":"","sources":["../../../src/common/model/warden-entry-summary.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"warden-entry.js","sourceRoot":"","sources":["../../../src/common/model/warden-entry.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"warden-jwt-token.js","sourceRoot":"","sources":["../../../src/common/model/warden-jwt-token.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"warden-login-request.js","sourceRoot":"","sources":["../../../src/common/model/warden-login-request.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"warden-login-results.js","sourceRoot":"","sources":["../../../src/common/model/warden-login-results.ts"],"names":[],"mappings":""}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export var WardenStoreRegistrationResponseType;
|
|
2
|
-
(function (WardenStoreRegistrationResponseType) {
|
|
3
|
-
WardenStoreRegistrationResponseType["Verified"] = "Verified";
|
|
4
|
-
WardenStoreRegistrationResponseType["Failed"] = "Failed";
|
|
5
|
-
WardenStoreRegistrationResponseType["Error"] = "Error";
|
|
6
|
-
})(WardenStoreRegistrationResponseType || (WardenStoreRegistrationResponseType = {}));
|
|
7
|
-
//# sourceMappingURL=warden-store-registration-response-type.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"warden-store-registration-response-type.js","sourceRoot":"","sources":["../../../src/common/model/warden-store-registration-response-type.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,mCAIX;AAJD,WAAY,mCAAmC;IAC7C,4DAAqB,CAAA;IACrB,wDAAiB,CAAA;IACjB,sDAAe,CAAA;AACjB,CAAC,EAJW,mCAAmC,KAAnC,mCAAmC,QAI9C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"warden-store-registration-response.js","sourceRoot":"","sources":["../../../src/common/model/warden-store-registration-response.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"warden-team-role.js","sourceRoot":"","sources":["../../../src/common/model/warden-team-role.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"warden-user-decoration.js","sourceRoot":"","sources":["../../../src/common/model/warden-user-decoration.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"warden-web-authn-entry.js","sourceRoot":"","sources":["../../../src/common/model/warden-web-authn-entry.ts"],"names":[],"mappings":""}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export var WardenWebAuthnTransportFutureType;
|
|
2
|
-
(function (WardenWebAuthnTransportFutureType) {
|
|
3
|
-
WardenWebAuthnTransportFutureType["ble"] = "ble";
|
|
4
|
-
WardenWebAuthnTransportFutureType["internal"] = "internal";
|
|
5
|
-
WardenWebAuthnTransportFutureType["nfc"] = "nfc";
|
|
6
|
-
WardenWebAuthnTransportFutureType["usb"] = "usb";
|
|
7
|
-
WardenWebAuthnTransportFutureType["cable"] = "cable";
|
|
8
|
-
WardenWebAuthnTransportFutureType["hybrid"] = "hybrid";
|
|
9
|
-
})(WardenWebAuthnTransportFutureType || (WardenWebAuthnTransportFutureType = {}));
|
|
10
|
-
//# sourceMappingURL=warden-web-authn-transport-future-type.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"warden-web-authn-transport-future-type.js","sourceRoot":"","sources":["../../../src/common/model/warden-web-authn-transport-future-type.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,iCAOX;AAPD,WAAY,iCAAiC;IAC3C,gDAAW,CAAA;IACX,0DAAqB,CAAA;IACrB,gDAAW,CAAA;IACX,gDAAW,CAAA;IACX,oDAAe,CAAA;IACf,sDAAiB,CAAA;AACnB,CAAC,EAPW,iCAAiC,KAAjC,iCAAiC,QAO5C"}
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
import { WardenContactType } from '../model/warden-contact-type.js';
|
|
2
|
-
import { Logger } from '@bitblit/ratchet-common/lib/logger/logger.js';
|
|
3
|
-
import { StringRatchet } from '@bitblit/ratchet-common/lib/lang/string-ratchet.js';
|
|
4
|
-
export class WardenUtils {
|
|
5
|
-
constructor() { }
|
|
6
|
-
static extractContactsOfType(req, type) {
|
|
7
|
-
let rval = null;
|
|
8
|
-
if (req?.contactMethods) {
|
|
9
|
-
rval = req.contactMethods.filter((s) => s.type === type).map((s) => s.value);
|
|
10
|
-
}
|
|
11
|
-
return rval;
|
|
12
|
-
}
|
|
13
|
-
static validLoginRequest(req) {
|
|
14
|
-
let rval = false;
|
|
15
|
-
if (req) {
|
|
16
|
-
if (StringRatchet.trimToNull(req.userId) || WardenUtils.validContact(req.contact)) {
|
|
17
|
-
if (StringRatchet.trimToNull(req.expiringToken) || StringRatchet.trimToNull(req.jwtTokenToRefresh) || req.webAuthn) {
|
|
18
|
-
rval = true;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
return rval;
|
|
23
|
-
}
|
|
24
|
-
static stringToWardenContact(input) {
|
|
25
|
-
let rval = null;
|
|
26
|
-
const type = WardenUtils.stringToContactType(input);
|
|
27
|
-
if (type) {
|
|
28
|
-
rval = {
|
|
29
|
-
type: type,
|
|
30
|
-
value: input,
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
Logger.error('Failed to convert a string to a contact type', input);
|
|
35
|
-
}
|
|
36
|
-
return rval;
|
|
37
|
-
}
|
|
38
|
-
static teamRolesToRoles(teamRoles) {
|
|
39
|
-
const rval = teamRoles?.length ? teamRoles.map((t) => WardenUtils.teamRoleToRoleString(t)) : [];
|
|
40
|
-
return rval;
|
|
41
|
-
}
|
|
42
|
-
static roleStringsToTeamRoles(roles) {
|
|
43
|
-
const rval = roles?.length ? roles.map((t) => WardenUtils.roleStringToTeamRole(t)) : [];
|
|
44
|
-
return rval;
|
|
45
|
-
}
|
|
46
|
-
static roleStringToTeamRole(role) {
|
|
47
|
-
let rval = null;
|
|
48
|
-
if (role && role.indexOf('_/_') >= 0) {
|
|
49
|
-
const sp = role.split('_/_');
|
|
50
|
-
rval = {
|
|
51
|
-
team: sp[0],
|
|
52
|
-
role: sp[1],
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
return rval;
|
|
56
|
-
}
|
|
57
|
-
static teamRoleToRoleString(tr) {
|
|
58
|
-
let rval = null;
|
|
59
|
-
if (tr?.role && tr.team) {
|
|
60
|
-
rval = tr.team + '_/_' + tr.role;
|
|
61
|
-
}
|
|
62
|
-
return rval;
|
|
63
|
-
}
|
|
64
|
-
static stringToContactType(input) {
|
|
65
|
-
let rval = null;
|
|
66
|
-
if (!!StringRatchet.trimToNull(input)) {
|
|
67
|
-
rval = WardenUtils.stringIsEmailAddress(input) ? WardenContactType.EmailAddress : null;
|
|
68
|
-
rval = !rval && WardenUtils.stringIsPhoneNumber(input) ? WardenContactType.TextCapablePhoneNumber : rval;
|
|
69
|
-
}
|
|
70
|
-
return rval;
|
|
71
|
-
}
|
|
72
|
-
static validContact(contact) {
|
|
73
|
-
let rval = false;
|
|
74
|
-
if (contact?.type && StringRatchet.trimToNull(contact?.value)) {
|
|
75
|
-
switch (contact.type) {
|
|
76
|
-
case WardenContactType.EmailAddress:
|
|
77
|
-
rval = WardenUtils.stringIsEmailAddress(contact.value);
|
|
78
|
-
break;
|
|
79
|
-
case WardenContactType.TextCapablePhoneNumber:
|
|
80
|
-
rval = WardenUtils.stringIsPhoneNumber(contact.value);
|
|
81
|
-
break;
|
|
82
|
-
default:
|
|
83
|
-
rval = false;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
return rval;
|
|
87
|
-
}
|
|
88
|
-
static stringIsEmailAddress(value) {
|
|
89
|
-
return !!value.match(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/);
|
|
90
|
-
}
|
|
91
|
-
static stringIsPhoneNumber(value) {
|
|
92
|
-
return !!value.match(/^[\\+]?[(]?[0-9]{3}[)]?[-\\s\\.]?[0-9]{3}[-\\s\\.]?[0-9]{4,6}$/im);
|
|
93
|
-
}
|
|
94
|
-
static stripWardenEntryToSummary(we) {
|
|
95
|
-
const rval = we
|
|
96
|
-
? {
|
|
97
|
-
userId: we.userId,
|
|
98
|
-
userLabel: we.userLabel,
|
|
99
|
-
contactMethods: we.contactMethods,
|
|
100
|
-
webAuthnAuthenticatorIds: (we.webAuthnAuthenticators || []).map((s) => s.credentialIdBase64),
|
|
101
|
-
}
|
|
102
|
-
: null;
|
|
103
|
-
return rval;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
//# sourceMappingURL=warden-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"warden-utils.js","sourceRoot":"","sources":["../../../src/common/util/warden-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { WardenContactType } from '../model/warden-contact-type.js';
|
|
2
|
-
import { WardenUtils } from './warden-utils.js';
|
|
3
|
-
describe('#WardenUtils', () => {
|
|
4
|
-
it('Should convert a string to a contact type', async () => {
|
|
5
|
-
const output = WardenUtils.stringToWardenContact('test@test.com');
|
|
6
|
-
expect(output).not.toBeNull();
|
|
7
|
-
expect(output.value).toEqual('test@test.com');
|
|
8
|
-
expect(output.type).toEqual(WardenContactType.EmailAddress);
|
|
9
|
-
});
|
|
10
|
-
});
|
|
11
|
-
//# sourceMappingURL=warden-utils.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"warden-utils.spec.js","sourceRoot":"","sources":["../../../src/common/util/warden-utils.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAG5B,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,MAAM,GAAkB,WAAW,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC;QACjF,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/lib/index.js
DELETED
package/lib/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|