@snabcentr/common-lib 1.63.1 → 1.64.0
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/manifest.json +1 -1
- package/dist/release_notes.tmp +3 -3
- package/dist/sc-common-lib.js +1137 -989
- package/dist/sc-common-lib.js.map +1 -1
- package/dist/sc-common-lib.umd.cjs +1 -1
- package/dist/sc-common-lib.umd.cjs.map +1 -1
- package/dist/src/auth/classes/detailed-jwt-payload.d.ts +46 -0
- package/dist/src/auth/classes/detailed-jwt-payload.d.ts.map +1 -0
- package/dist/src/auth/classes/index.d.ts +3 -0
- package/dist/src/auth/classes/index.d.ts.map +1 -0
- package/dist/src/auth/classes/jwt-payload.d.ts +109 -0
- package/dist/src/auth/classes/jwt-payload.d.ts.map +1 -0
- package/dist/src/auth/index.d.ts +3 -0
- package/dist/src/auth/index.d.ts.map +1 -0
- package/dist/src/auth/interfaces/i-base-resource-access.d.ts +24 -0
- package/dist/src/auth/interfaces/i-base-resource-access.d.ts.map +1 -0
- package/dist/src/auth/interfaces/i-detailed-jwt-payload.d.ts +33 -0
- package/dist/src/auth/interfaces/i-detailed-jwt-payload.d.ts.map +1 -0
- package/dist/src/auth/interfaces/i-jwt-payload.d.ts +118 -0
- package/dist/src/auth/interfaces/i-jwt-payload.d.ts.map +1 -0
- package/dist/src/auth/interfaces/i-realm-access.d.ts +12 -0
- package/dist/src/auth/interfaces/i-realm-access.d.ts.map +1 -0
- package/dist/src/auth/interfaces/i-resource-roles.d.ts +11 -0
- package/dist/src/auth/interfaces/i-resource-roles.d.ts.map +1 -0
- package/dist/src/auth/interfaces/i-user-address.d.ts +30 -0
- package/dist/src/auth/interfaces/i-user-address.d.ts.map +1 -0
- package/dist/src/auth/interfaces/index.d.ts +7 -0
- package/dist/src/auth/interfaces/index.d.ts.map +1 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/package.json +20 -19
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { JwtPayload } from './jwt-payload';
|
|
2
|
+
import { IBaseResourceAccess } from '../interfaces/i-base-resource-access';
|
|
3
|
+
import { IDetailedJwtPayload } from '../interfaces/i-detailed-jwt-payload';
|
|
4
|
+
import { IUserAddress } from '../interfaces/i-user-address';
|
|
5
|
+
/**
|
|
6
|
+
* Расширенные данные полезной нагрузки JWT токена.
|
|
7
|
+
*/
|
|
8
|
+
export declare class DetailedJwtPayload<T extends IBaseResourceAccess = IBaseResourceAccess> extends JwtPayload<T> implements IDetailedJwtPayload<T> {
|
|
9
|
+
/**
|
|
10
|
+
* Возвращает данные полезной нагрузки для указанного JWT-токена.
|
|
11
|
+
*
|
|
12
|
+
* @param jwtToken JWT-ключ доступа.
|
|
13
|
+
*/
|
|
14
|
+
static getJwtPayload<O extends IBaseResourceAccess = IBaseResourceAccess>(jwtToken: string): IDetailedJwtPayload<O>;
|
|
15
|
+
/**
|
|
16
|
+
* @inheritDoc
|
|
17
|
+
*/
|
|
18
|
+
familyName?: string;
|
|
19
|
+
/**
|
|
20
|
+
* @inheritDoc
|
|
21
|
+
*/
|
|
22
|
+
middleName?: string;
|
|
23
|
+
/**
|
|
24
|
+
* @inheritDoc
|
|
25
|
+
*/
|
|
26
|
+
locale?: string;
|
|
27
|
+
/**
|
|
28
|
+
* @inheritDoc
|
|
29
|
+
*/
|
|
30
|
+
phoneNumber?: string;
|
|
31
|
+
/**
|
|
32
|
+
* @inheritDoc
|
|
33
|
+
*/
|
|
34
|
+
phoneNumberVerified?: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* @inheritDoc
|
|
37
|
+
*/
|
|
38
|
+
address?: IUserAddress;
|
|
39
|
+
/**
|
|
40
|
+
* Инициализирует экземпляр класса {@link DetailedJwtPayload}.
|
|
41
|
+
*
|
|
42
|
+
* @param data Данные для первоначальной инициализации.
|
|
43
|
+
*/
|
|
44
|
+
constructor(data: IDetailedJwtPayload<T>);
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=detailed-jwt-payload.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detailed-jwt-payload.d.ts","sourceRoot":"","sources":["../../../../src/auth/classes/detailed-jwt-payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAKlE;;GAEG;AACH,qBAAa,kBAAkB,CAAC,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,CAAE,SAAQ,UAAU,CAAC,CAAC,CAAE,YAAW,mBAAmB,CAAC,CAAC,CAAC;IACxI;;;;OAIG;WACW,aAAa,CAAC,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,EAAE,QAAQ,EAAE,MAAM,GAAG,mBAAmB,CAAC,CAAC,CAAC;IAI1H;;OAEG;IACI,UAAU,CAAC,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACI,UAAU,CAAC,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACI,MAAM,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACI,WAAW,CAAC,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACI,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAErC;;OAEG;IACI,OAAO,CAAC,EAAE,YAAY,CAAC;IAE9B;;;;OAIG;gBACgB,IAAI,EAAE,mBAAmB,CAAC,CAAC,CAAC;CAKlD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/auth/classes/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { IBaseResourceAccess } from '../interfaces/i-base-resource-access';
|
|
2
|
+
import { IJwtPayload } from '../interfaces/i-jwt-payload';
|
|
3
|
+
import { IRealmAccess } from '../interfaces/i-realm-access';
|
|
4
|
+
/**
|
|
5
|
+
* Данные полезной нагрузки JWT токена.
|
|
6
|
+
*/
|
|
7
|
+
export declare class JwtPayload<T extends IBaseResourceAccess = IBaseResourceAccess> implements IJwtPayload<T> {
|
|
8
|
+
/**
|
|
9
|
+
* Возвращает данные полезной нагрузки для указанного JWT-токена.
|
|
10
|
+
*
|
|
11
|
+
* @param jwtToken JWT-ключ доступа.
|
|
12
|
+
*/
|
|
13
|
+
static getJwtPayload<O extends IBaseResourceAccess = IBaseResourceAccess>(jwtToken: string): IJwtPayload<O>;
|
|
14
|
+
/**
|
|
15
|
+
* @inheritDoc
|
|
16
|
+
*/
|
|
17
|
+
exp: number;
|
|
18
|
+
/**
|
|
19
|
+
* @inheritDoc
|
|
20
|
+
*/
|
|
21
|
+
iat: number;
|
|
22
|
+
/**
|
|
23
|
+
* @inheritDoc
|
|
24
|
+
*/
|
|
25
|
+
authTime: number;
|
|
26
|
+
/**
|
|
27
|
+
* @inheritDoc
|
|
28
|
+
*/
|
|
29
|
+
jti: string;
|
|
30
|
+
/**
|
|
31
|
+
* @inheritDoc
|
|
32
|
+
*/
|
|
33
|
+
iss: string;
|
|
34
|
+
/**
|
|
35
|
+
* @inheritDoc
|
|
36
|
+
*/
|
|
37
|
+
aud: string[];
|
|
38
|
+
/**
|
|
39
|
+
* @inheritDoc
|
|
40
|
+
*/
|
|
41
|
+
sub: string;
|
|
42
|
+
/**
|
|
43
|
+
* @inheritDoc
|
|
44
|
+
*/
|
|
45
|
+
typ: string;
|
|
46
|
+
/**
|
|
47
|
+
* @inheritDoc
|
|
48
|
+
*/
|
|
49
|
+
azp: string;
|
|
50
|
+
/**
|
|
51
|
+
* @inheritDoc
|
|
52
|
+
*/
|
|
53
|
+
sid: string;
|
|
54
|
+
/**
|
|
55
|
+
* @inheritDoc
|
|
56
|
+
*/
|
|
57
|
+
acr: string;
|
|
58
|
+
/**
|
|
59
|
+
* @inheritDoc
|
|
60
|
+
*/
|
|
61
|
+
allowedOrigins: string[];
|
|
62
|
+
/**
|
|
63
|
+
* @inheritDoc
|
|
64
|
+
*/
|
|
65
|
+
realmAccess: IRealmAccess;
|
|
66
|
+
/**
|
|
67
|
+
* @inheritDoc
|
|
68
|
+
*/
|
|
69
|
+
resourceAccess: T;
|
|
70
|
+
/**
|
|
71
|
+
* @inheritDoc
|
|
72
|
+
*/
|
|
73
|
+
scope: string;
|
|
74
|
+
/**
|
|
75
|
+
* @inheritDoc
|
|
76
|
+
*/
|
|
77
|
+
emailVerified: boolean;
|
|
78
|
+
/**
|
|
79
|
+
* @inheritDoc
|
|
80
|
+
*/
|
|
81
|
+
name: string;
|
|
82
|
+
/**
|
|
83
|
+
* @inheritDoc
|
|
84
|
+
*/
|
|
85
|
+
guid: string;
|
|
86
|
+
/**
|
|
87
|
+
* @inheritDoc
|
|
88
|
+
*/
|
|
89
|
+
preferredUsername: string;
|
|
90
|
+
/**
|
|
91
|
+
* @inheritDoc
|
|
92
|
+
*/
|
|
93
|
+
givenName: string;
|
|
94
|
+
/**
|
|
95
|
+
* @inheritDoc
|
|
96
|
+
*/
|
|
97
|
+
email: string;
|
|
98
|
+
/**
|
|
99
|
+
* @inheritDoc
|
|
100
|
+
*/
|
|
101
|
+
[key: string]: unknown;
|
|
102
|
+
/**
|
|
103
|
+
* Инициализирует экземпляр класса {@link JwtPayload}.
|
|
104
|
+
*
|
|
105
|
+
* @param data Данные для первоначальной инициализации.
|
|
106
|
+
*/
|
|
107
|
+
constructor(data: IJwtPayload<T>);
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=jwt-payload.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jwt-payload.d.ts","sourceRoot":"","sources":["../../../../src/auth/classes/jwt-payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAKlE;;GAEG;AACH,qBAAa,UAAU,CAAC,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;IAClG;;;;OAIG;WACW,aAAa,CAAC,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC;IAIlH;;OAEG;IACI,GAAG,EAAE,MAAM,CAAK;IAEvB;;OAEG;IACI,GAAG,EAAE,MAAM,CAAK;IAEvB;;OAEG;IACI,QAAQ,EAAE,MAAM,CAAK;IAE5B;;OAEG;IACI,GAAG,EAAE,MAAM,CAAM;IAExB;;OAEG;IACI,GAAG,EAAE,MAAM,CAAM;IAExB;;OAEG;IACI,GAAG,EAAE,MAAM,EAAE,CAAM;IAE1B;;OAEG;IACI,GAAG,EAAE,MAAM,CAAM;IAExB;;OAEG;IACI,GAAG,EAAE,MAAM,CAAY;IAE9B;;OAEG;IACI,GAAG,EAAE,MAAM,CAAM;IAExB;;OAEG;IACI,GAAG,EAAE,MAAM,CAAM;IAExB;;OAEG;IACI,GAAG,EAAE,MAAM,CAAM;IAExB;;OAEG;IACI,cAAc,EAAE,MAAM,EAAE,CAAM;IAErC;;OAEG;IACI,WAAW,EAAE,YAAY,CAAiB;IAEjD;;OAEG;IACI,cAAc,EAAE,CAAC,CAAW;IAEnC;;OAEG;IACI,KAAK,EAAE,MAAM,CAAM;IAE1B;;OAEG;IACI,aAAa,EAAE,OAAO,CAAS;IAEtC;;OAEG;IACI,IAAI,EAAE,MAAM,CAAM;IAEzB;;OAEG;IACI,IAAI,EAAE,MAAM,CAAM;IAEzB;;OAEG;IACI,iBAAiB,EAAE,MAAM,CAAM;IAEtC;;OAEG;IACI,SAAS,EAAE,MAAM,CAAM;IAE9B;;OAEG;IACI,KAAK,EAAE,MAAM,CAAM;IAE1B;;OAEG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAEvB;;;;OAIG;gBACgB,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;CAG1C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/auth/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { IResourceRoles } from './i-resource-roles';
|
|
2
|
+
/**
|
|
3
|
+
* Данные о доступе к ресурсам системы.
|
|
4
|
+
* Содержит права доступа к различным сервисам и API.
|
|
5
|
+
*/
|
|
6
|
+
export interface IBaseResourceAccess {
|
|
7
|
+
/**
|
|
8
|
+
* Список основных ролей.
|
|
9
|
+
*/
|
|
10
|
+
internal?: IResourceRoles;
|
|
11
|
+
/**
|
|
12
|
+
* Список ролей для управления настройками и конфигурацией Keycloak realm.
|
|
13
|
+
*/
|
|
14
|
+
realmManagement?: IResourceRoles;
|
|
15
|
+
/**
|
|
16
|
+
* Список ролей для управления учетными записями пользователей.
|
|
17
|
+
*/
|
|
18
|
+
account?: IResourceRoles;
|
|
19
|
+
/**
|
|
20
|
+
* Список дополнительных ролей доступа к ресурсам.
|
|
21
|
+
*/
|
|
22
|
+
[key: string]: IResourceRoles | undefined;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=i-base-resource-access.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i-base-resource-access.d.ts","sourceRoot":"","sources":["../../../../src/auth/interfaces/i-base-resource-access.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAEtE;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAChC;;OAEG;IACH,QAAQ,CAAC,EAAE,cAAc,CAAC;IAE1B;;OAEG;IACH,eAAe,CAAC,EAAE,cAAc,CAAC;IAEjC;;OAEG;IACH,OAAO,CAAC,EAAE,cAAc,CAAC;IAEzB;;OAEG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;CAC7C"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { IBaseResourceAccess } from './i-base-resource-access';
|
|
2
|
+
import { IJwtPayload } from './i-jwt-payload';
|
|
3
|
+
import { IUserAddress } from './i-user-address';
|
|
4
|
+
/**
|
|
5
|
+
* Расширенные данные полезной нагрузки JWT токена.
|
|
6
|
+
*/
|
|
7
|
+
export interface IDetailedJwtPayload<T extends IBaseResourceAccess = IBaseResourceAccess> extends IJwtPayload<T> {
|
|
8
|
+
/**
|
|
9
|
+
* Фамилия пользователя (Family Name).
|
|
10
|
+
*/
|
|
11
|
+
familyName?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Отчество пользователя (Middle Name).
|
|
14
|
+
*/
|
|
15
|
+
middleName?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Локаль пользователя (Locale).
|
|
18
|
+
*/
|
|
19
|
+
locale?: string;
|
|
20
|
+
/**
|
|
21
|
+
* Телефонный номер пользователя в международном формате.
|
|
22
|
+
*/
|
|
23
|
+
phoneNumber?: string;
|
|
24
|
+
/**
|
|
25
|
+
* Флаг, указывающий на подтвержденный номер телефона.
|
|
26
|
+
*/
|
|
27
|
+
phoneNumberVerified?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Почтовый адрес пользователя.
|
|
30
|
+
*/
|
|
31
|
+
address?: IUserAddress;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=i-detailed-jwt-payload.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i-detailed-jwt-payload.d.ts","sourceRoot":"","sources":["../../../../src/auth/interfaces/i-detailed-jwt-payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,CAAE,SAAQ,WAAW,CAAC,CAAC,CAAC;IAC5G;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;OAEG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC;CAC1B"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { IBaseResourceAccess } from './i-base-resource-access';
|
|
2
|
+
import { IRealmAccess } from './i-realm-access';
|
|
3
|
+
/**
|
|
4
|
+
* Данные полезной нагрузки JWT токена.
|
|
5
|
+
*/
|
|
6
|
+
export interface IJwtPayload<T extends IBaseResourceAccess = IBaseResourceAccess> {
|
|
7
|
+
/**
|
|
8
|
+
* Время истечения токена (Expiration Time).
|
|
9
|
+
* Unix timestamp в секундах, когда токен становится недействительным.
|
|
10
|
+
*/
|
|
11
|
+
exp: number;
|
|
12
|
+
/**
|
|
13
|
+
* Время выдачи токена (Issued At).
|
|
14
|
+
* Unix timestamp в секундах, когда токен был выпущен.
|
|
15
|
+
*/
|
|
16
|
+
iat: number;
|
|
17
|
+
/**
|
|
18
|
+
* Время аутентификации (Authentication Time).
|
|
19
|
+
* Unix timestamp в секундах, когда пользователь прошел аутентификацию.
|
|
20
|
+
*/
|
|
21
|
+
authTime: number;
|
|
22
|
+
/**
|
|
23
|
+
* Уникальный идентификатор JWT (JWT ID).
|
|
24
|
+
* Используется для предотвращения повторного использования токена.
|
|
25
|
+
*/
|
|
26
|
+
jti: string;
|
|
27
|
+
/**
|
|
28
|
+
* Издатель токена (Issuer).
|
|
29
|
+
* URL или идентификатор сервиса, выпустившего токен.
|
|
30
|
+
*/
|
|
31
|
+
iss: string;
|
|
32
|
+
/**
|
|
33
|
+
* Аудитория токена (Audience).
|
|
34
|
+
* Массив идентификаторов сервисов, для которых предназначен токен.
|
|
35
|
+
*/
|
|
36
|
+
aud: string[];
|
|
37
|
+
/**
|
|
38
|
+
* Субъект токена (Subject).
|
|
39
|
+
* Уникальный идентификатор пользователя в системе.
|
|
40
|
+
*/
|
|
41
|
+
sub: string;
|
|
42
|
+
/**
|
|
43
|
+
* Тип токена (Type).
|
|
44
|
+
* Всегда "Bearer" для токенов доступа OAuth 2.0.
|
|
45
|
+
*/
|
|
46
|
+
typ: string;
|
|
47
|
+
/**
|
|
48
|
+
* Авторизованная сторона (Authorized Party).
|
|
49
|
+
* Идентификатор клиентского приложения, запросившего токен.
|
|
50
|
+
*/
|
|
51
|
+
azp: string;
|
|
52
|
+
/**
|
|
53
|
+
* Идентификатор сессии (Session ID).
|
|
54
|
+
* Уникальный идентификатор сессии пользователя.
|
|
55
|
+
*/
|
|
56
|
+
sid: string;
|
|
57
|
+
/**
|
|
58
|
+
* Уровень аутентификации (Authentication Context Class Reference).
|
|
59
|
+
* Указывает уровень достоверности аутентификации.
|
|
60
|
+
*/
|
|
61
|
+
acr: string;
|
|
62
|
+
/**
|
|
63
|
+
* Разрешенные источники (Allowed Origins).
|
|
64
|
+
* Массив доменов, с которых разрешены запросы с этим токеном.
|
|
65
|
+
*/
|
|
66
|
+
allowedOrigins: string[];
|
|
67
|
+
/**
|
|
68
|
+
* Доступ на уровне realm (Realm Access).
|
|
69
|
+
* Права доступа в рамках всего Keycloak realm.
|
|
70
|
+
*/
|
|
71
|
+
realmAccess: IRealmAccess;
|
|
72
|
+
/**
|
|
73
|
+
* Доступ к ресурсам (Resource Access).
|
|
74
|
+
* Права доступа к конкретным сервисам и ресурсам системы.
|
|
75
|
+
*/
|
|
76
|
+
resourceAccess: T;
|
|
77
|
+
/**
|
|
78
|
+
* Области доступа (Scope).
|
|
79
|
+
* Перечень разрешений, предоставленных токену.
|
|
80
|
+
*/
|
|
81
|
+
scope: string;
|
|
82
|
+
/**
|
|
83
|
+
* Подтверждение email (Email Verified).
|
|
84
|
+
* Флаг, указывающий на подтвержденный email адрес.
|
|
85
|
+
*/
|
|
86
|
+
emailVerified: boolean;
|
|
87
|
+
/**
|
|
88
|
+
* Полное имя пользователя (Full Name).
|
|
89
|
+
* ФИО пользователя в формате "Фамилия Имя Отчество".
|
|
90
|
+
*/
|
|
91
|
+
name: string;
|
|
92
|
+
/**
|
|
93
|
+
* Глобальный уникальный идентификатор (GUID).
|
|
94
|
+
* Уникальный идентификатор пользователя в системе.
|
|
95
|
+
*/
|
|
96
|
+
guid: string;
|
|
97
|
+
/**
|
|
98
|
+
* Предпочитаемое имя пользователя (Preferred Username).
|
|
99
|
+
* Имя пользователя для отображения в интерфейсе.
|
|
100
|
+
*/
|
|
101
|
+
preferredUsername: string;
|
|
102
|
+
/**
|
|
103
|
+
* Имя пользователя (Given Name).
|
|
104
|
+
* ФИО пользователя (может совпадать с полным именем).
|
|
105
|
+
*/
|
|
106
|
+
givenName: string;
|
|
107
|
+
/**
|
|
108
|
+
* Email адрес (Email Address).
|
|
109
|
+
* Электронная почта пользователя.
|
|
110
|
+
*/
|
|
111
|
+
email: string;
|
|
112
|
+
/**
|
|
113
|
+
* Динамические свойства.
|
|
114
|
+
* Для обработки дополнительных claims, не описанных в интерфейсе.
|
|
115
|
+
*/
|
|
116
|
+
[key: string]: unknown;
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=i-jwt-payload.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i-jwt-payload.d.ts","sourceRoot":"","sources":["../../../../src/auth/interfaces/i-jwt-payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,mBAAmB,GAAG,mBAAmB;IAC5E;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,GAAG,EAAE,MAAM,EAAE,CAAC;IAEd;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,cAAc,EAAE,MAAM,EAAE,CAAC;IAEzB;;;OAGG;IACH,WAAW,EAAE,YAAY,CAAC;IAE1B;;;OAGG;IACH,cAAc,EAAE,CAAC,CAAC;IAElB;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,aAAa,EAAE,OAAO,CAAC;IAEvB;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Данные о доступе на уровне realm.
|
|
3
|
+
* Содержит роли, применяемые ко всему Keycloak realm.
|
|
4
|
+
*/
|
|
5
|
+
export interface IRealmAccess {
|
|
6
|
+
/**
|
|
7
|
+
* Роли realm уровня.
|
|
8
|
+
* Массив ролей, назначенных пользователю в рамках всего realm.
|
|
9
|
+
*/
|
|
10
|
+
roles: string[];
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=i-realm-access.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i-realm-access.d.ts","sourceRoot":"","sources":["../../../../src/auth/interfaces/i-realm-access.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,YAAY;IACzB;;;OAGG;IACH,KAAK,EAAE,MAAM,EAAE,CAAC;CACnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i-resource-roles.d.ts","sourceRoot":"","sources":["../../../../src/auth/interfaces/i-resource-roles.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC3B;;OAEG;IACH,KAAK,EAAE,MAAM,EAAE,CAAC;CACnB"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Данные об адресе пользователя.
|
|
3
|
+
*/
|
|
4
|
+
export interface IUserAddress {
|
|
5
|
+
/**
|
|
6
|
+
* Полный адрес в готовом для отображения виде.
|
|
7
|
+
*/
|
|
8
|
+
formatted?: string;
|
|
9
|
+
/**
|
|
10
|
+
* Название улицы, номер дома, корпус, квартира.
|
|
11
|
+
*/
|
|
12
|
+
streetAddress?: string;
|
|
13
|
+
/**
|
|
14
|
+
* Город или населенный пункт.
|
|
15
|
+
*/
|
|
16
|
+
locality?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Область, край, республика, штат.
|
|
19
|
+
*/
|
|
20
|
+
region?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Почтовый индекс адреса.
|
|
23
|
+
*/
|
|
24
|
+
postalCode?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Страна в формате ISO 3166-1 alpha-2.
|
|
27
|
+
*/
|
|
28
|
+
country?: string;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=i-user-address.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i-user-address.d.ts","sourceRoot":"","sources":["../../../../src/auth/interfaces/i-user-address.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './i-realm-access';
|
|
2
|
+
export * from './i-base-resource-access';
|
|
3
|
+
export * from './i-user-address';
|
|
4
|
+
export * from './i-resource-roles';
|
|
5
|
+
export * from './i-jwt-payload';
|
|
6
|
+
export * from './i-detailed-jwt-payload';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/auth/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC"}
|
package/dist/src/index.d.ts
CHANGED
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC"}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"keywords": [],
|
|
5
5
|
"author": "Sergey S. Smirnov <dev@snabcentr.com>",
|
|
6
6
|
"type": "module",
|
|
7
|
-
"version": "1.
|
|
7
|
+
"version": "1.64.0",
|
|
8
8
|
"license": "ISC",
|
|
9
9
|
"scripts": {
|
|
10
10
|
"dev": "vite",
|
|
@@ -37,37 +37,38 @@
|
|
|
37
37
|
]
|
|
38
38
|
},
|
|
39
39
|
"peerDependencies": {
|
|
40
|
-
"axios": "^1.
|
|
40
|
+
"axios": "^1.11.0",
|
|
41
41
|
"date-fns": "^3.6.0 || ^4.1.0",
|
|
42
|
+
"jwt-decode": "^4.0.0",
|
|
42
43
|
"lodash-es": "^4.17.21",
|
|
43
|
-
"pinia": "^3.0.
|
|
44
|
+
"pinia": "^3.0.3",
|
|
44
45
|
"ts-case-convert": "^2.1.0",
|
|
45
|
-
"vue": "^3.5.
|
|
46
|
+
"vue": "^3.5.20"
|
|
46
47
|
},
|
|
47
48
|
"devDependencies": {
|
|
48
|
-
"@snabcentr/eslint-config": "^
|
|
49
|
+
"@snabcentr/eslint-config": "^3.1.0",
|
|
49
50
|
"@types/lodash-es": "^4.17.12",
|
|
50
|
-
"@types/node": "^20.
|
|
51
|
-
"@vitejs/plugin-vue": "^5.2.
|
|
52
|
-
"autoprefixer": "^10.4.
|
|
51
|
+
"@types/node": "^20.19.11",
|
|
52
|
+
"@vitejs/plugin-vue": "^5.2.4",
|
|
53
|
+
"autoprefixer": "^10.4.21",
|
|
53
54
|
"cross-env": "^7.0.3",
|
|
54
55
|
"husky": "^9.1.7",
|
|
55
|
-
"lint-staged": "^15.
|
|
56
|
-
"naive-ui": "^2.
|
|
56
|
+
"lint-staged": "^15.5.2",
|
|
57
|
+
"naive-ui": "^2.42.0",
|
|
57
58
|
"path": "^0.12.7",
|
|
58
59
|
"rollup-plugin-visualizer": "^5.14.0",
|
|
59
60
|
"tailwindcss": "^3.4.17",
|
|
60
|
-
"typescript": "~5.8.
|
|
61
|
-
"unplugin-vue-components": "^28.
|
|
62
|
-
"vite": "^6.
|
|
63
|
-
"vite-plugin-dts": "^4.5.
|
|
61
|
+
"typescript": "~5.8.3",
|
|
62
|
+
"unplugin-vue-components": "^28.8.0",
|
|
63
|
+
"vite": "^6.3.5",
|
|
64
|
+
"vite-plugin-dts": "^4.5.4",
|
|
64
65
|
"vite-plugin-manifest-sri": "^0.2.0",
|
|
65
|
-
"vue-json-pretty": "^2.
|
|
66
|
-
"vue-router": "^4.5.
|
|
67
|
-
"vue-tsc": "^2.2.
|
|
66
|
+
"vue-json-pretty": "^2.5.0",
|
|
67
|
+
"vue-router": "^4.5.1",
|
|
68
|
+
"vue-tsc": "^2.2.12"
|
|
68
69
|
},
|
|
69
70
|
"optionalDependencies": {
|
|
70
|
-
"@esbuild/linux-x64": "0.25.
|
|
71
|
-
"@rollup/rollup-linux-x64-gnu": "4.
|
|
71
|
+
"@esbuild/linux-x64": "0.25.9",
|
|
72
|
+
"@rollup/rollup-linux-x64-gnu": "4.49.0"
|
|
72
73
|
}
|
|
73
74
|
}
|