@tstdl/base 0.82.8 → 0.82.10
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/authentication/authentication.api.d.ts +4 -3
- package/authentication/authentication.api.js.map +1 -1
- package/authentication/client/api.client.d.ts +6 -50
- package/authentication/client/api.client.js +18 -11
- package/authentication/client/api.client.js.map +1 -1
- package/authentication/server/authentication-token-payload.provider.d.ts +3 -2
- package/authentication/server/authentication-token-payload.provider.js.map +1 -1
- package/authentication/server/authentication.api-controller.d.ts +9 -9
- package/authentication/server/authentication.api-controller.js +3 -3
- package/authentication/server/authentication.api-controller.js.map +1 -1
- package/authentication/server/authentication.service.d.ts +5 -5
- package/authentication/server/authentication.service.js +9 -11
- package/authentication/server/authentication.service.js.map +1 -1
- package/authentication/server/module.d.ts +1 -1
- package/examples/api/custom-authentication.js +4 -7
- package/examples/api/custom-authentication.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { ApiDefinition } from "../api/types";
|
|
2
2
|
import type { SchemaTestable } from "../schema/schema";
|
|
3
3
|
import type { ObjectSchemaOrType } from "../schema/types";
|
|
4
|
+
import type { Record } from "../types";
|
|
4
5
|
import { TokenPayloadBase } from './models';
|
|
5
|
-
type GetAuthenticationApiEndpointsDefinition<AdditionalTokenPayload =
|
|
6
|
-
type AuthenticationApiEndpointsDefinition<AdditionalTokenPayload =
|
|
7
|
-
export type AuthenticationApiDefinition<AdditionalTokenPayload =
|
|
6
|
+
type GetAuthenticationApiEndpointsDefinition<AdditionalTokenPayload = Record<never>, AuthenticationData = void> = typeof getAuthenticationApiEndpointsDefinition<AdditionalTokenPayload, AuthenticationData>;
|
|
7
|
+
type AuthenticationApiEndpointsDefinition<AdditionalTokenPayload = Record<never>, AuthenticationData = void> = ReturnType<GetAuthenticationApiEndpointsDefinition<AdditionalTokenPayload, AuthenticationData>>;
|
|
8
|
+
export type AuthenticationApiDefinition<AdditionalTokenPayload = Record<never>, AuthenticationData = void> = ApiDefinition<string, AuthenticationApiEndpointsDefinition<AdditionalTokenPayload, AuthenticationData>>;
|
|
8
9
|
export declare const authenticationApiDefinition: {
|
|
9
10
|
resource: string;
|
|
10
11
|
endpoints: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authentication.api.js","sourceRoot":"","sources":["../../source/authentication/authentication.api.ts"],"names":[],"mappings":";;;AACA,wCAAwC;AAExC,qDAAiD;AACjD,uDAAmD;AACnD,qDAAiD;AACjD,qDAA4E;AAC5E,qDAAiD;AACjD,uDAAmD;
|
|
1
|
+
{"version":3,"file":"authentication.api.js","sourceRoot":"","sources":["../../source/authentication/authentication.api.ts"],"names":[],"mappings":";;;AACA,wCAAwC;AAExC,qDAAiD;AACjD,uDAAmD;AACnD,qDAAiD;AACjD,qDAA4E;AAC5E,qDAAiD;AACjD,uDAAmD;AAGnD,qCAA4C;AAU/B,QAAA,2BAA2B,GAAG,8BAA8B,CAAC,0BAAiB,EAAE,IAAA,iBAAO,GAAE,CAAC,CAAC;AAExG,4EAA4E;AAC5E,SAAgB,8BAA8B,CAC5C,4BAAwE,EACxE,wBAA4D,EAC5D,QAAiB,EACjB,mBAAyC;IAEzC,OAAO,IAAA,iBAAS,EAAC;QACf,QAAQ,EAAE,QAAQ,IAAI,MAAM;QAC5B,SAAS,EAAE;YACT,GAAG,uCAAuC,CAAC,4BAA4B,EAAE,wBAAwB,CAAC;YAClG,GAAG,mBAAmB;SACvB;KACF,CAAC,CAAC;AACL,CAAC;AAbD,wEAaC;AAED,4EAA4E;AAC5E,SAAgB,uCAAuC,CACrD,4BAAwE,EACxE,wBAA4D;IAE5D,MAAM,iBAAiB,GAAG,IAAA,eAAM,EAAC,yBAAgB,EAAE,4BAA4B,CAAC,CAAC;IAEjF,OAAO;QACL,KAAK,EAAE;YACL,QAAQ,EAAE,OAAO;YACjB,MAAM,EAAE,MAAM;YACd,UAAU,EAAE,IAAA,uBAAc,EAAC;gBACzB,OAAO,EAAE,IAAA,eAAM,GAAE;gBACjB,MAAM,EAAE,IAAA,eAAM,GAAE;gBAChB,IAAI,EAAE,wBAAwB;aAC/B,CAAC;YACF,MAAM,EAAE,iBAAiB;SAC1B;QACD,OAAO,EAAE;YACP,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,MAAM;YACd,UAAU,EAAE,IAAA,uBAAc,EAAC;gBACzB,IAAI,EAAE,wBAAwB;aAC/B,CAAC;YACF,MAAM,EAAE,iBAAiB;SAC1B;QACD,UAAU,EAAE;YACV,QAAQ,EAAE,aAAa;YACvB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,IAAA,iBAAO,EAAC,IAAa,CAAC;SAC/B;QACD,SAAS,EAAE;YACT,MAAM,EAAE,IAAA,eAAM,GAAE;SACjB;KAC+B,CAAC;AACrC,CAAC;AAlCD,0FAkCC"}
|
|
@@ -1,50 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
method: "POST";
|
|
8
|
-
parameters: import("../../schema").ObjectSchema<{
|
|
9
|
-
subject: string;
|
|
10
|
-
secret: string;
|
|
11
|
-
data: unknown;
|
|
12
|
-
}>;
|
|
13
|
-
result: import("../../schema").ObjectSchema<{
|
|
14
|
-
jti: string;
|
|
15
|
-
iat: number;
|
|
16
|
-
exp: number;
|
|
17
|
-
refreshTokenExp: number;
|
|
18
|
-
sessionId: string;
|
|
19
|
-
subject: string;
|
|
20
|
-
}>;
|
|
21
|
-
};
|
|
22
|
-
refresh: {
|
|
23
|
-
resource: string;
|
|
24
|
-
method: "POST";
|
|
25
|
-
parameters: import("../../schema").ObjectSchema<{
|
|
26
|
-
data: unknown;
|
|
27
|
-
}>;
|
|
28
|
-
result: import("../../schema").ObjectSchema<{
|
|
29
|
-
jti: string;
|
|
30
|
-
iat: number;
|
|
31
|
-
exp: number;
|
|
32
|
-
refreshTokenExp: number;
|
|
33
|
-
sessionId: string;
|
|
34
|
-
subject: string;
|
|
35
|
-
}>;
|
|
36
|
-
};
|
|
37
|
-
endSession: {
|
|
38
|
-
resource: string;
|
|
39
|
-
method: "POST";
|
|
40
|
-
result: import("../../schema").ValueSchema<"ok">;
|
|
41
|
-
};
|
|
42
|
-
timestamp: {
|
|
43
|
-
result: import("../../schema").ValueSchema<number>;
|
|
44
|
-
};
|
|
45
|
-
};
|
|
46
|
-
}>;
|
|
47
|
-
export declare class AuthenticationApiClient extends AuthenticationApiClient_base {
|
|
48
|
-
constructor(httpClient: HttpClient);
|
|
49
|
-
}
|
|
50
|
-
export {};
|
|
1
|
+
import type { ApiClient } from "../../api/client";
|
|
2
|
+
import type { SchemaTestable } from "../../schema/schema";
|
|
3
|
+
import type { ObjectSchemaOrType } from "../../schema/types/types";
|
|
4
|
+
import type { AuthenticationApiDefinition } from '../authentication.api';
|
|
5
|
+
export declare function getAuthenticationApiClient<AdditionalTokenPayload, AuthenticationData>(additionalTokenPayloadSchema: ObjectSchemaOrType<AdditionalTokenPayload>, authenticationDataSchema: SchemaTestable<AuthenticationData>): ApiClient<AuthenticationApiDefinition<AdditionalTokenPayload, AuthenticationData>>;
|
|
6
|
+
export declare const AuthenticationApiClient: ApiClient<AuthenticationApiDefinition<{}, unknown>>;
|
|
@@ -9,19 +9,26 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.AuthenticationApiClient = void 0;
|
|
12
|
+
exports.AuthenticationApiClient = exports.getAuthenticationApiClient = void 0;
|
|
13
13
|
const client_1 = require("../../api/client");
|
|
14
14
|
const container_1 = require("../../container");
|
|
15
15
|
const http_client_1 = require("../../http/client/http-client");
|
|
16
|
+
const object_1 = require("../../schema/schemas/object");
|
|
17
|
+
const unknown_1 = require("../../schema/schemas/unknown");
|
|
16
18
|
const authentication_api_1 = require("../authentication.api");
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
19
|
+
function getAuthenticationApiClient(additionalTokenPayloadSchema, authenticationDataSchema) {
|
|
20
|
+
const definition = (0, authentication_api_1.getAuthenticationApiDefinition)(additionalTokenPayloadSchema, authenticationDataSchema);
|
|
21
|
+
let AuthenticationApiClient = class AuthenticationApiClient extends (0, client_1.compileClient)(definition) {
|
|
22
|
+
constructor(httpClient) {
|
|
23
|
+
super(httpClient);
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
AuthenticationApiClient = __decorate([
|
|
27
|
+
(0, container_1.singleton)(),
|
|
28
|
+
__metadata("design:paramtypes", [http_client_1.HttpClient])
|
|
29
|
+
], AuthenticationApiClient);
|
|
30
|
+
return AuthenticationApiClient;
|
|
31
|
+
}
|
|
32
|
+
exports.getAuthenticationApiClient = getAuthenticationApiClient;
|
|
33
|
+
exports.AuthenticationApiClient = getAuthenticationApiClient(object_1.emptyObjectSchema, (0, unknown_1.unknown)());
|
|
27
34
|
//# sourceMappingURL=api.client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.client.js","sourceRoot":"","sources":["../../../source/authentication/client/api.client.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"api.client.js","sourceRoot":"","sources":["../../../source/authentication/client/api.client.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,6CAA6C;AAC7C,+CAAwC;AACxC,+DAAuD;AAEvD,wDAA4D;AAC5D,0DAAmD;AAGnD,8DAAuE;AAEvE,SAAgB,0BAA0B,CACxC,4BAAwE,EACxE,wBAA4D;IAE5D,MAAM,UAAU,GAAG,IAAA,mDAA8B,EAAC,4BAA4B,EAAE,wBAAwB,CAAC,CAAC;IAE1G,IACM,uBAAuB,GAD7B,MACM,uBAAwB,SAAQ,IAAA,sBAAa,EAAC,UAAU,CAAC;QAC7D,YAAY,UAAsB;YAChC,KAAK,CAAC,UAAU,CAAC,CAAC;QACpB,CAAC;KACF,CAAA;IAJK,uBAAuB;QAD5B,IAAA,qBAAS,GAAE;yCAEc,wBAAU;OAD9B,uBAAuB,CAI5B;IAED,OAAO,uBAAuB,CAAC;AACjC,CAAC;AAdD,gEAcC;AAEY,QAAA,uBAAuB,GAAG,0BAA0B,CAAC,0BAAiB,EAAE,IAAA,iBAAO,GAAE,CAAC,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import type { Record } from "../../types";
|
|
2
|
+
export declare abstract class AuthenticationTokenPayloadProvider<AdditionalTokenPayload = Record<never>, AuthenticationData = void> {
|
|
3
|
+
abstract getTokenPayload(subject: string, authenticationData: AuthenticationData): AdditionalTokenPayload | Promise<AdditionalTokenPayload>;
|
|
3
4
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authentication-token-payload.provider.js","sourceRoot":"","sources":["../../../source/authentication/server/authentication-token-payload.provider.ts"],"names":[],"mappings":";;;;;;;;;AAAA,iDAAqC;
|
|
1
|
+
{"version":3,"file":"authentication-token-payload.provider.js","sourceRoot":"","sources":["../../../source/authentication/server/authentication-token-payload.provider.ts"],"names":[],"mappings":";;;;;;;;;AAAA,iDAAqC;AAI9B,IAAe,kCAAkC,GAAjD,MAAe,kCAAkC;CAEvD,CAAA;AAFqB,kCAAkC;IADvD,IAAA,kBAAK,GAAE;GACc,kCAAkC,CAEvD;AAFqB,gFAAkC"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import type { ApiController, ApiRequestData, ApiServerResult } from "../../api/types";
|
|
2
|
+
import type { Record } from "../../types";
|
|
2
3
|
import type { AuthenticationApiDefinition } from '../authentication.api';
|
|
3
|
-
import type { TokenPayloadBase } from '../models';
|
|
4
4
|
import { AuthenticationService } from './authentication.service';
|
|
5
|
-
export declare class AuthenticationApiController<
|
|
6
|
-
readonly authenticationService: AuthenticationService<
|
|
7
|
-
constructor(authenticationService: AuthenticationService<
|
|
8
|
-
token({ parameters }: ApiRequestData<AuthenticationApiDefinition<
|
|
9
|
-
refresh({ request, parameters }: ApiRequestData<AuthenticationApiDefinition<
|
|
10
|
-
endSession({ request }: ApiRequestData<AuthenticationApiDefinition<
|
|
11
|
-
timestamp(): ApiServerResult<AuthenticationApiDefinition<
|
|
12
|
-
private
|
|
5
|
+
export declare class AuthenticationApiController<AdditionalTokenPayload = Record<never>, AuthenticationData = void> implements ApiController<AuthenticationApiDefinition<AdditionalTokenPayload, AuthenticationData>> {
|
|
6
|
+
readonly authenticationService: AuthenticationService<AdditionalTokenPayload, AuthenticationData>;
|
|
7
|
+
constructor(authenticationService: AuthenticationService<AdditionalTokenPayload, AuthenticationData>);
|
|
8
|
+
token({ parameters }: ApiRequestData<AuthenticationApiDefinition<AdditionalTokenPayload, AuthenticationData>, 'token'>): Promise<ApiServerResult<AuthenticationApiDefinition<AdditionalTokenPayload, AuthenticationData>, 'token'>>;
|
|
9
|
+
refresh({ request, parameters }: ApiRequestData<AuthenticationApiDefinition<AdditionalTokenPayload, AuthenticationData>, 'refresh'>): Promise<ApiServerResult<AuthenticationApiDefinition<AdditionalTokenPayload, AuthenticationData>, 'refresh'>>;
|
|
10
|
+
endSession({ request }: ApiRequestData<AuthenticationApiDefinition<AdditionalTokenPayload, AuthenticationData>, 'endSession'>): Promise<ApiServerResult<AuthenticationApiDefinition<AdditionalTokenPayload, AuthenticationData>, 'endSession'>>;
|
|
11
|
+
timestamp(): ApiServerResult<AuthenticationApiDefinition<AdditionalTokenPayload, AuthenticationData>, 'timestamp'>;
|
|
12
|
+
private getTokenResponse;
|
|
13
13
|
}
|
|
@@ -28,12 +28,12 @@ let AuthenticationApiController = class AuthenticationApiController {
|
|
|
28
28
|
throw new unauthorized_error_1.UnauthorizedError('Invalid credentials.');
|
|
29
29
|
}
|
|
30
30
|
const result = await this.authenticationService.getToken(authenticationResult.subject, parameters.data);
|
|
31
|
-
return this.
|
|
31
|
+
return this.getTokenResponse(result);
|
|
32
32
|
}
|
|
33
33
|
async refresh({ request, parameters }) {
|
|
34
34
|
const tokenString = (0, helper_1.tryGetAuthorizationTokenStringFromRequest)(request, 'refreshToken') ?? '';
|
|
35
35
|
const result = await this.authenticationService.refresh(tokenString, parameters.data);
|
|
36
|
-
return this.
|
|
36
|
+
return this.getTokenResponse(result);
|
|
37
37
|
}
|
|
38
38
|
async endSession({ request }) {
|
|
39
39
|
const tokenString = (0, helper_1.tryGetAuthorizationTokenStringFromRequest)(request) ?? '';
|
|
@@ -44,7 +44,7 @@ let AuthenticationApiController = class AuthenticationApiController {
|
|
|
44
44
|
timestamp() {
|
|
45
45
|
return (0, date_time_1.currentTimestamp)();
|
|
46
46
|
}
|
|
47
|
-
|
|
47
|
+
getTokenResponse({ token, jsonToken, refreshToken }) {
|
|
48
48
|
const result = jsonToken.payload;
|
|
49
49
|
return new server_2.HttpServerResponse({
|
|
50
50
|
cookies: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authentication.api-controller.js","sourceRoot":"","sources":["../../../source/authentication/server/authentication.api-controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA6C;AAE7C,uEAA+D;AAC/D,8CAAmD;
|
|
1
|
+
{"version":3,"file":"authentication.api-controller.js","sourceRoot":"","sources":["../../../source/authentication/server/authentication.api-controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA6C;AAE7C,uEAA+D;AAC/D,8CAAmD;AAEnD,qDAAqD;AAErD,8DAAoE;AAEpE,qEAAiE;AACjE,qCAAqE;AAG9D,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;IAC7B,qBAAqB,CAAoE;IAElG,YAAY,qBAAwF;QAClG,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,EAAE,UAAU,EAAoG;QAC1H,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QAElH,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE;YACjC,MAAM,IAAI,sCAAiB,CAAC,sBAAsB,CAAC,CAAC;SACrD;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,oBAAoB,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QAExG,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,UAAU,EAAsG;QACvI,MAAM,WAAW,GAAG,IAAA,kDAAyC,EAAC,OAAO,EAAE,cAAc,CAAC,IAAI,EAAE,CAAC;QAC7F,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QAEtF,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAE,OAAO,EAAyG;QACjI,MAAM,WAAW,GAAG,IAAA,kDAAyC,EAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC7E,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAC1E,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAErE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS;QACP,OAAO,IAAA,4BAAgB,GAAE,CAAC;IAC5B,CAAC;IAEO,gBAAgB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAuC;QAC9F,MAAM,MAAM,GAAsG,SAAS,CAAC,OAA4G,CAAC;QAEzO,OAAO,IAAI,2BAAkB,CAAC;YAC5B,OAAO,EAAE;gBACP,aAAa,EAAE,EAAE,KAAK,EAAE,UAAU,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,eAAe,GAAG,IAAI,EAAE;gBAChJ,YAAY,EAAE,EAAE,KAAK,EAAE,UAAU,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,eAAe,GAAG,IAAI,EAAE;aACvJ;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,MAAM;aACb;SACF,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAnDY,2BAA2B;IADvC,IAAA,sBAAa,EAAC,gDAA2B,CAAC;qCAIN,8CAAqB;GAH7C,2BAA2B,CAmDvC;AAnDY,kEAA2B"}
|
|
@@ -27,24 +27,24 @@ export type TokenResult<AdditionalTokenPayload = Record<never>> = {
|
|
|
27
27
|
jsonToken: Token<AdditionalTokenPayload>;
|
|
28
28
|
refreshToken: string;
|
|
29
29
|
};
|
|
30
|
-
export declare class AuthenticationService<AdditionalTokenPayload = Record<never>,
|
|
30
|
+
export declare class AuthenticationService<AdditionalTokenPayload = Record<never>, AuthenticationData = void> implements AfterResolve {
|
|
31
31
|
private readonly credentialsRepository;
|
|
32
32
|
private readonly sessionRepository;
|
|
33
|
-
private readonly
|
|
33
|
+
private readonly tokenPayloadProvider;
|
|
34
34
|
private readonly secret;
|
|
35
35
|
private readonly tokenVersion;
|
|
36
36
|
private readonly tokenTimeToLive;
|
|
37
37
|
private readonly sessionTimeToLive;
|
|
38
38
|
private derivedTokenSigningSecret;
|
|
39
39
|
private derivedRefreshTokenSigningSecret;
|
|
40
|
-
constructor(
|
|
40
|
+
constructor(credentialsRepository: AuthenticationCredentialsRepository, sessionRepository: AuthenticationSessionRepository, tokenPayloadProvider: AuthenticationTokenPayloadProvider<AdditionalTokenPayload, AuthenticationData> | undefined, options: AuthenticationServiceOptions);
|
|
41
41
|
[afterResolve](): Promise<void>;
|
|
42
42
|
initialize(): Promise<void>;
|
|
43
43
|
setCredentials(subject: string, secret: string): Promise<void>;
|
|
44
44
|
authenticate(subject: string, secret: string): Promise<AuthenticationResult>;
|
|
45
|
-
getToken(subject: string,
|
|
45
|
+
getToken(subject: string, authenticationData: AuthenticationData): Promise<TokenResult<AdditionalTokenPayload>>;
|
|
46
46
|
endSession(sessionId: string): Promise<void>;
|
|
47
|
-
refresh(refreshToken: string,
|
|
47
|
+
refresh(refreshToken: string, authenticationData: AuthenticationData): Promise<TokenResult<AdditionalTokenPayload>>;
|
|
48
48
|
validateToken(token: string): Promise<Token<AdditionalTokenPayload>>;
|
|
49
49
|
validateRefreshToken(token: string): Promise<RefreshToken>;
|
|
50
50
|
private createToken;
|
|
@@ -25,24 +25,23 @@ const type_guards_1 = require("../../utils/type-guards");
|
|
|
25
25
|
const units_1 = require("../../utils/units");
|
|
26
26
|
const authentication_credentials_repository_1 = require("./authentication-credentials.repository");
|
|
27
27
|
const authentication_session_repository_1 = require("./authentication-session.repository");
|
|
28
|
-
const authentication_token_payload_provider_1 = require("./authentication-token-payload.provider");
|
|
29
28
|
const helper_1 = require("./helper");
|
|
30
29
|
const tokens_1 = require("./tokens");
|
|
31
30
|
const SIGNING_SECRETS_LENGTH = 512;
|
|
32
31
|
let AuthenticationService = class AuthenticationService {
|
|
33
32
|
credentialsRepository;
|
|
34
33
|
sessionRepository;
|
|
35
|
-
|
|
34
|
+
tokenPayloadProvider;
|
|
36
35
|
secret;
|
|
37
36
|
tokenVersion;
|
|
38
37
|
tokenTimeToLive;
|
|
39
38
|
sessionTimeToLive;
|
|
40
39
|
derivedTokenSigningSecret;
|
|
41
40
|
derivedRefreshTokenSigningSecret;
|
|
42
|
-
constructor(
|
|
43
|
-
this.credentialsRepository =
|
|
41
|
+
constructor(credentialsRepository, sessionRepository, tokenPayloadProvider, options) {
|
|
42
|
+
this.credentialsRepository = credentialsRepository;
|
|
44
43
|
this.sessionRepository = sessionRepository;
|
|
45
|
-
this.
|
|
44
|
+
this.tokenPayloadProvider = tokenPayloadProvider;
|
|
46
45
|
this.secret = options.secret;
|
|
47
46
|
this.tokenVersion = options.version ?? 1;
|
|
48
47
|
this.tokenTimeToLive = options.tokenTimeToLive ?? (5 * units_1.millisecondsPerMinute);
|
|
@@ -77,7 +76,7 @@ let AuthenticationService = class AuthenticationService {
|
|
|
77
76
|
}
|
|
78
77
|
return { success: false };
|
|
79
78
|
}
|
|
80
|
-
async getToken(subject,
|
|
79
|
+
async getToken(subject, authenticationData) {
|
|
81
80
|
const now = (0, date_time_1.currentTimestamp)();
|
|
82
81
|
const end = now + this.sessionTimeToLive;
|
|
83
82
|
const session = await this.sessionRepository.insert({
|
|
@@ -88,7 +87,7 @@ let AuthenticationService = class AuthenticationService {
|
|
|
88
87
|
refreshTokenSalt: new Uint8Array(),
|
|
89
88
|
refreshTokenHash: new Uint8Array()
|
|
90
89
|
});
|
|
91
|
-
const tokenPayload = await this.
|
|
90
|
+
const tokenPayload = await this.tokenPayloadProvider?.getTokenPayload(subject, authenticationData);
|
|
92
91
|
const { token, jsonToken } = await this.createToken(tokenPayload, subject, session.id, end, now);
|
|
93
92
|
const refreshToken = await this.createRefreshToken(subject, session.id, end);
|
|
94
93
|
await this.sessionRepository.extend(session.id, {
|
|
@@ -103,7 +102,7 @@ let AuthenticationService = class AuthenticationService {
|
|
|
103
102
|
const now = (0, date_time_1.currentTimestamp)();
|
|
104
103
|
await this.sessionRepository.end(sessionId, now);
|
|
105
104
|
}
|
|
106
|
-
async refresh(refreshToken,
|
|
105
|
+
async refresh(refreshToken, authenticationData) {
|
|
107
106
|
const validatedToken = await this.validateRefreshToken(refreshToken);
|
|
108
107
|
const sessionId = validatedToken.payload.sessionId;
|
|
109
108
|
const session = await this.sessionRepository.load(sessionId);
|
|
@@ -116,7 +115,7 @@ let AuthenticationService = class AuthenticationService {
|
|
|
116
115
|
}
|
|
117
116
|
const now = (0, date_time_1.currentTimestamp)();
|
|
118
117
|
const newEnd = now + this.sessionTimeToLive;
|
|
119
|
-
const tokenPayload = await this.
|
|
118
|
+
const tokenPayload = await this.tokenPayloadProvider?.getTokenPayload(session.subject, authenticationData);
|
|
120
119
|
const { token, jsonToken } = await this.createToken(tokenPayload, session.subject, sessionId, newEnd, now);
|
|
121
120
|
const newRefreshToken = await this.createRefreshToken(validatedToken.payload.subject, sessionId, newEnd);
|
|
122
121
|
await this.sessionRepository.extend(sessionId, {
|
|
@@ -196,8 +195,7 @@ AuthenticationService = __decorate([
|
|
|
196
195
|
__param(2, (0, container_1.optional)()),
|
|
197
196
|
__param(3, (0, container_1.inject)(tokens_1.AUTHENTICATION_SERVICE_OPTIONS)),
|
|
198
197
|
__metadata("design:paramtypes", [authentication_credentials_repository_1.AuthenticationCredentialsRepository,
|
|
199
|
-
authentication_session_repository_1.AuthenticationSessionRepository,
|
|
200
|
-
authentication_token_payload_provider_1.AuthenticationTokenPayloadProvider, Object])
|
|
198
|
+
authentication_session_repository_1.AuthenticationSessionRepository, Object, Object])
|
|
201
199
|
], AuthenticationService);
|
|
202
200
|
exports.AuthenticationService = AuthenticationService;
|
|
203
201
|
//# sourceMappingURL=authentication.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authentication.service.js","sourceRoot":"","sources":["../../../source/authentication/server/authentication.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,+CAAwE;AACxE,yEAAgE;AAEhE,mDAA4C;AAC5C,2DAAuD;AACvD,qDAA2G;AAC3G,+CAA8C;AAC9C,yCAAmF;AACnF,+CAAiE;AACjE,yDAAkD;AAClD,6CAA0E;AAE1E,mGAA8F;AAC9F,2FAAsF;
|
|
1
|
+
{"version":3,"file":"authentication.service.js","sourceRoot":"","sources":["../../../source/authentication/server/authentication.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,6 @@ export type AuthenticationModuleConfig = {
|
|
|
7
7
|
serviceOptions: AuthenticationServiceOptions;
|
|
8
8
|
credentialsRepository: Type<AuthenticationCredentialsRepository>;
|
|
9
9
|
sessionRepository: Type<AuthenticationSessionRepository>;
|
|
10
|
-
tokenPayloadProvider?: Type<AuthenticationTokenPayloadProvider
|
|
10
|
+
tokenPayloadProvider?: Type<AuthenticationTokenPayloadProvider<any, any>>;
|
|
11
11
|
};
|
|
12
12
|
export declare function configureAuthenticationServer(config: AuthenticationModuleConfig): void;
|
|
@@ -10,11 +10,9 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
/* eslint-disable max-classes-per-file */
|
|
13
|
-
const client_1 = require("../../api/client");
|
|
14
13
|
const server_1 = require("../../api/server");
|
|
15
14
|
const application_1 = require("../../application");
|
|
16
|
-
const
|
|
17
|
-
const client_2 = require("../../authentication/client");
|
|
15
|
+
const client_1 = require("../../authentication/client");
|
|
18
16
|
const authentication_token_payload_provider_1 = require("../../authentication/server/authentication-token-payload.provider");
|
|
19
17
|
const authentication_api_controller_1 = require("../../authentication/server/authentication.api-controller");
|
|
20
18
|
const authentication_service_1 = require("../../authentication/server/authentication.service");
|
|
@@ -60,9 +58,8 @@ CustomTokenPayloadProvider = __decorate([
|
|
|
60
58
|
});
|
|
61
59
|
(0, mongo_authentication_credentials_repository_1.configureMongoAuthenticationCredentialsRepository)({ collection: 'credentials' });
|
|
62
60
|
(0, mongo_authentication_session_repository_1.configureMongoAuthenticationSessionRepository)({ collection: 'sessions' });
|
|
63
|
-
const
|
|
64
|
-
|
|
65
|
-
(0, client_2.configureAuthenticationClient)({
|
|
61
|
+
const CustomAuthenticationApiClient = (0, client_1.getAuthenticationApiClient)(CustomTokenPaylod, AuthenticationData);
|
|
62
|
+
(0, client_1.configureAuthenticationClient)({
|
|
66
63
|
authenticationApiClient: CustomAuthenticationApiClient
|
|
67
64
|
});
|
|
68
65
|
(0, local_1.configureLocalMessageBus)();
|
|
@@ -72,7 +69,7 @@ async function serverTest() {
|
|
|
72
69
|
}
|
|
73
70
|
async function clientTest() {
|
|
74
71
|
await (0, timing_1.timeout)(250); // allow server to initialize
|
|
75
|
-
const authenticationService = container_1.container.resolve(
|
|
72
|
+
const authenticationService = container_1.container.resolve(client_1.AuthenticationService);
|
|
76
73
|
authenticationService.initialize();
|
|
77
74
|
await authenticationService.login('foobar', 'supersecret', { deviceId: 'my-device' });
|
|
78
75
|
authenticationService.token$.subscribe((token) => console.log({ token }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-authentication.js","sourceRoot":"","sources":["../../../source/examples/api/custom-authentication.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,yCAAyC;AACzC,
|
|
1
|
+
{"version":3,"file":"custom-authentication.js","sourceRoot":"","sources":["../../../source/examples/api/custom-authentication.ts"],"names":[],"mappings":"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"}
|