vona-module-a-user 5.1.6 → 5.1.8
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/dist/bean/bean.passport.d.ts +5 -1
- package/dist/bean/bean.passport.d.ts.map +1 -1
- package/dist/config/config.d.ts +2 -24
- package/dist/config/config.d.ts.map +1 -1
- package/dist/index.js +88 -42
- package/dist/index.js.map +1 -1
- package/dist/service/authTokenAdapter.d.ts +2 -2
- package/dist/service/authTokenAdapter.d.ts.map +1 -1
- package/dist/service/redisToken.d.ts +2 -2
- package/dist/service/redisToken.d.ts.map +1 -1
- package/dist/types/auth.d.ts +37 -4
- package/dist/types/auth.d.ts.map +1 -1
- package/dist/types/authToken.d.ts +2 -2
- package/dist/types/authToken.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/bean/bean.passport.ts +66 -27
- package/src/bean/guard.passport.ts +2 -2
- package/src/config/config.ts +13 -9
- package/src/service/authTokenAdapter.ts +4 -4
- package/src/service/redisToken.ts +4 -4
- package/src/types/auth.ts +40 -4
- package/src/types/authToken.ts +2 -2
|
@@ -24,7 +24,10 @@ export declare class BeanPassport extends BeanBase {
|
|
|
24
24
|
signinMock(name?: keyof IUserNameRecord, options?: ISigninOptions): Promise<IJwtToken>;
|
|
25
25
|
signinWithAnonymous(): Promise<void>;
|
|
26
26
|
kickOut(user?: IUser): Promise<void>;
|
|
27
|
-
checkAuthToken(accessToken?: string, clientName?: keyof IJwtClientRecord, options?: IJwtVerifyOptions): Promise<
|
|
27
|
+
checkAuthToken(accessToken?: string, clientName?: keyof IJwtClientRecord, options?: IJwtVerifyOptions): Promise<{
|
|
28
|
+
payloadData: IPayloadData;
|
|
29
|
+
passport: IPassport;
|
|
30
|
+
} | undefined>;
|
|
28
31
|
refreshAuthToken(refreshToken: string): Promise<IJwtToken>;
|
|
29
32
|
createTempAuthToken(options?: IJwtSignOptions): Promise<string>;
|
|
30
33
|
createOauthAuthToken(options?: IJwtSignOptions): Promise<string>;
|
|
@@ -35,5 +38,6 @@ export declare class BeanPassport extends BeanBase {
|
|
|
35
38
|
checkUserName(name: keyof IUserNameRecord | (keyof IUserNameRecord)[]): boolean;
|
|
36
39
|
private _passportSerialize;
|
|
37
40
|
private _handlePayloadData;
|
|
41
|
+
private _combineAuthTokenOptions;
|
|
38
42
|
}
|
|
39
43
|
//# sourceMappingURL=bean.passport.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bean.passport.d.ts","sourceRoot":"","sources":["../../src/bean/bean.passport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,SAAS,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGvH,OAAO,EAAE,QAAQ,EAA6B,MAAM,MAAM,CAAC;AAG3D,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"bean.passport.d.ts","sourceRoot":"","sources":["../../src/bean/bean.passport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,SAAS,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGvH,OAAO,EAAE,QAAQ,EAA6B,MAAM,MAAM,CAAC;AAG3D,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAqB,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEhG,OAAO,KAAK,EAAE,SAAS,EAAoB,MAAM,sBAAsB,CAAC;AACxE,OAAO,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAI/D,qBACa,YAAa,SAAQ,QAAQ;IACxC,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,YAAY,CAAa;IAEjC,OAAO,KAAK,gBAAgB,GAM3B;IAED,OAAO,KAAK,eAAe,GAM1B;IAED,IAAW,eAAe,IAAI,OAAO,CAGpC;IAED,IAAW,WAAW,IAAI,OAAO,CAGhC;IAEY,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAK3B,UAAU,CAAC,QAAQ,EAAE,SAAS,GAAG,SAAS;IAIvD,IAAW,OAAO,IAAI,SAAS,GAAG,SAAS,CAE1C;IAED,IAAW,WAAW,IAAI,KAAK,GAAG,SAAS,CAE1C;IAED,IAAW,WAAW,IAAI,KAAK,GAAG,SAAS,CAE1C;IAED,IAAW,YAAY,IAAI,KAAK,EAAE,GAAG,SAAS,CAE7C;IAEY,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC;IAiBzE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAaxB,YAAY,CAAC,CAAC,SAAS,MAAM,aAAa,EACrD,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,MAAM,EAAE,CAAC,EACT,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,SAAS,CAAC;IAUR,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,eAAe,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC;IAItF,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAMpC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK;IAKpB,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,gBAAgB,EAAE,OAAO,CAAC,EAAE,iBAAiB;;;;IA2BrG,gBAAgB,CAAC,YAAY,EAAE,MAAM;IAiBrC,mBAAmB,CAAC,OAAO,CAAC,EAAE,eAAe;IAU7C,oBAAoB,CAAC,OAAO,CAAC,EAAE,eAAe;IAU9C,eAAe,CAAC,OAAO,CAAC,EAAE,eAAe;IAUzC,iCAAiC,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe;IAQhF,4BAA4B,CAAC,IAAI,EAAE,MAAM;IAS/C,aAAa,CAAC,IAAI,EAAE,MAAM,eAAe,GAAG,CAAC,MAAM,eAAe,CAAC,EAAE;IAWrE,aAAa,CAAC,IAAI,EAAE,MAAM,eAAe,GAAG,CAAC,MAAM,eAAe,CAAC,EAAE;YAS9D,kBAAkB;YAMlB,kBAAkB;YAwBlB,wBAAwB;CAkBvC"}
|
package/dist/config/config.d.ts
CHANGED
|
@@ -1,26 +1,4 @@
|
|
|
1
1
|
import type { VonaApplication } from 'vona';
|
|
2
|
-
import type {
|
|
3
|
-
|
|
4
|
-
export declare function config(_app: VonaApplication): {
|
|
5
|
-
user: {
|
|
6
|
-
autoActivate: boolean;
|
|
7
|
-
};
|
|
8
|
-
authToken: {
|
|
9
|
-
refreshAuthToken: TypeAuthToken;
|
|
10
|
-
signin: TypeAuthToken;
|
|
11
|
-
};
|
|
12
|
-
adapter: {
|
|
13
|
-
authToken: keyof IServiceRecord;
|
|
14
|
-
passport: keyof IServiceRecord;
|
|
15
|
-
user: keyof IServiceRecord;
|
|
16
|
-
role: keyof IServiceRecord;
|
|
17
|
-
};
|
|
18
|
-
payloadData: {
|
|
19
|
-
fields: {
|
|
20
|
-
authId: string;
|
|
21
|
-
userId: string;
|
|
22
|
-
token: string;
|
|
23
|
-
};
|
|
24
|
-
};
|
|
25
|
-
};
|
|
2
|
+
import type { ConfigUser } from '../types/auth.ts';
|
|
3
|
+
export declare function config(_app: VonaApplication): ConfigUser;
|
|
26
4
|
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAE5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,wBAAgB,MAAM,CAAC,IAAI,EAAE,eAAe,cA4B3C"}
|
package/dist/index.js
CHANGED
|
@@ -2,7 +2,7 @@ import { Global, BeanInfo, BeanBase, beanFullNameFromOnionName, createHash, uuid
|
|
|
2
2
|
import { __decorate } from 'tslib';
|
|
3
3
|
import { catchError, isNil } from '@cabloy/utils';
|
|
4
4
|
import { Guard, Aspect } from 'vona-module-a-aspect';
|
|
5
|
-
import {
|
|
5
|
+
import { checkErrorJwtExpiredAndThrow } from 'vona-module-a-jwt';
|
|
6
6
|
import { Bean, Service, Scope } from 'vona-module-a-bean';
|
|
7
7
|
import { CacheRedis, BeanCacheRedisBase } from 'vona-module-a-cache';
|
|
8
8
|
import { Event, BeanEventBase } from 'vona-module-a-event';
|
|
@@ -19,7 +19,7 @@ let GuardPassport = class GuardPassport extends BeanBase {
|
|
|
19
19
|
});
|
|
20
20
|
if (err && !options.public) throw err;
|
|
21
21
|
// throw error only when ErrorMessageJwtExpired
|
|
22
|
-
|
|
22
|
+
checkErrorJwtExpiredAndThrow(err, this.ctx.headers);
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
// check current
|
|
@@ -158,12 +158,12 @@ let BeanPassport = class BeanPassport extends BeanBase {
|
|
|
158
158
|
// event
|
|
159
159
|
await this.scope.event.signin.emit(passport);
|
|
160
160
|
// serialize: payloadData for client certificate
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
}
|
|
166
|
-
const payloadData = await this._passportSerialize(passport,
|
|
161
|
+
const authTokenOptions = await this._combineAuthTokenOptions(passport.auth.authProviderId, options?.authToken, {
|
|
162
|
+
stateless: this.scope.config.authToken.stateless,
|
|
163
|
+
strategy: this.scope.config.authToken.strategy.signin,
|
|
164
|
+
ttl: this.scope.config.authToken.ttl
|
|
165
|
+
});
|
|
166
|
+
const payloadData = await this._passportSerialize(passport, authTokenOptions);
|
|
167
167
|
// jwt token
|
|
168
168
|
return await this.bean.jwt.create(payloadData, {
|
|
169
169
|
dev: passport.auth?.id.toString() === '-1'
|
|
@@ -223,22 +223,38 @@ let BeanPassport = class BeanPassport extends BeanBase {
|
|
|
223
223
|
throw err;
|
|
224
224
|
}
|
|
225
225
|
if (!payloadData) return; // no jwt token
|
|
226
|
-
const verified = await this.authTokenAdapter.verify(payloadData);
|
|
227
|
-
if (!verified) return this.app.throw(401);
|
|
228
226
|
const passport = await this.passportAdapter.deserialize(payloadData);
|
|
229
227
|
if (!passport) return this.app.throw(401);
|
|
228
|
+
// verified
|
|
229
|
+
const authTokenOptions = await this._combineAuthTokenOptions(passport.auth.authProviderId, undefined, {
|
|
230
|
+
stateless: this.scope.config.authToken.stateless
|
|
231
|
+
});
|
|
232
|
+
if (!authTokenOptions.stateless) {
|
|
233
|
+
const verified = await this.authTokenAdapter.verify(payloadData);
|
|
234
|
+
if (!verified) return this.app.throw(401);
|
|
235
|
+
}
|
|
236
|
+
// setCurrent
|
|
230
237
|
await this.setCurrent(passport);
|
|
231
|
-
return
|
|
238
|
+
return {
|
|
239
|
+
payloadData,
|
|
240
|
+
passport
|
|
241
|
+
};
|
|
232
242
|
}
|
|
233
243
|
async refreshAuthToken(refreshToken) {
|
|
234
244
|
// checkAuthToken by code
|
|
235
|
-
let
|
|
236
|
-
if (!
|
|
245
|
+
let checkRes = await this.checkAuthToken(refreshToken, 'refresh');
|
|
246
|
+
if (!checkRes) return this.app.throw(401);
|
|
247
|
+
let {
|
|
248
|
+
payloadData,
|
|
249
|
+
passport
|
|
250
|
+
} = checkRes;
|
|
237
251
|
// refreshAuthToken
|
|
238
|
-
const
|
|
239
|
-
|
|
240
|
-
|
|
252
|
+
const authTokenOptions = await this._combineAuthTokenOptions(passport.auth.authProviderId, undefined, {
|
|
253
|
+
stateless: this.scope.config.authToken.stateless,
|
|
254
|
+
strategy: this.scope.config.authToken.strategy.refreshAuthToken,
|
|
255
|
+
ttl: this.scope.config.authToken.ttl
|
|
241
256
|
});
|
|
257
|
+
payloadData = await this._handlePayloadData(payloadData, authTokenOptions);
|
|
242
258
|
// jwt token
|
|
243
259
|
return await this.bean.jwt.create(payloadData);
|
|
244
260
|
}
|
|
@@ -249,7 +265,7 @@ let BeanPassport = class BeanPassport extends BeanBase {
|
|
|
249
265
|
if (!passport) return this.app.throw(401);
|
|
250
266
|
// payloadData
|
|
251
267
|
const payloadData = await this._passportSerialize(passport, {
|
|
252
|
-
|
|
268
|
+
strategy: 'reuse'
|
|
253
269
|
});
|
|
254
270
|
// jwt token
|
|
255
271
|
return await this.bean.jwt.createTempAuthToken(payloadData, options);
|
|
@@ -260,7 +276,7 @@ let BeanPassport = class BeanPassport extends BeanBase {
|
|
|
260
276
|
if (!passport) return this.app.throw(401);
|
|
261
277
|
// payloadData
|
|
262
278
|
const payloadData = await this._passportSerialize(passport, {
|
|
263
|
-
|
|
279
|
+
strategy: 'reuse'
|
|
264
280
|
});
|
|
265
281
|
// jwt token
|
|
266
282
|
return await this.bean.jwt.createOauthAuthToken(payloadData, options);
|
|
@@ -271,7 +287,7 @@ let BeanPassport = class BeanPassport extends BeanBase {
|
|
|
271
287
|
if (!passport) return this.app.throw(401);
|
|
272
288
|
// payloadData
|
|
273
289
|
const payloadData = await this._passportSerialize(passport, {
|
|
274
|
-
|
|
290
|
+
strategy: 'reuse'
|
|
275
291
|
});
|
|
276
292
|
// code
|
|
277
293
|
return await this.bean.jwt.createOauthCode(payloadData, options);
|
|
@@ -285,8 +301,11 @@ let BeanPassport = class BeanPassport extends BeanBase {
|
|
|
285
301
|
}
|
|
286
302
|
async createAuthTokenFromOauthCode(code) {
|
|
287
303
|
// checkAuthToken by code
|
|
288
|
-
const
|
|
289
|
-
if (!
|
|
304
|
+
const checkRes = await this.checkAuthToken(code, 'code');
|
|
305
|
+
if (!checkRes) return this.app.throw(401);
|
|
306
|
+
const {
|
|
307
|
+
payloadData
|
|
308
|
+
} = checkRes;
|
|
290
309
|
// jwt token
|
|
291
310
|
return await this.bean.jwt.create(payloadData);
|
|
292
311
|
}
|
|
@@ -308,27 +327,46 @@ let BeanPassport = class BeanPassport extends BeanBase {
|
|
|
308
327
|
if (!optionsName.includes(userName)) return false;
|
|
309
328
|
return true;
|
|
310
329
|
}
|
|
311
|
-
async _passportSerialize(passport,
|
|
330
|
+
async _passportSerialize(passport, authTokenOptions) {
|
|
312
331
|
// serialize
|
|
313
332
|
const payloadData = await this.passportAdapter.serialize(passport);
|
|
314
|
-
return await this._handlePayloadData(payloadData,
|
|
333
|
+
return await this._handlePayloadData(payloadData, authTokenOptions);
|
|
315
334
|
}
|
|
316
|
-
async _handlePayloadData(payloadData,
|
|
335
|
+
async _handlePayloadData(payloadData, authTokenOptions) {
|
|
317
336
|
// auth token
|
|
318
|
-
const
|
|
319
|
-
|
|
320
|
-
|
|
337
|
+
const stateless = authTokenOptions?.stateless;
|
|
338
|
+
const strategy = authTokenOptions?.strategy ?? 'refresh';
|
|
339
|
+
const ttl = authTokenOptions?.ttl;
|
|
340
|
+
if (stateless) {
|
|
341
|
+
// do nothing
|
|
342
|
+
return payloadData;
|
|
343
|
+
} else if (strategy === 'reissue') {
|
|
344
|
+
return await this.authTokenAdapter.create(payloadData, ttl);
|
|
321
345
|
} else {
|
|
322
346
|
const payloadData2 = await this.authTokenAdapter.retrieve(payloadData);
|
|
323
347
|
if (!payloadData2) {
|
|
324
|
-
return await this.authTokenAdapter.create(payloadData);
|
|
348
|
+
return await this.authTokenAdapter.create(payloadData, ttl);
|
|
325
349
|
}
|
|
326
|
-
if (
|
|
327
|
-
await this.authTokenAdapter.refresh(payloadData2);
|
|
350
|
+
if (strategy === 'refresh') {
|
|
351
|
+
await this.authTokenAdapter.refresh(payloadData2, ttl);
|
|
328
352
|
}
|
|
329
353
|
return payloadData2;
|
|
330
354
|
}
|
|
331
355
|
}
|
|
356
|
+
async _combineAuthTokenOptions(authProviderId, authTokenOptionsCustom, authTokenOptionsDefault) {
|
|
357
|
+
if (!authProviderId) return authTokenOptionsDefault;
|
|
358
|
+
const {
|
|
359
|
+
clientOptions
|
|
360
|
+
} = await this.bean.authProvider.getClientOptions({
|
|
361
|
+
id: authProviderId
|
|
362
|
+
}, {
|
|
363
|
+
authTokenOptions: authTokenOptionsCustom ?? {}
|
|
364
|
+
}, {
|
|
365
|
+
authTokenOptions: authTokenOptionsDefault
|
|
366
|
+
});
|
|
367
|
+
if (!clientOptions) this.app.throw(403);
|
|
368
|
+
return clientOptions.authTokenOptions;
|
|
369
|
+
}
|
|
332
370
|
};
|
|
333
371
|
BeanPassport = __decorate([Bean(), BeanInfo({
|
|
334
372
|
module: "a-user"
|
|
@@ -457,13 +495,13 @@ BeanUser = __decorate([Bean(), BeanInfo({
|
|
|
457
495
|
})], BeanUser);
|
|
458
496
|
|
|
459
497
|
let ServiceAuthTokenAdapter = class ServiceAuthTokenAdapter extends BeanBase {
|
|
460
|
-
async create(payloadData) {
|
|
498
|
+
async create(payloadData, ttl) {
|
|
461
499
|
const authIdStr = this._getAuthId(payloadData)?.toString();
|
|
462
500
|
const token = authIdStr === '-1' ? createHash(authIdStr) : uuidv4();
|
|
463
501
|
const payloadDataNew = Object.assign({}, payloadData, {
|
|
464
502
|
[this.scope.config.payloadData.fields.token]: token
|
|
465
503
|
});
|
|
466
|
-
await this.scope.service.redisToken.create(payloadDataNew);
|
|
504
|
+
await this.scope.service.redisToken.create(payloadDataNew, ttl);
|
|
467
505
|
return payloadDataNew;
|
|
468
506
|
}
|
|
469
507
|
async retrieve(payloadData) {
|
|
@@ -472,8 +510,8 @@ let ServiceAuthTokenAdapter = class ServiceAuthTokenAdapter extends BeanBase {
|
|
|
472
510
|
async verify(payloadData) {
|
|
473
511
|
return await this.scope.service.redisToken.verify(payloadData);
|
|
474
512
|
}
|
|
475
|
-
async refresh(payloadData) {
|
|
476
|
-
await this.scope.service.redisToken.refresh(payloadData);
|
|
513
|
+
async refresh(payloadData, ttl) {
|
|
514
|
+
await this.scope.service.redisToken.refresh(payloadData, ttl);
|
|
477
515
|
}
|
|
478
516
|
async remove(payloadData) {
|
|
479
517
|
await this.scope.service.redisToken.remove(payloadData);
|
|
@@ -506,15 +544,19 @@ let ServiceRedisToken = class ServiceRedisToken extends BeanBase {
|
|
|
506
544
|
[this.scope.config.payloadData.fields.token]: token
|
|
507
545
|
};
|
|
508
546
|
}
|
|
509
|
-
async create(payloadData) {
|
|
547
|
+
async create(payloadData, ttl) {
|
|
510
548
|
const key = this._getAuthRedisKey(payloadData);
|
|
511
549
|
if (!key || !this._getToken(payloadData)) return this.app.throw(401);
|
|
512
|
-
await this.scope.cacheRedis.authToken.set(this._getToken(payloadData), key
|
|
550
|
+
await this.scope.cacheRedis.authToken.set(this._getToken(payloadData), key, {
|
|
551
|
+
ttl
|
|
552
|
+
});
|
|
513
553
|
}
|
|
514
|
-
async refresh(payloadData) {
|
|
554
|
+
async refresh(payloadData, ttl) {
|
|
515
555
|
const key = this._getAuthRedisKey(payloadData);
|
|
516
556
|
if (!key) return this.app.throw(401);
|
|
517
|
-
await this.scope.cacheRedis.authToken.expire(key
|
|
557
|
+
await this.scope.cacheRedis.authToken.expire(key, {
|
|
558
|
+
ttl
|
|
559
|
+
});
|
|
518
560
|
}
|
|
519
561
|
async remove(payloadData) {
|
|
520
562
|
const key = this._getAuthRedisKey(payloadData);
|
|
@@ -612,14 +654,17 @@ MetaRuntime = __decorate([Meta(), BeanInfo({
|
|
|
612
654
|
})], MetaRuntime);
|
|
613
655
|
|
|
614
656
|
function config(_app) {
|
|
615
|
-
|
|
657
|
+
const configUser = {
|
|
616
658
|
user: {
|
|
617
659
|
autoActivate: false
|
|
618
660
|
},
|
|
619
661
|
authToken: {
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
662
|
+
stateless: false,
|
|
663
|
+
strategy: {
|
|
664
|
+
refreshAuthToken: 'refresh',
|
|
665
|
+
signin: 'refresh'
|
|
666
|
+
},
|
|
667
|
+
ttl: 30 * 24 * 60 * 60 * 1000
|
|
623
668
|
},
|
|
624
669
|
adapter: {
|
|
625
670
|
authToken: 'a-user:authTokenAdapter',
|
|
@@ -635,6 +680,7 @@ function config(_app) {
|
|
|
635
680
|
}
|
|
636
681
|
}
|
|
637
682
|
};
|
|
683
|
+
return configUser;
|
|
638
684
|
}
|
|
639
685
|
|
|
640
686
|
const errors = {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/bean/guard.passport.ts","../src/bean/guard.roleName.ts","../src/bean/guard.userName.ts","../src/lib/auth.ts","../src/bean/bean.passport.ts","../src/bean/bean.role.ts","../src/bean/bean.user.ts","../src/service/authTokenAdapter.ts","../src/service/redisToken.ts","../src/bean/cacheRedis.authToken.ts","../src/bean/event.activate.ts","../src/bean/event.createAnonymous.ts","../src/bean/event.register.ts","../src/bean/event.signin.ts","../src/bean/event.signout.ts","../src/bean/meta.printTip.ts","../src/bean/meta.runtime.ts","../src/config/config.ts","../src/config/errors.ts","../src/main.ts","../src/.metadata/index.ts","../src/config/locale/en-us.ts","../src/config/locale/zh-cn.ts","../src/.metadata/locales.ts","../src/lib/passport.ts","../src/lib/user.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["GuardPassport","BeanBase","execute","options","next","bean","passport","current","checkAuthToken","_","err","catchError","public","checkErrorJwtExpired","ctx","headers","signinWithAnonymous","isAuthenticated","app","throw","activated","isActivated","innerAccess","__decorate","Guard","Global","__z_BeanInfo","module","GuardRoleName","result","_check","rejectWhenDismatched","passWhenMatched","name","checkRoleName","GuardUserName","checkUserName","$getAuthIdSystem","_authName","authId","BeanPassport","constructor","args","_authTokenAdapter","_passportAdapter","_mockCounter","authTokenAdapter","beanFullName","beanFullNameFromOnionName","scope","config","adapter","authToken","_getBean","passportAdapter","user","currentUser","anonymous","isAdmin","setCurrent","state","currentAuth","auth","currentRoles","roles","signin","isNil","instanceName","Error","event","emit","Object","assign","payloadData","_passportSerialize","jwt","create","dev","id","toString","signout","serialize","remove","undefined","signinSystem","authName","findOneByName","role","findAllByUserId","signinMock","userAnonymous","createAnonymous","kickOut","removeAll","accessToken","clientName","get","verify","includes","code","verified","deserialize","refreshAuthToken","refreshToken","configRefreshAuthToken","_handlePayloadData","createTempAuthToken","createOauthAuthToken","createOauthCode","createOauthCodeFromOauthAuthToken","createAuthTokenFromOauthCode","roleNames","map","item","optionsName","Array","isArray","some","roleName","userName","payloadData2","retrieve","refresh","Bean","BeanRole","_roleAdapter","roleAdapter","findOneById","findOne","userId","addUserId","BeanUser","_userAdapter","userAdapter","activate","setActivated","register","confirmed","randomUsername","autoActivate","data","userCheck","error","UserExists","Date","now","substring","userData","userNew","registerByProfile","profile","userOfProfile","updateById","update","removeById","ServiceAuthTokenAdapter","authIdStr","_getAuthId","token","createHash","uuidv4","payloadDataNew","fields","service","redisToken","Service","ServiceRedisToken","_getToken","key","_getAuthRedisKey","cacheRedis","set","expire","del","keyPrefix","_getAuthRedisKeyPrefix","keys","lookupKeys","mdel","instance","_getUserId","CacheRedisAuthToken","BeanCacheRedisBase","CacheRedis","ttl","disableTransactionCompensate","EventActivate","BeanEventBase","Event","EventCreateAnonymous","EventRegister","EventSignin","EventSignout","MetaPrintTip","meta","isDev","title","message","Meta","MetaRuntime","isProd","_app","errors","Main","BeanSimple","moduleLoading","moduleLoaded","defineProperty","context","enumerable","configLoaded","_config","ScopeModuleAUser","BeanScopeBase","Scope","locales","locale_en_us","locale_zh_cn","$locale","$makeLocaleMagic","Public","_public","Aspect","guardGlobal","Activated","UserName","guard","RoleName","Admin","Passport","admin","$getUserIdSystem","_userName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/bean/guard.passport.ts","../src/bean/guard.roleName.ts","../src/bean/guard.userName.ts","../src/lib/auth.ts","../src/bean/bean.passport.ts","../src/bean/bean.role.ts","../src/bean/bean.user.ts","../src/service/authTokenAdapter.ts","../src/service/redisToken.ts","../src/bean/cacheRedis.authToken.ts","../src/bean/event.activate.ts","../src/bean/event.createAnonymous.ts","../src/bean/event.register.ts","../src/bean/event.signin.ts","../src/bean/event.signout.ts","../src/bean/meta.printTip.ts","../src/bean/meta.runtime.ts","../src/config/config.ts","../src/config/errors.ts","../src/main.ts","../src/.metadata/index.ts","../src/config/locale/en-us.ts","../src/config/locale/zh-cn.ts","../src/.metadata/locales.ts","../src/lib/passport.ts","../src/lib/user.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["GuardPassport","BeanBase","execute","options","next","bean","passport","current","checkAuthToken","_","err","catchError","public","checkErrorJwtExpiredAndThrow","ctx","headers","signinWithAnonymous","isAuthenticated","app","throw","activated","isActivated","innerAccess","__decorate","Guard","Global","__z_BeanInfo","module","GuardRoleName","result","_check","rejectWhenDismatched","passWhenMatched","name","checkRoleName","GuardUserName","checkUserName","$getAuthIdSystem","_authName","authId","BeanPassport","constructor","args","_authTokenAdapter","_passportAdapter","_mockCounter","authTokenAdapter","beanFullName","beanFullNameFromOnionName","scope","config","adapter","authToken","_getBean","passportAdapter","user","currentUser","anonymous","isAdmin","setCurrent","state","currentAuth","auth","currentRoles","roles","signin","isNil","instanceName","Error","event","emit","authTokenOptions","_combineAuthTokenOptions","authProviderId","stateless","strategy","ttl","payloadData","_passportSerialize","jwt","create","dev","id","toString","signout","serialize","remove","undefined","signinSystem","authName","findOneByName","role","findAllByUserId","signinMock","userAnonymous","createAnonymous","kickOut","removeAll","accessToken","clientName","get","verify","includes","code","deserialize","verified","refreshAuthToken","refreshToken","checkRes","_handlePayloadData","createTempAuthToken","createOauthAuthToken","createOauthCode","createOauthCodeFromOauthAuthToken","createAuthTokenFromOauthCode","roleNames","map","item","optionsName","Array","isArray","some","roleName","userName","payloadData2","retrieve","refresh","authTokenOptionsCustom","authTokenOptionsDefault","clientOptions","authProvider","getClientOptions","Bean","BeanRole","_roleAdapter","roleAdapter","findOneById","findOne","userId","addUserId","BeanUser","_userAdapter","userAdapter","activate","setActivated","register","confirmed","randomUsername","autoActivate","data","userCheck","error","UserExists","Date","now","substring","userData","userNew","registerByProfile","profile","userOfProfile","updateById","update","removeById","ServiceAuthTokenAdapter","authIdStr","_getAuthId","token","createHash","uuidv4","payloadDataNew","Object","assign","fields","service","redisToken","Service","ServiceRedisToken","_getToken","key","_getAuthRedisKey","cacheRedis","set","expire","del","keyPrefix","_getAuthRedisKeyPrefix","keys","lookupKeys","mdel","instance","_getUserId","CacheRedisAuthToken","BeanCacheRedisBase","CacheRedis","disableTransactionCompensate","EventActivate","BeanEventBase","Event","EventCreateAnonymous","EventRegister","EventSignin","EventSignout","MetaPrintTip","meta","isDev","title","message","Meta","MetaRuntime","isProd","_app","configUser","errors","Main","BeanSimple","moduleLoading","moduleLoaded","defineProperty","context","enumerable","configLoaded","_config","ScopeModuleAUser","BeanScopeBase","Scope","locales","locale_en_us","locale_zh_cn","$locale","$makeLocaleMagic","Public","_public","Aspect","guardGlobal","Activated","UserName","guard","RoleName","Admin","Passport","admin","$getUserIdSystem","_userName"],"mappings":"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"}
|
|
@@ -3,10 +3,10 @@ import { BeanBase } from 'vona';
|
|
|
3
3
|
import type { IAuthTokenAdapter } from '../types/authToken.ts';
|
|
4
4
|
import type { IUser } from '../types/user.ts';
|
|
5
5
|
export declare class ServiceAuthTokenAdapter extends BeanBase implements IAuthTokenAdapter {
|
|
6
|
-
create(payloadData: IPayloadData): Promise<IPayloadData>;
|
|
6
|
+
create(payloadData: IPayloadData, ttl?: number): Promise<IPayloadData>;
|
|
7
7
|
retrieve(payloadData: IPayloadData): Promise<IPayloadData | undefined>;
|
|
8
8
|
verify(payloadData: IPayloadData): Promise<boolean>;
|
|
9
|
-
refresh(payloadData: IPayloadData): Promise<void>;
|
|
9
|
+
refresh(payloadData: IPayloadData, ttl?: number): Promise<void>;
|
|
10
10
|
remove(payloadData: IPayloadData): Promise<void>;
|
|
11
11
|
removeAll(user: IUser): Promise<void>;
|
|
12
12
|
private _getAuthId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authTokenAdapter.d.ts","sourceRoot":"","sources":["../../src/service/authTokenAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,QAAQ,EAAsB,MAAM,MAAM,CAAC;AAGpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,qBACa,uBAAwB,SAAQ,QAAS,YAAW,iBAAiB;IAC1E,MAAM,CAAC,WAAW,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"authTokenAdapter.d.ts","sourceRoot":"","sources":["../../src/service/authTokenAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,QAAQ,EAAsB,MAAM,MAAM,CAAC;AAGpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,qBACa,uBAAwB,SAAQ,QAAS,YAAW,iBAAiB;IAC1E,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAQtE,QAAQ,CAAC,WAAW,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAItE,MAAM,CAAC,WAAW,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAInD,OAAO,CAAC,WAAW,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/D,MAAM,CAAC,WAAW,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD,SAAS,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C,OAAO,CAAC,UAAU;CAGnB"}
|
|
@@ -4,8 +4,8 @@ import { BeanBase } from 'vona';
|
|
|
4
4
|
export declare class ServiceRedisToken extends BeanBase {
|
|
5
5
|
verify(payloadData: IPayloadData): Promise<boolean>;
|
|
6
6
|
retrieve(payloadData: IPayloadData): Promise<IPayloadData | undefined>;
|
|
7
|
-
create(payloadData: IPayloadData): Promise<undefined>;
|
|
8
|
-
refresh(payloadData: IPayloadData): Promise<undefined>;
|
|
7
|
+
create(payloadData: IPayloadData, ttl?: number): Promise<undefined>;
|
|
8
|
+
refresh(payloadData: IPayloadData, ttl?: number): Promise<undefined>;
|
|
9
9
|
remove(payloadData: IPayloadData): Promise<void>;
|
|
10
10
|
removeAll(user: IUser): Promise<void>;
|
|
11
11
|
private _getAuthRedisKey;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redisToken.d.ts","sourceRoot":"","sources":["../../src/service/redisToken.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAGhC,qBACa,iBAAkB,SAAQ,QAAQ;IACvC,MAAM,CAAC,WAAW,EAAE,YAAY;IAOhC,QAAQ,CAAC,WAAW,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAQtE,MAAM,CAAC,WAAW,EAAE,YAAY;
|
|
1
|
+
{"version":3,"file":"redisToken.d.ts","sourceRoot":"","sources":["../../src/service/redisToken.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAGhC,qBACa,iBAAkB,SAAQ,QAAQ;IACvC,MAAM,CAAC,WAAW,EAAE,YAAY;IAOhC,QAAQ,CAAC,WAAW,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAQtE,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,MAAM;IAM9C,OAAO,CAAC,WAAW,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,MAAM;IAM/C,MAAM,CAAC,WAAW,EAAE,YAAY;IAMhC,SAAS,CAAC,IAAI,EAAE,KAAK;IAM3B,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,UAAU;CAGnB"}
|
package/dist/types/auth.d.ts
CHANGED
|
@@ -1,22 +1,55 @@
|
|
|
1
1
|
import type { TableIdentity } from 'table-identity';
|
|
2
2
|
import type { IAuthProviderRecord } from 'vona-module-a-auth';
|
|
3
|
+
import type { IServiceRecord } from 'vona-module-a-bean';
|
|
3
4
|
export interface IAuthIdRecord {
|
|
4
5
|
'-1': 'dev';
|
|
5
6
|
'-10000': 'mock';
|
|
6
7
|
}
|
|
7
8
|
export interface IAuthProvider {
|
|
8
|
-
id:
|
|
9
|
+
id: number;
|
|
9
10
|
providerName: keyof IAuthProviderRecord;
|
|
10
11
|
clientName: string;
|
|
11
12
|
}
|
|
12
13
|
export interface IAuth {
|
|
13
14
|
id: TableIdentity;
|
|
14
15
|
profileId?: string;
|
|
16
|
+
authProviderId?: number;
|
|
15
17
|
authProvider?: IAuthProvider;
|
|
16
18
|
}
|
|
17
|
-
export type
|
|
19
|
+
export type TypeAuthTokenStrategy = 'reissue' | 'refresh' | 'reuse';
|
|
20
|
+
export interface IAuthTokenConfig {
|
|
21
|
+
stateless: boolean;
|
|
22
|
+
strategy: {
|
|
23
|
+
refreshAuthToken: TypeAuthTokenStrategy;
|
|
24
|
+
signin: TypeAuthTokenStrategy;
|
|
25
|
+
};
|
|
26
|
+
ttl: number;
|
|
27
|
+
}
|
|
28
|
+
export interface ConfigUser {
|
|
29
|
+
user: {
|
|
30
|
+
autoActivate: boolean;
|
|
31
|
+
};
|
|
32
|
+
authToken: IAuthTokenConfig;
|
|
33
|
+
adapter: {
|
|
34
|
+
authToken: keyof IServiceRecord;
|
|
35
|
+
passport: keyof IServiceRecord;
|
|
36
|
+
user: keyof IServiceRecord;
|
|
37
|
+
role: keyof IServiceRecord;
|
|
38
|
+
};
|
|
39
|
+
payloadData: {
|
|
40
|
+
fields: {
|
|
41
|
+
authId: string;
|
|
42
|
+
userId: string;
|
|
43
|
+
token: string;
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
export interface IAuthTokenOptions {
|
|
48
|
+
stateless?: boolean;
|
|
49
|
+
strategy?: TypeAuthTokenStrategy;
|
|
50
|
+
ttl?: number;
|
|
51
|
+
}
|
|
18
52
|
export interface ISigninOptions {
|
|
19
|
-
|
|
20
|
-
authToken?: TypeAuthToken;
|
|
53
|
+
authToken?: IAuthTokenOptions;
|
|
21
54
|
}
|
|
22
55
|
//# sourceMappingURL=auth.d.ts.map
|
package/dist/types/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/types/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/types/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,KAAK,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,mBAAmB,CAAC;IACxC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,aAAa,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,aAAa,CAAC;CAC9B;AAED,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAEpE,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE;QACR,gBAAgB,EAAE,qBAAqB,CAAC;QACxC,MAAM,EAAE,qBAAqB,CAAC;KAC/B,CAAC;IACF,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE;QACJ,YAAY,EAAE,OAAO,CAAC;KACvB,CAAC;IACF,SAAS,EAAE,gBAAgB,CAAC;IAC5B,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,cAAc,CAAC;QAChC,QAAQ,EAAE,MAAM,cAAc,CAAC;QAC/B,IAAI,EAAE,MAAM,cAAc,CAAC;QAC3B,IAAI,EAAE,MAAM,cAAc,CAAC;KAC5B,CAAC;IACF,WAAW,EAAE;QACX,MAAM,EAAE;YACN,MAAM,EAAE,MAAM,CAAC;YACf,MAAM,EAAE,MAAM,CAAC;YACf,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;KACH,CAAC;CACH;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,iBAAiB,CAAC;CAC/B"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { IPayloadData } from 'vona-module-a-jwt';
|
|
2
2
|
import type { IUser } from './user.ts';
|
|
3
3
|
export interface IAuthTokenAdapter {
|
|
4
|
-
create(payloadData: IPayloadData): Promise<IPayloadData>;
|
|
4
|
+
create(payloadData: IPayloadData, ttl?: number): Promise<IPayloadData>;
|
|
5
5
|
retrieve(payloadData: IPayloadData): Promise<IPayloadData | undefined>;
|
|
6
6
|
verify(payloadData: IPayloadData): Promise<boolean>;
|
|
7
|
-
refresh(payloadData: IPayloadData): Promise<void>;
|
|
7
|
+
refresh(payloadData: IPayloadData, ttl?: number): Promise<void>;
|
|
8
8
|
remove(payloadData: IPayloadData): Promise<void>;
|
|
9
9
|
removeAll(user: IUser): Promise<void>;
|
|
10
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authToken.d.ts","sourceRoot":"","sources":["../../src/types/authToken.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAEvC,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,WAAW,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"authToken.d.ts","sourceRoot":"","sources":["../../src/types/authToken.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAEvC,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACvE,QAAQ,CAAC,WAAW,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;IACvE,MAAM,CAAC,WAAW,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,OAAO,CAAC,WAAW,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChE,MAAM,CAAC,WAAW,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,SAAS,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC"}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@ import { catchError, isNil } from '@cabloy/utils';
|
|
|
4
4
|
import { BeanBase, beanFullNameFromOnionName } from 'vona';
|
|
5
5
|
import { Bean } from 'vona-module-a-bean';
|
|
6
6
|
|
|
7
|
-
import type { IAuth, IAuthIdRecord, ISigninOptions } from '../types/auth.ts';
|
|
7
|
+
import type { IAuth, IAuthIdRecord, IAuthTokenOptions, ISigninOptions } from '../types/auth.ts';
|
|
8
8
|
import type { IAuthTokenAdapter } from '../types/authToken.ts';
|
|
9
9
|
import type { IPassport, IPassportAdapter } from '../types/passport.ts';
|
|
10
10
|
import type { IRole, IRoleNameRecord } from '../types/role.ts';
|
|
@@ -76,10 +76,12 @@ export class BeanPassport extends BeanBase {
|
|
|
76
76
|
// event
|
|
77
77
|
await this.scope.event.signin.emit(passport);
|
|
78
78
|
// serialize: payloadData for client certificate
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
79
|
+
const authTokenOptions = await this._combineAuthTokenOptions(passport.auth!.authProviderId, options?.authToken, {
|
|
80
|
+
stateless: this.scope.config.authToken.stateless,
|
|
81
|
+
strategy: this.scope.config.authToken.strategy.signin,
|
|
82
|
+
ttl: this.scope.config.authToken.ttl,
|
|
83
|
+
});
|
|
84
|
+
const payloadData = await this._passportSerialize(passport, authTokenOptions);
|
|
83
85
|
// jwt token
|
|
84
86
|
return await this.bean.jwt.create(payloadData, { dev: passport.auth?.id.toString() === '-1' });
|
|
85
87
|
}
|
|
@@ -139,21 +141,33 @@ export class BeanPassport extends BeanBase {
|
|
|
139
141
|
throw err;
|
|
140
142
|
}
|
|
141
143
|
if (!payloadData) return; // no jwt token
|
|
142
|
-
const verified = await this.authTokenAdapter.verify(payloadData);
|
|
143
|
-
if (!verified) return this.app.throw(401);
|
|
144
144
|
const passport = await this.passportAdapter.deserialize(payloadData);
|
|
145
145
|
if (!passport) return this.app.throw(401);
|
|
146
|
+
// verified
|
|
147
|
+
const authTokenOptions = await this._combineAuthTokenOptions(passport.auth!.authProviderId, undefined, {
|
|
148
|
+
stateless: this.scope.config.authToken.stateless,
|
|
149
|
+
});
|
|
150
|
+
if (!authTokenOptions.stateless) {
|
|
151
|
+
const verified = await this.authTokenAdapter.verify(payloadData);
|
|
152
|
+
if (!verified) return this.app.throw(401);
|
|
153
|
+
}
|
|
154
|
+
// setCurrent
|
|
146
155
|
await this.setCurrent(passport);
|
|
147
|
-
return payloadData;
|
|
156
|
+
return { payloadData, passport };
|
|
148
157
|
}
|
|
149
158
|
|
|
150
159
|
public async refreshAuthToken(refreshToken: string) {
|
|
151
160
|
// checkAuthToken by code
|
|
152
|
-
let
|
|
153
|
-
if (!
|
|
161
|
+
let checkRes = await this.checkAuthToken(refreshToken, 'refresh');
|
|
162
|
+
if (!checkRes) return this.app.throw(401);
|
|
163
|
+
let { payloadData, passport } = checkRes;
|
|
154
164
|
// refreshAuthToken
|
|
155
|
-
const
|
|
156
|
-
|
|
165
|
+
const authTokenOptions = await this._combineAuthTokenOptions(passport.auth!.authProviderId, undefined, {
|
|
166
|
+
stateless: this.scope.config.authToken.stateless,
|
|
167
|
+
strategy: this.scope.config.authToken.strategy.refreshAuthToken,
|
|
168
|
+
ttl: this.scope.config.authToken.ttl,
|
|
169
|
+
});
|
|
170
|
+
payloadData = await this._handlePayloadData(payloadData, authTokenOptions);
|
|
157
171
|
// jwt token
|
|
158
172
|
return await this.bean.jwt.create(payloadData);
|
|
159
173
|
}
|
|
@@ -164,7 +178,7 @@ export class BeanPassport extends BeanBase {
|
|
|
164
178
|
const passport = this.current;
|
|
165
179
|
if (!passport) return this.app.throw(401);
|
|
166
180
|
// payloadData
|
|
167
|
-
const payloadData = await this._passportSerialize(passport, {
|
|
181
|
+
const payloadData = await this._passportSerialize(passport, { strategy: 'reuse' });
|
|
168
182
|
// jwt token
|
|
169
183
|
return await this.bean.jwt.createTempAuthToken(payloadData, options);
|
|
170
184
|
}
|
|
@@ -174,7 +188,7 @@ export class BeanPassport extends BeanBase {
|
|
|
174
188
|
const passport = this.current;
|
|
175
189
|
if (!passport) return this.app.throw(401);
|
|
176
190
|
// payloadData
|
|
177
|
-
const payloadData = await this._passportSerialize(passport, {
|
|
191
|
+
const payloadData = await this._passportSerialize(passport, { strategy: 'reuse' });
|
|
178
192
|
// jwt token
|
|
179
193
|
return await this.bean.jwt.createOauthAuthToken(payloadData, options);
|
|
180
194
|
}
|
|
@@ -184,7 +198,7 @@ export class BeanPassport extends BeanBase {
|
|
|
184
198
|
const passport = this.current;
|
|
185
199
|
if (!passport) return this.app.throw(401);
|
|
186
200
|
// payloadData
|
|
187
|
-
const payloadData = await this._passportSerialize(passport, {
|
|
201
|
+
const payloadData = await this._passportSerialize(passport, { strategy: 'reuse' });
|
|
188
202
|
// code
|
|
189
203
|
return await this.bean.jwt.createOauthCode(payloadData, options);
|
|
190
204
|
}
|
|
@@ -199,8 +213,9 @@ export class BeanPassport extends BeanBase {
|
|
|
199
213
|
|
|
200
214
|
public async createAuthTokenFromOauthCode(code: string) {
|
|
201
215
|
// checkAuthToken by code
|
|
202
|
-
const
|
|
203
|
-
if (!
|
|
216
|
+
const checkRes = await this.checkAuthToken(code, 'code');
|
|
217
|
+
if (!checkRes) return this.app.throw(401);
|
|
218
|
+
const { payloadData } = checkRes;
|
|
204
219
|
// jwt token
|
|
205
220
|
return await this.bean.jwt.create(payloadData);
|
|
206
221
|
}
|
|
@@ -225,28 +240,52 @@ export class BeanPassport extends BeanBase {
|
|
|
225
240
|
return true;
|
|
226
241
|
}
|
|
227
242
|
|
|
228
|
-
private async _passportSerialize(passport: IPassport,
|
|
243
|
+
private async _passportSerialize(passport: IPassport, authTokenOptions?: IAuthTokenOptions) {
|
|
229
244
|
// serialize
|
|
230
245
|
const payloadData = await this.passportAdapter.serialize(passport);
|
|
231
|
-
return await this._handlePayloadData(payloadData,
|
|
246
|
+
return await this._handlePayloadData(payloadData, authTokenOptions);
|
|
232
247
|
}
|
|
233
248
|
|
|
234
|
-
private async _handlePayloadData(payloadData: IPayloadData,
|
|
249
|
+
private async _handlePayloadData(payloadData: IPayloadData, authTokenOptions?: IAuthTokenOptions) {
|
|
235
250
|
// auth token
|
|
236
|
-
const
|
|
237
|
-
|
|
238
|
-
|
|
251
|
+
const stateless = authTokenOptions?.stateless;
|
|
252
|
+
const strategy = authTokenOptions?.strategy ?? 'refresh';
|
|
253
|
+
const ttl = authTokenOptions?.ttl;
|
|
254
|
+
if (stateless) {
|
|
255
|
+
// do nothing
|
|
256
|
+
return payloadData;
|
|
257
|
+
} else if (strategy === 'reissue') {
|
|
258
|
+
return await this.authTokenAdapter.create(payloadData, ttl);
|
|
239
259
|
} else {
|
|
240
260
|
const payloadData2 = await this.authTokenAdapter.retrieve(payloadData);
|
|
241
261
|
if (!payloadData2) {
|
|
242
|
-
return await this.authTokenAdapter.create(payloadData);
|
|
262
|
+
return await this.authTokenAdapter.create(payloadData, ttl);
|
|
243
263
|
}
|
|
244
|
-
if (
|
|
245
|
-
await this.authTokenAdapter.refresh(payloadData2);
|
|
246
|
-
} else if (
|
|
264
|
+
if (strategy === 'refresh') {
|
|
265
|
+
await this.authTokenAdapter.refresh(payloadData2, ttl);
|
|
266
|
+
} else if (strategy === 'reuse') {
|
|
247
267
|
// do nothing
|
|
248
268
|
}
|
|
249
269
|
return payloadData2;
|
|
250
270
|
}
|
|
251
271
|
}
|
|
272
|
+
|
|
273
|
+
private async _combineAuthTokenOptions(
|
|
274
|
+
authProviderId: number | undefined,
|
|
275
|
+
authTokenOptionsCustom: IAuthTokenOptions | undefined,
|
|
276
|
+
authTokenOptionsDefault: IAuthTokenOptions,
|
|
277
|
+
) {
|
|
278
|
+
if (!authProviderId) return authTokenOptionsDefault;
|
|
279
|
+
const { clientOptions } = await this.bean.authProvider.getClientOptions(
|
|
280
|
+
{
|
|
281
|
+
id: authProviderId,
|
|
282
|
+
},
|
|
283
|
+
{ authTokenOptions: authTokenOptionsCustom ?? {} },
|
|
284
|
+
{
|
|
285
|
+
authTokenOptions: authTokenOptionsDefault,
|
|
286
|
+
},
|
|
287
|
+
);
|
|
288
|
+
if (!clientOptions) this.app.throw(403);
|
|
289
|
+
return clientOptions.authTokenOptions!;
|
|
290
|
+
}
|
|
252
291
|
}
|
|
@@ -4,7 +4,7 @@ import type { IDecoratorGuardOptionsGlobal, IGuardExecute } from 'vona-module-a-
|
|
|
4
4
|
import { catchError } from '@cabloy/utils';
|
|
5
5
|
import { BeanBase, Global } from 'vona';
|
|
6
6
|
import { Guard } from 'vona-module-a-aspect';
|
|
7
|
-
import {
|
|
7
|
+
import { checkErrorJwtExpiredAndThrow } from 'vona-module-a-jwt';
|
|
8
8
|
|
|
9
9
|
export interface IGuardOptionsPassport extends IDecoratorGuardOptionsGlobal {
|
|
10
10
|
public: boolean;
|
|
@@ -25,7 +25,7 @@ export class GuardPassport extends BeanBase implements IGuardExecute {
|
|
|
25
25
|
});
|
|
26
26
|
if (err && !options.public) throw err;
|
|
27
27
|
// throw error only when ErrorMessageJwtExpired
|
|
28
|
-
|
|
28
|
+
checkErrorJwtExpiredAndThrow(err, this.ctx.headers);
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
// check current
|
package/src/config/config.ts
CHANGED
|
@@ -1,22 +1,25 @@
|
|
|
1
1
|
import type { VonaApplication } from 'vona';
|
|
2
|
-
import type { IServiceRecord } from 'vona-module-a-bean';
|
|
3
2
|
|
|
4
|
-
import type {
|
|
3
|
+
import type { ConfigUser } from '../types/auth.ts';
|
|
5
4
|
|
|
6
5
|
export function config(_app: VonaApplication) {
|
|
7
|
-
|
|
6
|
+
const configUser: ConfigUser = {
|
|
8
7
|
user: {
|
|
9
8
|
autoActivate: false,
|
|
10
9
|
},
|
|
11
10
|
authToken: {
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
stateless: false,
|
|
12
|
+
strategy: {
|
|
13
|
+
refreshAuthToken: 'refresh',
|
|
14
|
+
signin: 'refresh',
|
|
15
|
+
},
|
|
16
|
+
ttl: 30 * 24 * 60 * 60 * 1000,
|
|
14
17
|
},
|
|
15
18
|
adapter: {
|
|
16
|
-
authToken: 'a-user:authTokenAdapter'
|
|
17
|
-
passport: 'home-user:passportAdapter'
|
|
18
|
-
user: 'home-user:userAdapter'
|
|
19
|
-
role: 'home-user:roleAdapter'
|
|
19
|
+
authToken: 'a-user:authTokenAdapter',
|
|
20
|
+
passport: 'home-user:passportAdapter',
|
|
21
|
+
user: 'home-user:userAdapter',
|
|
22
|
+
role: 'home-user:roleAdapter',
|
|
20
23
|
},
|
|
21
24
|
payloadData: {
|
|
22
25
|
fields: {
|
|
@@ -26,4 +29,5 @@ export function config(_app: VonaApplication) {
|
|
|
26
29
|
},
|
|
27
30
|
},
|
|
28
31
|
};
|
|
32
|
+
return configUser;
|
|
29
33
|
}
|
|
@@ -8,11 +8,11 @@ import type { IUser } from '../types/user.ts';
|
|
|
8
8
|
|
|
9
9
|
@Service()
|
|
10
10
|
export class ServiceAuthTokenAdapter extends BeanBase implements IAuthTokenAdapter {
|
|
11
|
-
async create(payloadData: IPayloadData): Promise<IPayloadData> {
|
|
11
|
+
async create(payloadData: IPayloadData, ttl?: number): Promise<IPayloadData> {
|
|
12
12
|
const authIdStr = this._getAuthId(payloadData)?.toString();
|
|
13
13
|
const token = authIdStr === '-1' ? createHash(authIdStr) : uuidv4();
|
|
14
14
|
const payloadDataNew = Object.assign({}, payloadData, { [this.scope.config.payloadData.fields.token]: token });
|
|
15
|
-
await this.scope.service.redisToken.create(payloadDataNew);
|
|
15
|
+
await this.scope.service.redisToken.create(payloadDataNew, ttl);
|
|
16
16
|
return payloadDataNew;
|
|
17
17
|
}
|
|
18
18
|
|
|
@@ -24,8 +24,8 @@ export class ServiceAuthTokenAdapter extends BeanBase implements IAuthTokenAdapt
|
|
|
24
24
|
return await this.scope.service.redisToken.verify(payloadData);
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
async refresh(payloadData: IPayloadData): Promise<void> {
|
|
28
|
-
await this.scope.service.redisToken.refresh(payloadData);
|
|
27
|
+
async refresh(payloadData: IPayloadData, ttl?: number): Promise<void> {
|
|
28
|
+
await this.scope.service.redisToken.refresh(payloadData, ttl);
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
async remove(payloadData: IPayloadData): Promise<void> {
|
|
@@ -21,16 +21,16 @@ export class ServiceRedisToken extends BeanBase {
|
|
|
21
21
|
return { ...payloadData, [this.scope.config.payloadData.fields.token]: token };
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
async create(payloadData: IPayloadData) {
|
|
24
|
+
async create(payloadData: IPayloadData, ttl?: number) {
|
|
25
25
|
const key = this._getAuthRedisKey(payloadData);
|
|
26
26
|
if (!key || !this._getToken(payloadData)) return this.app.throw(401);
|
|
27
|
-
await this.scope.cacheRedis.authToken.set(this._getToken(payloadData), key);
|
|
27
|
+
await this.scope.cacheRedis.authToken.set(this._getToken(payloadData), key, { ttl });
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
async refresh(payloadData: IPayloadData) {
|
|
30
|
+
async refresh(payloadData: IPayloadData, ttl?: number) {
|
|
31
31
|
const key = this._getAuthRedisKey(payloadData);
|
|
32
32
|
if (!key) return this.app.throw(401);
|
|
33
|
-
await this.scope.cacheRedis.authToken.expire(key);
|
|
33
|
+
await this.scope.cacheRedis.authToken.expire(key, { ttl });
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
async remove(payloadData: IPayloadData) {
|
package/src/types/auth.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { TableIdentity } from 'table-identity';
|
|
2
2
|
import type { IAuthProviderRecord } from 'vona-module-a-auth';
|
|
3
|
+
import type { IServiceRecord } from 'vona-module-a-bean';
|
|
3
4
|
|
|
4
5
|
export interface IAuthIdRecord {
|
|
5
6
|
'-1': 'dev';
|
|
@@ -7,7 +8,7 @@ export interface IAuthIdRecord {
|
|
|
7
8
|
}
|
|
8
9
|
|
|
9
10
|
export interface IAuthProvider {
|
|
10
|
-
id:
|
|
11
|
+
id: number;
|
|
11
12
|
providerName: keyof IAuthProviderRecord;
|
|
12
13
|
clientName: string;
|
|
13
14
|
}
|
|
@@ -15,12 +16,47 @@ export interface IAuthProvider {
|
|
|
15
16
|
export interface IAuth {
|
|
16
17
|
id: TableIdentity;
|
|
17
18
|
profileId?: string;
|
|
19
|
+
authProviderId?: number;
|
|
18
20
|
authProvider?: IAuthProvider;
|
|
19
21
|
}
|
|
20
22
|
|
|
21
|
-
export type
|
|
23
|
+
export type TypeAuthTokenStrategy = 'reissue' | 'refresh' | 'reuse';
|
|
24
|
+
|
|
25
|
+
export interface IAuthTokenConfig {
|
|
26
|
+
stateless: boolean;
|
|
27
|
+
strategy: {
|
|
28
|
+
refreshAuthToken: TypeAuthTokenStrategy;
|
|
29
|
+
signin: TypeAuthTokenStrategy;
|
|
30
|
+
};
|
|
31
|
+
ttl: number;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export interface ConfigUser {
|
|
35
|
+
user: {
|
|
36
|
+
autoActivate: boolean;
|
|
37
|
+
};
|
|
38
|
+
authToken: IAuthTokenConfig;
|
|
39
|
+
adapter: {
|
|
40
|
+
authToken: keyof IServiceRecord;
|
|
41
|
+
passport: keyof IServiceRecord;
|
|
42
|
+
user: keyof IServiceRecord;
|
|
43
|
+
role: keyof IServiceRecord;
|
|
44
|
+
};
|
|
45
|
+
payloadData: {
|
|
46
|
+
fields: {
|
|
47
|
+
authId: string;
|
|
48
|
+
userId: string;
|
|
49
|
+
token: string;
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export interface IAuthTokenOptions {
|
|
55
|
+
stateless?: boolean;
|
|
56
|
+
strategy?: TypeAuthTokenStrategy;
|
|
57
|
+
ttl?: number;
|
|
58
|
+
}
|
|
22
59
|
|
|
23
60
|
export interface ISigninOptions {
|
|
24
|
-
|
|
25
|
-
authToken?: TypeAuthToken;
|
|
61
|
+
authToken?: IAuthTokenOptions;
|
|
26
62
|
}
|
package/src/types/authToken.ts
CHANGED
|
@@ -3,10 +3,10 @@ import type { IPayloadData } from 'vona-module-a-jwt';
|
|
|
3
3
|
import type { IUser } from './user.ts';
|
|
4
4
|
|
|
5
5
|
export interface IAuthTokenAdapter {
|
|
6
|
-
create(payloadData: IPayloadData): Promise<IPayloadData>;
|
|
6
|
+
create(payloadData: IPayloadData, ttl?: number): Promise<IPayloadData>;
|
|
7
7
|
retrieve(payloadData: IPayloadData): Promise<IPayloadData | undefined>;
|
|
8
8
|
verify(payloadData: IPayloadData): Promise<boolean>;
|
|
9
|
-
refresh(payloadData: IPayloadData): Promise<void>;
|
|
9
|
+
refresh(payloadData: IPayloadData, ttl?: number): Promise<void>;
|
|
10
10
|
remove(payloadData: IPayloadData): Promise<void>;
|
|
11
11
|
removeAll(user: IUser): Promise<void>;
|
|
12
12
|
}
|