ssi-security-commons 0.16.23 → 0.19.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.
@@ -1,249 +0,0 @@
1
- /* eslint-disable max-lines-per-function */
2
- /* eslint-disable prefer-const */
3
- import { Inject, Injectable } from '@angular/core';
4
- import { map } from 'rxjs';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "./session.service";
7
- import * as i2 from "@angular/common/http";
8
- import * as i3 from "@angular/material/snack-bar";
9
- export class WebAuthnService {
10
- constructor(sessionService, http, snackBar, environment) {
11
- this.sessionService = sessionService;
12
- this.http = http;
13
- this.snackBar = snackBar;
14
- this.webAuthnAvailable = !!navigator.credentials && !!navigator.credentials.create;
15
- this.environment = environment;
16
- }
17
- webAuthnSignup(user) {
18
- console.log('[webAuthnSignup]');
19
- const publicKeyCredentialCreationOptions = {
20
- challenge: this.getChallenge(),
21
- rp: {
22
- name: 'WebAuthn',
23
- },
24
- user: {
25
- id: Uint8Array.from(user.id, c => c.charCodeAt(0)),
26
- name: user.email,
27
- displayName: user.email,
28
- },
29
- pubKeyCredParams: [{ alg: -7, type: 'public-key' }],
30
- authenticatorSelection: {
31
- authenticatorAttachment: 'platform',
32
- },
33
- timeout: 60000,
34
- attestation: 'direct'
35
- };
36
- return navigator.credentials.create({
37
- publicKey: publicKeyCredentialCreationOptions,
38
- });
39
- }
40
- webAuthnSignin(user) {
41
- console.log(user);
42
- /* {
43
- "id": "b18ee077-f896-44f4-a2d4-3ac831eb1c90",
44
- "email": "test.user@email.com",
45
- "password": "",
46
- "credentials": [
47
- [
48
- {
49
- "id": {},
50
- "type": "public-key"
51
- }
52
- ]
53
- ]
54
- } */
55
- let publicKeyCredentials = {
56
- challenge: this.getChallenge(),
57
- allowCredentials: user.credentials[0]
58
- };
59
- return navigator.credentials.get({ publicKey: publicKeyCredentials });
60
- }
61
- getChallenge() {
62
- return Uint8Array.from('jEfcn1CsGFxBiXYtJMSGDycPqPoyFJ3Z', c => c.charCodeAt(0));
63
- }
64
- register(user, newCredentialInfo) {
65
- const promise = new Promise((resolve, reject) => {
66
- let enc = new TextDecoder('utf-8');
67
- let clientDataJSON = enc.decode(newCredentialInfo.response.clientDataJSON);
68
- console.log(clientDataJSON);
69
- let clientData = JSON.parse(clientDataJSON);
70
- console.log(clientData);
71
- const publicKey = this.arrayBufferToBase64Url(newCredentialInfo.rawId);
72
- let idList = [{
73
- // id: newCredentialInfo.rawId,
74
- id: publicKey,
75
- type: 'public-key'
76
- }];
77
- user.credentials.push(idList);
78
- console.log(user);
79
- this.addAttributeUser(user.id, 'webauthn_key', publicKey).subscribe({
80
- next: (res) => {
81
- console.log(res);
82
- resolve(res);
83
- },
84
- error: (err) => {
85
- console.error(err);
86
- reject(err);
87
- }
88
- });
89
- });
90
- return promise;
91
- }
92
- base64UrlToArrayBuffer(base64UrlString) {
93
- const base64String = base64UrlString.replace(/-/g, '+').replace(/_/g, '/');
94
- const paddedBase64String = base64String.padEnd(Math.ceil(base64String.length / 4) * 4, '=');
95
- const uint8Array = new Uint8Array(atob(paddedBase64String)
96
- .split('')
97
- .map((char) => char.charCodeAt(0)));
98
- return uint8Array.buffer;
99
- }
100
- arrayBufferToBase64Url(arrayBuffer) {
101
- const uint8Array = new Uint8Array(arrayBuffer);
102
- let base64String = btoa(String.fromCharCode.apply(null, Array.from(uint8Array)));
103
- base64String = base64String.replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
104
- return base64String;
105
- }
106
- signUp() {
107
- const promise = new Promise((resolve, reject) => {
108
- if (this.webAuthnAvailable) {
109
- const userData = this.sessionService.getUserdata();
110
- if (userData) {
111
- let user = {
112
- id: userData?.userId,
113
- email: userData?.email,
114
- credentials: []
115
- };
116
- this.webAuthnSignup(user)
117
- .then((credential) => {
118
- console.log('credentials.create RESPONSE', credential);
119
- this.register(user, credential).then((res) => {
120
- console.log(res);
121
- this.showSnackBar(this.getMessage('signUpOk'), ['snack-success']);
122
- resolve(this.getMessage('signUpOk'));
123
- }).catch((err) => {
124
- console.error(err);
125
- this.showSnackBar(this.getMessage('signUpNok'), ['snack-error']);
126
- reject(this.getMessage('signUpNok'));
127
- });
128
- }).catch((error) => {
129
- console.error('credentials.create ERROR', error);
130
- this.showSnackBar(this.getMessage('signUpNok'), ['snack-error']);
131
- reject(this.getMessage('signUpNok'));
132
- });
133
- }
134
- }
135
- else {
136
- this.showSnackBar(this.getMessage('browserNok'), ['snack-error']);
137
- reject(this.getMessage('browserNok'));
138
- }
139
- });
140
- return promise;
141
- }
142
- signIn() {
143
- const promise = new Promise((resolve, reject) => {
144
- if (this.webAuthnAvailable) {
145
- const userData = this.sessionService.getUserdata();
146
- if (userData) {
147
- let user = {
148
- id: userData?.userId,
149
- email: userData?.email,
150
- credentials: [{}]
151
- };
152
- this.getAttributeUser(user.id, 'webauthn_key').subscribe({
153
- next: (res) => {
154
- console.log(res);
155
- if (res.data && res.data.webauthn_key && res.data.webauthn_key.length > 0) {
156
- const cred = {
157
- id: this.base64UrlToArrayBuffer(res.data.webauthn_key[0]),
158
- type: 'public-key'
159
- };
160
- user.credentials.splice(0, 1);
161
- user.credentials.push([cred]);
162
- this.webAuthnSignin(user).then((response) => {
163
- console.log('SUCCESSFULLY GOT AN ASSERTION!', response);
164
- resolve('ok');
165
- })
166
- .catch((error) => {
167
- console.error('FAIL', error);
168
- this.showSnackBar(this.getMessage('invalidCredentials'), ['snack-error']);
169
- reject(this.getMessage('invalidCredentials'));
170
- });
171
- }
172
- else {
173
- this.showSnackBar(this.getMessage('noCredentials'), ['snack-error']);
174
- reject(this.getMessage('noCredentials'));
175
- }
176
- },
177
- error: (err) => {
178
- console.error(err);
179
- this.showSnackBar(this.getMessage('errorRetrievingCredentials'), ['snack-error']);
180
- reject(this.getMessage('errorRetrievingCredentials'));
181
- }
182
- });
183
- }
184
- }
185
- else {
186
- this.showSnackBar(this.getMessage('browserNok'), ['snack-error']);
187
- reject(this.getMessage('browserNok'));
188
- }
189
- });
190
- return promise;
191
- }
192
- addAttributeUser(userId, code, value) {
193
- return this.http.post(this.environment.endPoint + `/user/attribute/value/${userId}/${code}/${value}`, {})
194
- .pipe(map(res => res));
195
- }
196
- getAttributeUser(userId, code) {
197
- return this.http.get(this.environment.endPoint + `/user/attribute/value/${userId}/${code}`)
198
- .pipe(map(res => res));
199
- }
200
- showSnackBar(message, panelClass = []) {
201
- console.log(message);
202
- setTimeout(() => {
203
- this.snackBar.open(message, undefined, {
204
- duration: 5000,
205
- panelClass,
206
- verticalPosition: 'top'
207
- });
208
- });
209
- }
210
- getMessage(code) {
211
- let msg = '';
212
- const lang = window.localStorage.getItem('LANG');
213
- const messagesEn = {
214
- signUpOk: 'Credentials registered successfully',
215
- signUpNok: 'A problem occurred while registering credentials',
216
- browserNok: 'The browser does not support this functionality',
217
- noCredentials: 'The user has no stored credentials',
218
- invalidCredentials: 'The credentials are invalid',
219
- errorRetrievingCredentials: 'There was a problem retrieving credentials',
220
- };
221
- const messagesEs = {
222
- signUpOk: 'Credenciales registradas exitosamente',
223
- signUpNok: 'Se produjo un problema al registrar las credenciales',
224
- browserNok: 'El navegador no soporta esta funcionalidad',
225
- noCredentials: 'El usuario no tiene credenciales almacenadas',
226
- invalidCredentials: 'Las credenciales no son válidas',
227
- errorRetrievingCredentials: 'Se produjo un problema al recuperar las credenciales',
228
- };
229
- if (lang && lang === 'en') {
230
- msg = messagesEn[code];
231
- }
232
- else {
233
- msg = messagesEs[code];
234
- }
235
- return msg;
236
- }
237
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: WebAuthnService, deps: [{ token: i1.SessionService }, { token: i2.HttpClient }, { token: i3.MatSnackBar }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable }); }
238
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: WebAuthnService, providedIn: 'root' }); }
239
- }
240
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: WebAuthnService, decorators: [{
241
- type: Injectable,
242
- args: [{
243
- providedIn: 'root'
244
- }]
245
- }], ctorParameters: function () { return [{ type: i1.SessionService }, { type: i2.HttpClient }, { type: i3.MatSnackBar }, { type: undefined, decorators: [{
246
- type: Inject,
247
- args: ['environment']
248
- }] }]; } });
249
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViLWF1dGhuLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zc2ktc2VjdXJpdHktY29tbW9ucy9zcmMvbGliL3NlcnZpY2VzL3dlYi1hdXRobi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJDQUEyQztBQUMzQyxpQ0FBaUM7QUFDakMsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJbkQsT0FBTyxFQUFjLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7QUFRdkMsTUFBTSxPQUFPLGVBQWU7SUFLMUIsWUFDVSxjQUE4QixFQUM5QixJQUFnQixFQUNoQixRQUFxQixFQUNOLFdBQWdCO1FBSC9CLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGFBQVEsR0FBUixRQUFRLENBQWE7UUFOL0Isc0JBQWlCLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxXQUFXLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDO1FBUzVFLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxjQUFjLENBQUMsSUFBa0I7UUFDL0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2hDLE1BQU0sa0NBQWtDLEdBQXVDO1lBQzdFLFNBQVMsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQzlCLEVBQUUsRUFBRTtnQkFDRixJQUFJLEVBQUUsVUFBVTthQUNqQjtZQUNELElBQUksRUFBRTtnQkFDSixFQUFFLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDbEQsSUFBSSxFQUFFLElB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QUcsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3hCO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDOzhHQTlQVSxlQUFlLHFHQVNoQixhQUFhO2tIQVRaLGVBQWUsY0FGZCxNQUFNOzsyRkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBVUksTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbWF4LWxpbmVzLXBlci1mdW5jdGlvbiAqL1xuLyogZXNsaW50LWRpc2FibGUgcHJlZmVyLWNvbnN0ICovXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVzZXJXZWJhdXRobiB9IGZyb20gJy4uL3VzZXIubW9kZWwnO1xuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuL3Nlc3Npb24uc2VydmljZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgbWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5cblxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBXZWJBdXRoblNlcnZpY2Uge1xuXG4gIHdlYkF1dGhuQXZhaWxhYmxlID0gISFuYXZpZ2F0b3IuY3JlZGVudGlhbHMgJiYgISFuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlO1xuICBlbnZpcm9ubWVudDogYW55O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNlc3Npb25TZXJ2aWNlOiBTZXNzaW9uU2VydmljZSxcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBzbmFja0JhcjogTWF0U25hY2tCYXIsXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBlbnZpcm9ubWVudDogYW55XG4gICkge1xuICAgIHRoaXMuZW52aXJvbm1lbnQgPSBlbnZpcm9ubWVudDtcbiAgfVxuXG4gIHdlYkF1dGhuU2lnbnVwKHVzZXI6IFVzZXJXZWJhdXRobik6IFByb21pc2U8YW55PiB7XG4gICAgY29uc29sZS5sb2coJ1t3ZWJBdXRoblNpZ251cF0nKTtcbiAgICBjb25zdCBwdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zOiBQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zID0ge1xuICAgICAgY2hhbGxlbmdlOiB0aGlzLmdldENoYWxsZW5nZSgpLFxuICAgICAgcnA6IHtcbiAgICAgICAgbmFtZTogJ1dlYkF1dGhuJyxcbiAgICAgIH0sXG4gICAgICB1c2VyOiB7XG4gICAgICAgIGlkOiBVaW50OEFycmF5LmZyb20odXNlci5pZCwgYyA9PiBjLmNoYXJDb2RlQXQoMCkpLFxuICAgICAgICBuYW1lOiB1c2VyLmVtYWlsLFxuICAgICAgICBkaXNwbGF5TmFtZTogdXNlci5lbWFpbCxcbiAgICAgIH0sXG4gICAgICBwdWJLZXlDcmVkUGFyYW1zOiBbeyBhbGc6IC03LCB0eXBlOiAncHVibGljLWtleScgfV0sXG4gICAgICBhdXRoZW50aWNhdG9yU2VsZWN0aW9uOiB7XG4gICAgICAgIGF1dGhlbnRpY2F0b3JBdHRhY2htZW50OiAncGxhdGZvcm0nLFxuICAgICAgfSxcbiAgICAgIHRpbWVvdXQ6IDYwMDAwLFxuICAgICAgYXR0ZXN0YXRpb246ICdkaXJlY3QnXG4gICAgfTtcblxuICAgIHJldHVybiBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKHtcbiAgICAgIHB1YmxpY0tleTogcHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucyxcbiAgICB9KTtcblxuICB9XG5cbiAgd2ViQXV0aG5TaWduaW4odXNlcjogVXNlcldlYmF1dGhuKTogUHJvbWlzZTxhbnk+IHtcbiAgICBjb25zb2xlLmxvZyh1c2VyKTtcbiAgICAvKiB7XG4gICAgICAgIFwiaWRcIjogXCJiMThlZTA3Ny1mODk2LTQ0ZjQtYTJkNC0zYWM4MzFlYjFjOTBcIixcbiAgICAgICAgXCJlbWFpbFwiOiBcInRlc3QudXNlckBlbWFpbC5jb21cIixcbiAgICAgICAgXCJwYXNzd29yZFwiOiBcIlwiLFxuICAgICAgICBcImNyZWRlbnRpYWxzXCI6IFtcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIFwiaWRcIjoge30sXG4gICAgICAgICAgICAgICAgICAgIFwidHlwZVwiOiBcInB1YmxpYy1rZXlcIlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgXVxuICAgIH0gKi9cbiAgICBsZXQgcHVibGljS2V5Q3JlZGVudGlhbHMgPSB7XG4gICAgICBjaGFsbGVuZ2U6IHRoaXMuZ2V0Q2hhbGxlbmdlKCksXG4gICAgICBhbGxvd0NyZWRlbnRpYWxzOiB1c2VyLmNyZWRlbnRpYWxzWzBdXG4gICAgfTtcbiAgICByZXR1cm4gbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdldCh7IHB1YmxpY0tleTogcHVibGljS2V5Q3JlZGVudGlhbHMgfSk7XG4gIH1cblxuXG4gIGdldENoYWxsZW5nZSgpOiBVaW50OEFycmF5IHtcbiAgICByZXR1cm4gVWludDhBcnJheS5mcm9tKCdqRWZjbjFDc0dGeEJpWFl0Sk1TR0R5Y1BxUG95RkozWicsIGMgPT4gYy5jaGFyQ29kZUF0KDApKTtcbiAgfVxuXG4gIHJlZ2lzdGVyKHVzZXI6IFVzZXJXZWJhdXRobiwgbmV3Q3JlZGVudGlhbEluZm86IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3QgcHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGxldCBlbmMgPSBuZXcgVGV4dERlY29kZXIoJ3V0Zi04Jyk7XG4gICAgICBsZXQgY2xpZW50RGF0YUpTT04gPSBlbmMuZGVjb2RlKG5ld0NyZWRlbnRpYWxJbmZvLnJlc3BvbnNlLmNsaWVudERhdGFKU09OKTtcbiAgICAgIGNvbnNvbGUubG9nKGNsaWVudERhdGFKU09OKTtcbiAgICAgIGxldCBjbGllbnREYXRhID0gSlNPTi5wYXJzZShjbGllbnREYXRhSlNPTik7XG4gICAgICBjb25zb2xlLmxvZyhjbGllbnREYXRhKTtcbiAgICAgIGNvbnN0IHB1YmxpY0tleSA9ICB0aGlzLmFycmF5QnVmZmVyVG9CYXNlNjRVcmwobmV3Q3JlZGVudGlhbEluZm8ucmF3SWQpO1xuICAgICAgbGV0IGlkTGlzdCA9IFt7XG4gICAgICAgIC8vIGlkOiBuZXdDcmVkZW50aWFsSW5mby5yYXdJZCxcbiAgICAgICAgaWQ6IHB1YmxpY0tleSxcbiAgICAgICAgdHlwZTogJ3B1YmxpYy1rZXknXG4gICAgICB9XTtcbiAgICAgIHVzZXIuY3JlZGVudGlhbHMucHVzaChpZExpc3QpO1xuICAgICAgY29uc29sZS5sb2codXNlcik7XG4gICAgICB0aGlzLmFkZEF0dHJpYnV0ZVVzZXIodXNlci5pZCwgJ3dlYmF1dGhuX2tleScsIHB1YmxpY0tleSkuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICAgIGNvbnNvbGUubG9nKHJlcyk7XG4gICAgICAgICAgcmVzb2x2ZShyZXMpO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogKGVycikgPT4ge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcbiAgICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHByb21pc2U7XG4gIH1cblxuXG4gIGJhc2U2NFVybFRvQXJyYXlCdWZmZXIoYmFzZTY0VXJsU3RyaW5nOiBzdHJpbmcpOiBBcnJheUJ1ZmZlciB7XG4gICAgY29uc3QgYmFzZTY0U3RyaW5nID0gYmFzZTY0VXJsU3RyaW5nLnJlcGxhY2UoLy0vZywgJysnKS5yZXBsYWNlKC9fL2csICcvJyk7XG4gICAgY29uc3QgcGFkZGVkQmFzZTY0U3RyaW5nID0gYmFzZTY0U3RyaW5nLnBhZEVuZChNYXRoLmNlaWwoYmFzZTY0U3RyaW5nLmxlbmd0aCAvIDQpICogNCwgJz0nKTtcbiAgICBjb25zdCB1aW50OEFycmF5ID0gbmV3IFVpbnQ4QXJyYXkoXG4gICAgICBhdG9iKHBhZGRlZEJhc2U2NFN0cmluZylcbiAgICAgICAgLnNwbGl0KCcnKVxuICAgICAgICAubWFwKChjaGFyKSA9PiBjaGFyLmNoYXJDb2RlQXQoMCkpXG4gICAgKTtcbiAgICByZXR1cm4gdWludDhBcnJheS5idWZmZXI7XG4gIH1cblxuICBhcnJheUJ1ZmZlclRvQmFzZTY0VXJsKGFycmF5QnVmZmVyOiBBcnJheUJ1ZmZlcik6IHN0cmluZyB7XG4gICAgY29uc3QgdWludDhBcnJheSA9IG5ldyBVaW50OEFycmF5KGFycmF5QnVmZmVyKTtcbiAgICBsZXQgYmFzZTY0U3RyaW5nID0gYnRvYShTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsIEFycmF5LmZyb20odWludDhBcnJheSkpKTtcbiAgICBiYXNlNjRTdHJpbmcgPSBiYXNlNjRTdHJpbmcucmVwbGFjZSgvXFwrL2csICctJykucmVwbGFjZSgvXFwvL2csICdfJykucmVwbGFjZSgvPSskLywgJycpO1xuICAgIHJldHVybiBiYXNlNjRTdHJpbmc7XG4gIH1cblxuXG4gIHNpZ25VcCgpOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnN0IHByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBpZiAodGhpcy53ZWJBdXRobkF2YWlsYWJsZSkge1xuICAgICAgICBjb25zdCB1c2VyRGF0YSA9IHRoaXMuc2Vzc2lvblNlcnZpY2UuZ2V0VXNlcmRhdGEoKTtcbiAgICAgICAgaWYgKHVzZXJEYXRhKSB7XG4gICAgICAgICAgbGV0IHVzZXIgPSB7XG4gICAgICAgICAgICBpZDogdXNlckRhdGE/LnVzZXJJZCxcbiAgICAgICAgICAgIGVtYWlsOiB1c2VyRGF0YT8uZW1haWwsXG4gICAgICAgICAgICBjcmVkZW50aWFsczogW11cbiAgICAgICAgICB9O1xuICAgICAgICAgIHRoaXMud2ViQXV0aG5TaWdudXAodXNlcilcbiAgICAgICAgICAgIC50aGVuKChjcmVkZW50aWFsOiBQdWJsaWNLZXlDcmVkZW50aWFsKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdjcmVkZW50aWFscy5jcmVhdGUgUkVTUE9OU0UnLCBjcmVkZW50aWFsKTtcbiAgICAgICAgICAgICAgdGhpcy5yZWdpc3Rlcih1c2VyLCBjcmVkZW50aWFsKS50aGVuKChyZXM6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlcyk7XG4gICAgICAgICAgICAgICAgdGhpcy5zaG93U25hY2tCYXIodGhpcy5nZXRNZXNzYWdlKCdzaWduVXBPaycpLCBbJ3NuYWNrLXN1Y2Nlc3MnXSk7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLmdldE1lc3NhZ2UoJ3NpZ25VcE9rJykpO1xuICAgICAgICAgICAgICB9KS5jYXRjaCgoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2hvd1NuYWNrQmFyKHRoaXMuZ2V0TWVzc2FnZSgnc2lnblVwTm9rJyksIFsnc25hY2stZXJyb3InXSk7XG4gICAgICAgICAgICAgICAgcmVqZWN0KHRoaXMuZ2V0TWVzc2FnZSgnc2lnblVwTm9rJykpO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdjcmVkZW50aWFscy5jcmVhdGUgRVJST1InLCBlcnJvcik7XG4gICAgICAgICAgICAgIHRoaXMuc2hvd1NuYWNrQmFyKHRoaXMuZ2V0TWVzc2FnZSgnc2lnblVwTm9rJyksIFsnc25hY2stZXJyb3InXSk7XG4gICAgICAgICAgICAgIHJlamVjdCh0aGlzLmdldE1lc3NhZ2UoJ3NpZ25VcE5vaycpKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNob3dTbmFja0Jhcih0aGlzLmdldE1lc3NhZ2UoJ2Jyb3dzZXJOb2snKSwgWydzbmFjay1lcnJvciddKTtcbiAgICAgICAgcmVqZWN0KHRoaXMuZ2V0TWVzc2FnZSgnYnJvd3Nlck5vaycpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gcHJvbWlzZTtcbiAgfVxuXG5cbiAgc2lnbkluKCk6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3QgcHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGlmICh0aGlzLndlYkF1dGhuQXZhaWxhYmxlKSB7XG4gICAgICAgIGNvbnN0IHVzZXJEYXRhID0gdGhpcy5zZXNzaW9uU2VydmljZS5nZXRVc2VyZGF0YSgpO1xuICAgICAgICBpZiAodXNlckRhdGEpIHtcbiAgICAgICAgICBsZXQgdXNlciA9IHtcbiAgICAgICAgICAgIGlkOiB1c2VyRGF0YT8udXNlcklkLFxuICAgICAgICAgICAgZW1haWw6IHVzZXJEYXRhPy5lbWFpbCxcbiAgICAgICAgICAgIGNyZWRlbnRpYWxzOiBbe31dXG4gICAgICAgICAgfTtcblxuICAgICAgICAgIHRoaXMuZ2V0QXR0cmlidXRlVXNlcih1c2VyLmlkLCAnd2ViYXV0aG5fa2V5Jykuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgICAgICAgY29uc29sZS5sb2cocmVzKTtcbiAgICAgICAgICAgICAgaWYgKHJlcy5kYXRhICYmIHJlcy5kYXRhLndlYmF1dGhuX2tleSAmJiByZXMuZGF0YS53ZWJhdXRobl9rZXkubGVuZ3RoID4gMCkge1xuXG4gICAgICAgICAgICAgICAgY29uc3QgY3JlZCA9IHtcbiAgICAgICAgICAgICAgICAgIGlkOiAgdGhpcy5iYXNlNjRVcmxUb0FycmF5QnVmZmVyKHJlcy5kYXRhLndlYmF1dGhuX2tleVswXSksXG4gICAgICAgICAgICAgICAgICB0eXBlOiAncHVibGljLWtleSdcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHVzZXIuY3JlZGVudGlhbHMuc3BsaWNlKDAsMSk7XG4gICAgICAgICAgICAgICAgdXNlci5jcmVkZW50aWFscy5wdXNoKFtjcmVkXSk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLndlYkF1dGhuU2lnbmluKHVzZXIpLnRoZW4oKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnU1VDQ0VTU0ZVTExZIEdPVCBBTiBBU1NFUlRJT04hJywgcmVzcG9uc2UpO1xuICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgnb2snKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdGQUlMJywgZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dTbmFja0Jhcih0aGlzLmdldE1lc3NhZ2UoJ2ludmFsaWRDcmVkZW50aWFscycpLCBbJ3NuYWNrLWVycm9yJ10pO1xuICAgICAgICAgICAgICAgICAgICByZWplY3QodGhpcy5nZXRNZXNzYWdlKCdpbnZhbGlkQ3JlZGVudGlhbHMnKSk7XG4gICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dTbmFja0Jhcih0aGlzLmdldE1lc3NhZ2UoJ25vQ3JlZGVudGlhbHMnKSwgWydzbmFjay1lcnJvciddKTtcbiAgICAgICAgICAgICAgICByZWplY3QodGhpcy5nZXRNZXNzYWdlKCdub0NyZWRlbnRpYWxzJykpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcbiAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgICAgICAgICAgICB0aGlzLnNob3dTbmFja0Jhcih0aGlzLmdldE1lc3NhZ2UoJ2Vycm9yUmV0cmlldmluZ0NyZWRlbnRpYWxzJyksIFsnc25hY2stZXJyb3InXSk7XG4gICAgICAgICAgICAgIHJlamVjdCh0aGlzLmdldE1lc3NhZ2UoJ2Vycm9yUmV0cmlldmluZ0NyZWRlbnRpYWxzJykpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNob3dTbmFja0Jhcih0aGlzLmdldE1lc3NhZ2UoJ2Jyb3dzZXJOb2snKSwgWydzbmFjay1lcnJvciddKTtcbiAgICAgICAgcmVqZWN0KHRoaXMuZ2V0TWVzc2FnZSgnYnJvd3Nlck5vaycpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gcHJvbWlzZTtcbiAgfVxuXG5cbiAgYWRkQXR0cmlidXRlVXNlcih1c2VySWQ6IGFueSwgY29kZTogYW55LCB2YWx1ZTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55Pih0aGlzLmVudmlyb25tZW50LmVuZFBvaW50ICsgYC91c2VyL2F0dHJpYnV0ZS92YWx1ZS8ke3VzZXJJZH0vJHtjb2RlfS8ke3ZhbHVlfWAse30pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKHJlcyA9PiByZXMpKTtcbiAgfVxuXG4gIGdldEF0dHJpYnV0ZVVzZXIodXNlcklkOiBhbnksIGNvZGU6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55Pih0aGlzLmVudmlyb25tZW50LmVuZFBvaW50ICsgYC91c2VyL2F0dHJpYnV0ZS92YWx1ZS8ke3VzZXJJZH0vJHtjb2RlfWApXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKHJlcyA9PiByZXMpKTtcbiAgfVxuXG4gIHNob3dTbmFja0JhcihtZXNzYWdlOiBhbnksIHBhbmVsQ2xhc3M6IGFueVtdID0gW10pOiB2b2lkIHtcbiAgICBjb25zb2xlLmxvZyhtZXNzYWdlKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuc25hY2tCYXIub3BlbihtZXNzYWdlLCB1bmRlZmluZWQsIHtcbiAgICAgICAgZHVyYXRpb246IDUwMDAsXG4gICAgICAgIHBhbmVsQ2xhc3MsXG4gICAgICAgIHZlcnRpY2FsUG9zaXRpb246ICd0b3AnXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldE1lc3NhZ2UoY29kZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBsZXQgbXNnID0gJyc7XG4gICAgY29uc3QgbGFuZyA9IHdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnTEFORycpO1xuICAgIGNvbnN0IG1lc3NhZ2VzRW46IGFueSA9IHtcbiAgICAgIHNpZ25VcE9rOiAnQ3JlZGVudGlhbHMgcmVnaXN0ZXJlZCBzdWNjZXNzZnVsbHknLFxuICAgICAgc2lnblVwTm9rOiAnQSBwcm9ibGVtIG9jY3VycmVkIHdoaWxlIHJlZ2lzdGVyaW5nIGNyZWRlbnRpYWxzJyxcbiAgICAgIGJyb3dzZXJOb2s6ICdUaGUgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IHRoaXMgZnVuY3Rpb25hbGl0eScsXG4gICAgICBub0NyZWRlbnRpYWxzOiAnVGhlIHVzZXIgaGFzIG5vIHN0b3JlZCBjcmVkZW50aWFscycsXG4gICAgICBpbnZhbGlkQ3JlZGVudGlhbHM6ICdUaGUgY3JlZGVudGlhbHMgYXJlIGludmFsaWQnLFxuICAgICAgZXJyb3JSZXRyaWV2aW5nQ3JlZGVudGlhbHM6ICdUaGVyZSB3YXMgYSBwcm9ibGVtIHJldHJpZXZpbmcgY3JlZGVudGlhbHMnLFxuICAgIH07XG4gICAgY29uc3QgbWVzc2FnZXNFczogYW55ID0ge1xuICAgICAgc2lnblVwT2s6ICdDcmVkZW5jaWFsZXMgcmVnaXN0cmFkYXMgZXhpdG9zYW1lbnRlJyxcbiAgICAgIHNpZ25VcE5vazogJ1NlIHByb2R1am8gdW4gcHJvYmxlbWEgYWwgcmVnaXN0cmFyIGxhcyBjcmVkZW5jaWFsZXMnLFxuICAgICAgYnJvd3Nlck5vazogJ0VsIG5hdmVnYWRvciBubyBzb3BvcnRhIGVzdGEgZnVuY2lvbmFsaWRhZCcsXG4gICAgICBub0NyZWRlbnRpYWxzOiAnRWwgdXN1YXJpbyBubyB0aWVuZSBjcmVkZW5jaWFsZXMgYWxtYWNlbmFkYXMnLFxuICAgICAgaW52YWxpZENyZWRlbnRpYWxzOiAnTGFzIGNyZWRlbmNpYWxlcyBubyBzb24gdsOhbGlkYXMnLFxuICAgICAgZXJyb3JSZXRyaWV2aW5nQ3JlZGVudGlhbHM6ICdTZSBwcm9kdWpvIHVuIHByb2JsZW1hIGFsIHJlY3VwZXJhciBsYXMgY3JlZGVuY2lhbGVzJyxcbiAgICB9O1xuICAgIGlmIChsYW5nICYmIGxhbmc9PT0nZW4nKSB7XG4gICAgICBtc2cgPSBtZXNzYWdlc0VuW2NvZGVdO1xuICAgIH0gZWxzZSB7XG4gICAgICBtc2cgPSBtZXNzYWdlc0VzW2NvZGVdO1xuICAgIH1cbiAgICByZXR1cm4gbXNnO1xuICB9XG5cbn1cbiJdfQ==
@@ -1,5 +0,0 @@
1
- export const TOKEN = 'TOKEN';
2
- export const REFRESH_TOKEN = 'REFRESH_TOKEN';
3
- export const USERDATA = 'USERDATA';
4
- export const LANG = 'LANG';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3NpLXNlY3VyaXR5LWNvbW1vbnMvc3JjL2xpYi9zaGFyZWQvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUM7QUFDN0IsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLGVBQWUsQ0FBQztBQUM3QyxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDO0FBQ25DLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgVE9LRU4gPSAnVE9LRU4nO1xuZXhwb3J0IGNvbnN0IFJFRlJFU0hfVE9LRU4gPSAnUkVGUkVTSF9UT0tFTic7XG5leHBvcnQgY29uc3QgVVNFUkRBVEEgPSAnVVNFUkRBVEEnO1xuZXhwb3J0IGNvbnN0IExBTkcgPSAnTEFORyc7XG4iXX0=
@@ -1,13 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class SsiSecurityCommonsComponent {
4
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: SsiSecurityCommonsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.3", type: SsiSecurityCommonsComponent, selector: "lib-ssi-security-commons", ngImport: i0, template: ` <p>ssi-security-commons works!</p>
6
- `, isInline: true }); }
7
- }
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: SsiSecurityCommonsComponent, decorators: [{
9
- type: Component,
10
- args: [{ selector: 'lib-ssi-security-commons', template: ` <p>ssi-security-commons works!</p>
11
- ` }]
12
- }] });
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3NpLXNlY3VyaXR5LWNvbW1vbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc3NpLXNlY3VyaXR5LWNvbW1vbnMvc3JjL2xpYi9zc2ktc2VjdXJpdHktY29tbW9ucy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFTMUMsTUFBTSxPQUFPLDJCQUEyQjs4R0FBM0IsMkJBQTJCO2tHQUEzQiwyQkFBMkIsZ0VBTDVCO0dBQ1Q7OzJGQUlVLDJCQUEyQjtrQkFQdkMsU0FBUzsrQkFDRSwwQkFBMEIsWUFDMUI7R0FDVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItc3NpLXNlY3VyaXR5LWNvbW1vbnMnLFxuICB0ZW1wbGF0ZTogYCA8cD5zc2ktc2VjdXJpdHktY29tbW9ucyB3b3JrcyE8L3A+XG4gIGAsXG4gIHN0eWxlczogW1xuICBdXG59KVxuZXhwb3J0IGNsYXNzIFNzaVNlY3VyaXR5Q29tbW9uc0NvbXBvbmVudCB7XG5cbn1cbiJdfQ==
@@ -1,60 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { MatDialogModule } from '@angular/material/dialog';
3
- import { MatSnackBarModule } from '@angular/material/snack-bar';
4
- import { CryptoService } from './services/crypto.service';
5
- import { AlertComponent } from './alert/alert.component';
6
- import { MessagesService } from './services/messages.service';
7
- import { SessionService } from './services/session.service';
8
- import { SsiSecurityCommonsComponent } from './ssi-security-commons.component';
9
- import { MatButtonModule } from '@angular/material/button';
10
- import { JwtService } from './services/jwt.service';
11
- import { CommonModule } from '@angular/common';
12
- import * as i0 from "@angular/core";
13
- export class SsiSecurityCommonsModule {
14
- static forRoot(environment) {
15
- return {
16
- ngModule: SsiSecurityCommonsModule,
17
- providers: [{ provide: 'environment', useValue: environment }]
18
- };
19
- }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: SsiSecurityCommonsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
21
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.3", ngImport: i0, type: SsiSecurityCommonsModule, declarations: [SsiSecurityCommonsComponent,
22
- AlertComponent], imports: [MatSnackBarModule,
23
- MatDialogModule,
24
- MatButtonModule,
25
- CommonModule], exports: [SsiSecurityCommonsComponent] }); }
26
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: SsiSecurityCommonsModule, providers: [
27
- MessagesService,
28
- SessionService,
29
- CryptoService,
30
- JwtService
31
- ], imports: [MatSnackBarModule,
32
- MatDialogModule,
33
- MatButtonModule,
34
- CommonModule] }); }
35
- }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: SsiSecurityCommonsModule, decorators: [{
37
- type: NgModule,
38
- args: [{
39
- declarations: [
40
- SsiSecurityCommonsComponent,
41
- AlertComponent
42
- ],
43
- imports: [
44
- MatSnackBarModule,
45
- MatDialogModule,
46
- MatButtonModule,
47
- CommonModule
48
- ],
49
- exports: [
50
- SsiSecurityCommonsComponent
51
- ],
52
- providers: [
53
- MessagesService,
54
- SessionService,
55
- CryptoService,
56
- JwtService
57
- ]
58
- }]
59
- }] });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3NpLXNlY3VyaXR5LWNvbW1vbnMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc3NpLXNlY3VyaXR5LWNvbW1vbnMvc3JjL2xpYi9zc2ktc2VjdXJpdHktY29tbW9ucy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUF3Qi9DLE1BQU0sT0FBTyx3QkFBd0I7SUFDbkMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFnQjtRQUM3QixPQUFPO1lBQ0wsUUFBUSxFQUFFLHdCQUF3QjtZQUNsQyxTQUFTLEVBQUUsQ0FBQyxFQUFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBQyxDQUFDO1NBQzdELENBQUM7SUFDSixDQUFDOzhHQU5VLHdCQUF3QjsrR0FBeEIsd0JBQXdCLGlCQW5CakMsMkJBQTJCO1lBQzNCLGNBQWMsYUFHZCxpQkFBaUI7WUFDakIsZUFBZTtZQUNmLGVBQWU7WUFDZixZQUFZLGFBR1osMkJBQTJCOytHQVNsQix3QkFBd0IsYUFQeEI7WUFDVCxlQUFlO1lBQ2YsY0FBYztZQUNkLGFBQWE7WUFDYixVQUFVO1NBQ1gsWUFiQyxpQkFBaUI7WUFDakIsZUFBZTtZQUNmLGVBQWU7WUFDZixZQUFZOzsyRkFZSCx3QkFBd0I7a0JBckJwQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWiwyQkFBMkI7d0JBQzNCLGNBQWM7cUJBQ2Y7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixlQUFlO3dCQUNmLFlBQVk7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLDJCQUEyQjtxQkFDNUI7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLFVBQVU7cUJBQ1g7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdFNuYWNrQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7IENyeXB0b1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2NyeXB0by5zZXJ2aWNlJztcbmltcG9ydCB7IEFsZXJ0Q29tcG9uZW50IH0gZnJvbSAnLi9hbGVydC9hbGVydC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWVzc2FnZXNTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9tZXNzYWdlcy5zZXJ2aWNlJztcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9zZXNzaW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3NpU2VjdXJpdHlDb21tb25zQ29tcG9uZW50IH0gZnJvbSAnLi9zc2ktc2VjdXJpdHktY29tbW9ucy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IEp3dFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2p3dC5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgU3NpU2VjdXJpdHlDb21tb25zQ29tcG9uZW50LFxuICAgIEFsZXJ0Q29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBNYXRTbmFja0Jhck1vZHVsZSxcbiAgICBNYXREaWFsb2dNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgU3NpU2VjdXJpdHlDb21tb25zQ29tcG9uZW50XG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIE1lc3NhZ2VzU2VydmljZSxcbiAgICBTZXNzaW9uU2VydmljZSxcbiAgICBDcnlwdG9TZXJ2aWNlLFxuICAgIEp3dFNlcnZpY2VcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTc2lTZWN1cml0eUNvbW1vbnNNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChlbnZpcm9ubWVudDogYW55KTogTW9kdWxlV2l0aFByb3ZpZGVyczxTc2lTZWN1cml0eUNvbW1vbnNNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IFNzaVNlY3VyaXR5Q29tbW9uc01vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW3twcm92aWRlOiAnZW52aXJvbm1lbnQnLCB1c2VWYWx1ZTogZW52aXJvbm1lbnR9XVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -1,13 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class SsiSecurityCommonsService {
4
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: SsiSecurityCommonsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
5
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: SsiSecurityCommonsService, providedIn: 'root' }); }
6
- }
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: SsiSecurityCommonsService, decorators: [{
8
- type: Injectable,
9
- args: [{
10
- providedIn: 'root'
11
- }]
12
- }] });
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3NpLXNlY3VyaXR5LWNvbW1vbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NzaS1zZWN1cml0eS1jb21tb25zL3NyYy9saWIvc3NpLXNlY3VyaXR5LWNvbW1vbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8seUJBQXlCOzhHQUF6Qix5QkFBeUI7a0hBQXpCLHlCQUF5QixjQUZ4QixNQUFNOzsyRkFFUCx5QkFBeUI7a0JBSHJDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTc2lTZWN1cml0eUNvbW1vbnNTZXJ2aWNlIHtcblxufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NzaS1zZWN1cml0eS1jb21tb25zL3NyYy9saWIvdXNlci5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBVc2VyIHtcbiAgZnVsbG5hbWU6IHN0cmluZztcbiAgbGFuZ3VhZ2U6IHN0cmluZztcbiAgcGVyc29uSWQ6IG51bWJlcjtcbiAgcm9sZXM6IHN0cmluZ1tdO1xuICB1c2VySWQ6IG51bWJlcjtcbiAgdXNlcm5hbWU6IHN0cmluZztcbiAgd29ya1BsYWNlOiBXb3JrUGxhY2U7XG4gIGNoYW5uZWw6IENoYW5uZWw7XG4gIHVzZXJUeXBlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYW5uZWwge1xuICBjaGFubmVsQ29kZTogc3RyaW5nO1xuICBjaGFubmVsRGVzY3JpcHRpb246IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXb3JrUGxhY2Uge1xuICB3b3JrUGxhY2VDb2RlOiBzdHJpbmc7XG4gIHdvcmtQbGFjZURlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIGNpdHlDb2RlOiBzdHJpbmc7XG4gIGNpdHlEZXNjcmlwdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZyb250RW5kRXhjZXB0aW9uIHtcbiAgaHR0cFN0YXR1cz86IG51bWJlcjtcbiAgaHR0cFN0YXR1c1RleHQ/OiBzdHJpbmc7XG4gIGVycm9yTWVzc2FnZT86IHN0cmluZztcbiAgcmVxdWVzdEJvZHk/OiBzdHJpbmc7XG4gIHJlc3BvbnNlQm9keT86IHN0cmluZztcbiAgdXNlcklkPzogc3RyaW5nO1xuICByZXF1ZXN0RGF0ZT86IERhdGU7XG4gIGFwcGxpY2F0aW9uTmFtZT86IHN0cmluZztcbiAgYXBwbGljYXRpb25JZD86IG51bWJlcjtcbiAgcmVxdWVzdFVybD86IHN0cmluZztcbiAgY3VycmVudFVybD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVc2VyRGF0YSB7XG4gIGdpdmVuTmFtZTogc3RyaW5nO1xuICBmYW1pbHlOYW1lOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgcm9sZXM6IHN0cmluZ1tdO1xuICB1c2VySWQ6IHN0cmluZztcbiAgdXNlcm5hbWU6IHN0cmluZztcbiAgZW1haWw6IHN0cmluZztcbiAgZW1haWxWZXJpZmllZDogYm9vbGVhbjtcbiAgd29ya1BsYWNlPzogV29ya1BsYWNlO1xuICBjaGFubmVsPzogQ2hhbm5lbDtcbiAgY291bnRyeUNvZGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlcldlYmF1dGhuIHtcbiAgaWQ6IHN0cmluZztcbiAgZW1haWw6IHN0cmluZztcbiAgY3JlZGVudGlhbHM6IGFueVtdO1xufVxuIl19
@@ -1,15 +0,0 @@
1
- /*
2
- * Public API Surface of ssi-security-commons
3
- */
4
- export * from './lib/ssi-security-commons.service';
5
- export * from './lib/ssi-security-commons.component';
6
- export * from './lib/ssi-security-commons.module';
7
- export * from './lib/services/auth-interceptor.service';
8
- export * from './lib/services/session.service';
9
- export * from './lib/services/messages.service';
10
- export * from './lib/services/web-authn.service';
11
- export * from './lib/user.model';
12
- export * from './lib/services/crypto.service';
13
- export * from './lib/services/jwt.service';
14
- export * from './lib/shared/constants';
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3NzaS1zZWN1cml0eS1jb21tb25zL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBzc2ktc2VjdXJpdHktY29tbW9uc1xuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NzaS1zZWN1cml0eS1jb21tb25zLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3NpLXNlY3VyaXR5LWNvbW1vbnMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NzaS1zZWN1cml0eS1jb21tb25zLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9hdXRoLWludGVyY2VwdG9yLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvc2Vzc2lvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL21lc3NhZ2VzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvd2ViLWF1dGhuLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXNlci5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9jcnlwdG8uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9qd3Quc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvY29uc3RhbnRzJztcbiJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3NpLXNlY3VyaXR5LWNvbW1vbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9zc2ktc2VjdXJpdHktY29tbW9ucy9zcmMvc3NpLXNlY3VyaXR5LWNvbW1vbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==