@or-sdk/authorizer 0.24.14-beta.944.0 → 0.24.14-beta.971.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/cjs/Basic/BasicCollection.js +112 -23
- package/dist/cjs/Basic/BasicCollection.js.map +1 -1
- package/dist/cjs/Basic/index.js +21 -0
- package/dist/cjs/Basic/index.js.map +1 -0
- package/dist/cjs/OAuth/OAuth.js +4 -1
- package/dist/cjs/OAuth/OAuth.js.map +1 -1
- package/dist/cjs/OAuth/OAuthCollection.js +17 -6
- package/dist/cjs/OAuth/OAuthCollection.js.map +1 -1
- package/dist/cjs/OAuth/index.js +23 -0
- package/dist/cjs/OAuth/index.js.map +1 -0
- package/dist/cjs/OAuth/types.js.map +1 -1
- package/dist/cjs/Token/TokenCollection.js +82 -20
- package/dist/cjs/Token/TokenCollection.js.map +1 -1
- package/dist/cjs/Token/index.js +21 -0
- package/dist/cjs/Token/index.js.map +1 -0
- package/dist/cjs/index.js +8 -13
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/Basic/BasicCollection.js +79 -20
- package/dist/esm/Basic/BasicCollection.js.map +1 -1
- package/dist/esm/Basic/index.js +3 -0
- package/dist/esm/Basic/index.js.map +1 -0
- package/dist/esm/OAuth/OAuth.js +4 -1
- package/dist/esm/OAuth/OAuth.js.map +1 -1
- package/dist/esm/OAuth/OAuthCollection.js +17 -6
- package/dist/esm/OAuth/OAuthCollection.js.map +1 -1
- package/dist/esm/OAuth/index.js +4 -0
- package/dist/esm/OAuth/index.js.map +1 -0
- package/dist/esm/OAuth/types.js.map +1 -1
- package/dist/esm/Token/TokenCollection.js +50 -18
- package/dist/esm/Token/TokenCollection.js.map +1 -1
- package/dist/esm/Token/index.js +3 -0
- package/dist/esm/Token/index.js.map +1 -0
- package/dist/esm/index.js +3 -6
- package/dist/esm/index.js.map +1 -1
- package/dist/types/Basic/BasicCollection.d.ts +15 -6
- package/dist/types/Basic/BasicCollection.d.ts.map +1 -1
- package/dist/types/Basic/index.d.ts +3 -0
- package/dist/types/Basic/index.d.ts.map +1 -0
- package/dist/types/Basic/types.d.ts +3 -1
- package/dist/types/Basic/types.d.ts.map +1 -1
- package/dist/types/OAuth/OAuth.d.ts.map +1 -1
- package/dist/types/OAuth/OAuthCollection.d.ts +6 -4
- package/dist/types/OAuth/OAuthCollection.d.ts.map +1 -1
- package/dist/types/OAuth/index.d.ts +4 -0
- package/dist/types/OAuth/index.d.ts.map +1 -0
- package/dist/types/OAuth/types.d.ts +4 -1
- package/dist/types/OAuth/types.d.ts.map +1 -1
- package/dist/types/Token/TokenCollection.d.ts +7 -7
- package/dist/types/Token/TokenCollection.d.ts.map +1 -1
- package/dist/types/Token/index.d.ts +3 -0
- package/dist/types/Token/index.d.ts.map +1 -0
- package/dist/types/Token/types.d.ts +2 -0
- package/dist/types/Token/types.d.ts.map +1 -1
- package/dist/types/index.d.ts +3 -6
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +33 -2
- package/src/Basic/BasicCollection.ts +138 -28
- package/src/Basic/index.ts +3 -0
- package/src/Basic/types.ts +3 -1
- package/src/OAuth/OAuth.ts +4 -0
- package/src/OAuth/OAuthCollection.ts +39 -10
- package/src/OAuth/index.ts +4 -0
- package/src/OAuth/types.ts +5 -1
- package/src/Token/TokenCollection.ts +94 -25
- package/src/Token/index.ts +3 -0
- package/src/Token/types.ts +2 -0
- package/src/index.ts +3 -8
- package/dist/cjs/Basic/BasicAuth.js +0 -162
- package/dist/cjs/Basic/BasicAuth.js.map +0 -1
- package/dist/cjs/Token/TokenAuth.js +0 -140
- package/dist/cjs/Token/TokenAuth.js.map +0 -1
- package/dist/esm/Basic/BasicAuth.js +0 -88
- package/dist/esm/Basic/BasicAuth.js.map +0 -1
- package/dist/esm/Token/TokenAuth.js +0 -66
- package/dist/esm/Token/TokenAuth.js.map +0 -1
- package/dist/types/Basic/BasicAuth.d.ts +0 -20
- package/dist/types/Basic/BasicAuth.d.ts.map +0 -1
- package/dist/types/Token/TokenAuth.d.ts +0 -12
- package/dist/types/Token/TokenAuth.d.ts.map +0 -1
- package/src/Basic/BasicAuth.ts +0 -130
- package/src/Token/TokenAuth.ts +0 -102
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
import { KeyValueStorage } from '@or-sdk/key-value-storage';
|
|
11
|
-
import { v4 as uuidv4 } from 'uuid';
|
|
12
|
-
import { createAuthKey } from './utils/createAuthKey';
|
|
13
|
-
export class TokenAuth {
|
|
14
|
-
constructor(params) {
|
|
15
|
-
const { token, discoveryUrl, authKey, serviceName } = params;
|
|
16
|
-
this.authKey = authKey;
|
|
17
|
-
this.serviceName = serviceName;
|
|
18
|
-
this.keyValueStorage = new KeyValueStorage({
|
|
19
|
-
token,
|
|
20
|
-
discoveryUrl,
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
static create(params) {
|
|
24
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
25
|
-
if (!(params.serviceName && params.authName && params.credentials && params.discoveryUrl && params.token)) {
|
|
26
|
-
throw new Error('Invalid config passed');
|
|
27
|
-
}
|
|
28
|
-
const { serviceName, authName, credentials, discoveryUrl, token } = params;
|
|
29
|
-
const keyValueStorage = new KeyValueStorage({
|
|
30
|
-
token,
|
|
31
|
-
discoveryUrl,
|
|
32
|
-
});
|
|
33
|
-
const id = uuidv4();
|
|
34
|
-
const authKey = createAuthKey(id, authName);
|
|
35
|
-
const authData = Object.assign(Object.assign({}, credentials), { auth_name: authName, date_created: new Date().toISOString() });
|
|
36
|
-
yield keyValueStorage.setValueByKey(serviceName, authKey, authData);
|
|
37
|
-
return new TokenAuth({
|
|
38
|
-
serviceName,
|
|
39
|
-
authKey,
|
|
40
|
-
discoveryUrl,
|
|
41
|
-
token,
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
update(newCredentials) {
|
|
46
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
47
|
-
const data = yield this.getAuthData();
|
|
48
|
-
const updatedData = Object.assign(Object.assign({}, data), newCredentials);
|
|
49
|
-
const response = yield this.keyValueStorage.setValueByKey(this.serviceName, this.authKey, updatedData);
|
|
50
|
-
const updatedRecord = response.value;
|
|
51
|
-
return updatedRecord;
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
getAuthData() {
|
|
55
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
56
|
-
const { value } = yield this.keyValueStorage.getValueByKey(this.serviceName, encodeURIComponent(this.authKey));
|
|
57
|
-
return value;
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
delete() {
|
|
61
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
62
|
-
yield this.keyValueStorage.deleteKey(this.serviceName, encodeURIComponent(this.authKey));
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
//# sourceMappingURL=TokenAuth.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TokenAuth.js","sourceRoot":"","sources":["../../../src/Token/TokenAuth.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAItD,MAAM,OAAO,SAAS;IAKpB,YAAY,MAAuB;QACjC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;QAE7D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC;YACzC,KAAK;YACL,YAAY;SACb,CAAC,CAAC;IACL,CAAC;IAkBD,MAAM,CAAO,MAAM,CAAC,MAA6B;;YAC/C,IAAI,CAAC,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE;gBACzG,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;aAC1C;YAED,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;YAE3E,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC;gBAC1C,KAAK;gBACL,YAAY;aACb,CAAC,CAAC;YAEH,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;YACpB,MAAM,OAAO,GAAG,aAAa,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAE5C,MAAM,QAAQ,mCACT,WAAW,KACd,SAAS,EAAE,QAAQ,EACnB,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GACvC,CAAC;YAEF,MAAM,eAAe,CAAC,aAAa,CAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YAEpE,OAAO,IAAI,SAAS,CAAC;gBACnB,WAAW;gBACX,OAAO;gBACP,YAAY;gBACZ,KAAK;aACN,CAAC,CAAC;QACL,CAAC;KAAA;IAKY,MAAM,CAAC,cAAuC;;YACzD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YAEtC,MAAM,WAAW,mCACZ,IAAI,GACJ,cAAc,CAClB,CAAC;YAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAEvG,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC;YACrC,OAAO,aAA8B,CAAC;QACxC,CAAC;KAAA;IAKY,WAAW;;YACtB,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YAC/G,OAAO,KAAsB,CAAC;QAChC,CAAC;KAAA;IAKY,MAAM;;YACjB,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3F,CAAC;KAAA;CACF"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { BasicAuthConfig, BasicAuthData, CreateBasicAuthConfig } from './types';
|
|
2
|
-
export declare class BasicAuth {
|
|
3
|
-
private readonly authKey;
|
|
4
|
-
private readonly serviceName;
|
|
5
|
-
private readonly keyValueStorage;
|
|
6
|
-
constructor(params: BasicAuthConfig);
|
|
7
|
-
static encodeAccessToken(username: string, password: string): string;
|
|
8
|
-
static decodeAccessToken(token: string): {
|
|
9
|
-
username: string;
|
|
10
|
-
password: string;
|
|
11
|
-
};
|
|
12
|
-
static create(params: CreateBasicAuthConfig): Promise<BasicAuth>;
|
|
13
|
-
update(newCredentials: {
|
|
14
|
-
username?: string;
|
|
15
|
-
password?: string;
|
|
16
|
-
}): Promise<BasicAuthData>;
|
|
17
|
-
getAuthData(): Promise<BasicAuthData>;
|
|
18
|
-
delete(): Promise<void>;
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=BasicAuth.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BasicAuth.d.ts","sourceRoot":"","sources":["../../../src/Basic/BasicAuth.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAIhF,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;gBAEtC,MAAM,EAAE,eAAe;IAcnC,MAAM,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAOpE,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;KAAC;WAuBjE,MAAM,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,SAAS,CAAC;IAkCzD,MAAM,CAAC,cAAc,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;KAAE,GAAG,OAAO,CAAC,aAAa,CAAC;IA0BzF,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC;IAQrC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAGrC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { TokenAuthConfig, TokenAuthData, CreateTokenAuthConfig } from './types';
|
|
2
|
-
export declare class TokenAuth {
|
|
3
|
-
private readonly authKey;
|
|
4
|
-
private readonly serviceName;
|
|
5
|
-
private readonly keyValueStorage;
|
|
6
|
-
constructor(params: TokenAuthConfig);
|
|
7
|
-
static create(params: CreateTokenAuthConfig): Promise<TokenAuth>;
|
|
8
|
-
update(newCredentials: Record<string, unknown>): Promise<TokenAuthData>;
|
|
9
|
-
getAuthData(): Promise<TokenAuthData>;
|
|
10
|
-
delete(): Promise<void>;
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=TokenAuth.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TokenAuth.d.ts","sourceRoot":"","sources":["../../../src/Token/TokenAuth.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAEhF,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;gBAEtC,MAAM,EAAE,eAAe;WA2BtB,MAAM,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,SAAS,CAAC;IAkCzD,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;IAiBvE,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC;IAQrC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAGrC"}
|
package/src/Basic/BasicAuth.ts
DELETED
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
import { KeyValueStorage } from '@or-sdk/key-value-storage';
|
|
2
|
-
|
|
3
|
-
import { v4 as uuidv4 } from 'uuid';
|
|
4
|
-
|
|
5
|
-
import { BasicAuthConfig, BasicAuthData, CreateBasicAuthConfig } from './types';
|
|
6
|
-
|
|
7
|
-
import { createAuthKey } from './utils/createAuthKey';
|
|
8
|
-
|
|
9
|
-
export class BasicAuth {
|
|
10
|
-
private readonly authKey: string;
|
|
11
|
-
private readonly serviceName: string;
|
|
12
|
-
private readonly keyValueStorage: KeyValueStorage;
|
|
13
|
-
|
|
14
|
-
constructor(params: BasicAuthConfig) {
|
|
15
|
-
const { token, discoveryUrl, authKey, serviceName } = params;
|
|
16
|
-
|
|
17
|
-
this.authKey = authKey;
|
|
18
|
-
this.serviceName = serviceName;
|
|
19
|
-
this.keyValueStorage = new KeyValueStorage({
|
|
20
|
-
token,
|
|
21
|
-
discoveryUrl,
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Encodes username and passoword into Basic authorization token
|
|
27
|
-
*/
|
|
28
|
-
static encodeAccessToken(username: string, password: string): string {
|
|
29
|
-
return btoa(`${username}:${password}`);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Decodes base64 encoded token and parses it to username and password
|
|
34
|
-
*/
|
|
35
|
-
static decodeAccessToken(token: string): {username: string; password: string;} {
|
|
36
|
-
const [username, password] = atob(token).split(':');
|
|
37
|
-
return {
|
|
38
|
-
username,
|
|
39
|
-
password,
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Creates a new auth record in specified collection with the given config.
|
|
45
|
-
* @returns BasicAuth instance connected to created auth
|
|
46
|
-
*
|
|
47
|
-
* ```typescript
|
|
48
|
-
* const basicAuthInstance = await BasicAuth.create({
|
|
49
|
-
* token: 'my-account-token-string',
|
|
50
|
-
* discoveryUrl: 'discovery.example.onereach.ai',
|
|
51
|
-
* serviceName: '__authorization_service_test_service',
|
|
52
|
-
* authName: 'my-auth-name',
|
|
53
|
-
* username: 'user',
|
|
54
|
-
* password: 'pass'
|
|
55
|
-
* });
|
|
56
|
-
* ```
|
|
57
|
-
*/
|
|
58
|
-
static async create(params: CreateBasicAuthConfig): Promise<BasicAuth> {
|
|
59
|
-
if (!(params.serviceName && params.authName && params.username && params.password && params.discoveryUrl && params.token)) {
|
|
60
|
-
throw new Error('Invalid config passed');
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
const { serviceName, authName, username, password, discoveryUrl, token } = params;
|
|
64
|
-
|
|
65
|
-
const keyValueStorage = new KeyValueStorage({
|
|
66
|
-
token,
|
|
67
|
-
discoveryUrl,
|
|
68
|
-
});
|
|
69
|
-
|
|
70
|
-
const id = uuidv4();
|
|
71
|
-
const authKey = createAuthKey(id, authName);
|
|
72
|
-
|
|
73
|
-
const authData = {
|
|
74
|
-
auth_name: authName,
|
|
75
|
-
access_token: BasicAuth.encodeAccessToken(username, password),
|
|
76
|
-
date_created: new Date().toISOString(),
|
|
77
|
-
};
|
|
78
|
-
|
|
79
|
-
await keyValueStorage.setValueByKey(serviceName, authKey, authData);
|
|
80
|
-
|
|
81
|
-
return new BasicAuth({
|
|
82
|
-
serviceName,
|
|
83
|
-
authKey,
|
|
84
|
-
discoveryUrl,
|
|
85
|
-
token,
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* Updates username or password
|
|
91
|
-
*/
|
|
92
|
-
public async update(newCredentials: { username?: string; password?: string; }): Promise<BasicAuthData> {
|
|
93
|
-
const data = await this.getAuthData();
|
|
94
|
-
let { username, password } = BasicAuth.decodeAccessToken(data.access_token);
|
|
95
|
-
|
|
96
|
-
if (newCredentials.username) {
|
|
97
|
-
username = newCredentials.username;
|
|
98
|
-
}
|
|
99
|
-
if (newCredentials.password) {
|
|
100
|
-
password = newCredentials.password;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
const updatedAccessToken = BasicAuth.encodeAccessToken(username, password);
|
|
104
|
-
const updatedData = {
|
|
105
|
-
...data,
|
|
106
|
-
access_token: updatedAccessToken,
|
|
107
|
-
};
|
|
108
|
-
|
|
109
|
-
const response = await this.keyValueStorage.setValueByKey(this.serviceName, this.authKey, updatedData);
|
|
110
|
-
|
|
111
|
-
const updatedRecord = response.value;
|
|
112
|
-
return updatedRecord as BasicAuthData;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
/**
|
|
116
|
-
* Returns authorization data
|
|
117
|
-
*/
|
|
118
|
-
public async getAuthData(): Promise<BasicAuthData> {
|
|
119
|
-
const { value } = await this.keyValueStorage.getValueByKey(this.serviceName, encodeURIComponent(this.authKey));
|
|
120
|
-
return value as BasicAuthData;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
/**
|
|
124
|
-
* Deletes authorization from collection
|
|
125
|
-
*/
|
|
126
|
-
public async delete(): Promise<void> {
|
|
127
|
-
await this.keyValueStorage.deleteKey(this.serviceName, encodeURIComponent(this.authKey));
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
|
package/src/Token/TokenAuth.ts
DELETED
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import { KeyValueStorage } from '@or-sdk/key-value-storage';
|
|
2
|
-
import { v4 as uuidv4 } from 'uuid';
|
|
3
|
-
|
|
4
|
-
import { createAuthKey } from './utils/createAuthKey';
|
|
5
|
-
|
|
6
|
-
import { TokenAuthConfig, TokenAuthData, CreateTokenAuthConfig } from './types';
|
|
7
|
-
|
|
8
|
-
export class TokenAuth {
|
|
9
|
-
private readonly authKey: string;
|
|
10
|
-
private readonly serviceName: string;
|
|
11
|
-
private readonly keyValueStorage: KeyValueStorage;
|
|
12
|
-
|
|
13
|
-
constructor(params: TokenAuthConfig) {
|
|
14
|
-
const { token, discoveryUrl, authKey, serviceName } = params;
|
|
15
|
-
|
|
16
|
-
this.authKey = authKey;
|
|
17
|
-
this.serviceName = serviceName;
|
|
18
|
-
this.keyValueStorage = new KeyValueStorage({
|
|
19
|
-
token,
|
|
20
|
-
discoveryUrl,
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Creates a new auth record in specified collection with the given config.
|
|
26
|
-
* @returns TokenAuth instance connected to created auth
|
|
27
|
-
*
|
|
28
|
-
* ```typescript
|
|
29
|
-
* const instance = await TokenAuth.create({
|
|
30
|
-
* token: 'my-account-token-string',
|
|
31
|
-
* discoveryUrl: 'discovery.example.onereach.ai',
|
|
32
|
-
* serviceName: '__authorization_service_test_service',
|
|
33
|
-
* authName: 'my-auth-name',
|
|
34
|
-
* credentials: {
|
|
35
|
-
* token: 'secrettoken'
|
|
36
|
-
* }
|
|
37
|
-
* });
|
|
38
|
-
* ```
|
|
39
|
-
*/
|
|
40
|
-
static async create(params: CreateTokenAuthConfig): Promise<TokenAuth> {
|
|
41
|
-
if (!(params.serviceName && params.authName && params.credentials && params.discoveryUrl && params.token)) {
|
|
42
|
-
throw new Error('Invalid config passed');
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
const { serviceName, authName, credentials, discoveryUrl, token } = params;
|
|
46
|
-
|
|
47
|
-
const keyValueStorage = new KeyValueStorage({
|
|
48
|
-
token,
|
|
49
|
-
discoveryUrl,
|
|
50
|
-
});
|
|
51
|
-
|
|
52
|
-
const id = uuidv4();
|
|
53
|
-
const authKey = createAuthKey(id, authName);
|
|
54
|
-
|
|
55
|
-
const authData = {
|
|
56
|
-
...credentials,
|
|
57
|
-
auth_name: authName,
|
|
58
|
-
date_created: new Date().toISOString(),
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
await keyValueStorage.setValueByKey(serviceName, authKey, authData);
|
|
62
|
-
|
|
63
|
-
return new TokenAuth({
|
|
64
|
-
serviceName,
|
|
65
|
-
authKey,
|
|
66
|
-
discoveryUrl,
|
|
67
|
-
token,
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* Updates credentials
|
|
73
|
-
*/
|
|
74
|
-
public async update(newCredentials: Record<string, unknown>): Promise<TokenAuthData> {
|
|
75
|
-
const data = await this.getAuthData();
|
|
76
|
-
|
|
77
|
-
const updatedData = {
|
|
78
|
-
...data,
|
|
79
|
-
...newCredentials,
|
|
80
|
-
};
|
|
81
|
-
|
|
82
|
-
const response = await this.keyValueStorage.setValueByKey(this.serviceName, this.authKey, updatedData);
|
|
83
|
-
|
|
84
|
-
const updatedRecord = response.value;
|
|
85
|
-
return updatedRecord as TokenAuthData;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
* Returns authorization data
|
|
90
|
-
*/
|
|
91
|
-
public async getAuthData(): Promise<TokenAuthData> {
|
|
92
|
-
const { value } = await this.keyValueStorage.getValueByKey(this.serviceName, encodeURIComponent(this.authKey));
|
|
93
|
-
return value as TokenAuthData;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
/**
|
|
97
|
-
* Deletes authorization from collection
|
|
98
|
-
*/
|
|
99
|
-
public async delete(): Promise<void> {
|
|
100
|
-
await this.keyValueStorage.deleteKey(this.serviceName, encodeURIComponent(this.authKey));
|
|
101
|
-
}
|
|
102
|
-
}
|