@or-sdk/authorizer 0.25.0-beta.990.0 → 0.25.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/CHANGELOG.md +317 -0
- package/README.md +12 -32
- package/dist/cjs/Basic/BasicCollection.js +166 -26
- package/dist/cjs/Basic/BasicCollection.js.map +1 -1
- package/dist/cjs/Basic/utils/createAuthKey.js +4 -0
- package/dist/cjs/Basic/utils/createAuthKey.js.map +1 -1
- package/dist/cjs/OAuth/OAuth.js +92 -138
- package/dist/cjs/OAuth/OAuth.js.map +1 -1
- package/dist/cjs/OAuth/index.js +1 -3
- package/dist/cjs/OAuth/index.js.map +1 -1
- package/dist/cjs/OAuth/types.js +1 -1
- package/dist/cjs/OAuth/types.js.map +1 -1
- package/dist/cjs/OAuth/utils/ServiceDefinition.js.map +1 -1
- package/dist/cjs/OAuth/utils/createAuthKey.js +4 -0
- package/dist/cjs/OAuth/utils/createAuthKey.js.map +1 -1
- package/dist/cjs/OAuth/utils/createOAuthHelper.js +379 -0
- package/dist/cjs/OAuth/utils/createOAuthHelper.js.map +1 -0
- package/dist/cjs/OAuth/utils/formatScope.js.map +1 -1
- package/dist/cjs/{OAuth → OAuthCollection}/OAuthCollection.js +132 -28
- package/dist/cjs/OAuthCollection/OAuthCollection.js.map +1 -0
- package/dist/cjs/OAuthCollection/index.js +21 -0
- package/dist/cjs/OAuthCollection/index.js.map +1 -0
- package/dist/cjs/Token/TokenCollection.js +166 -21
- package/dist/cjs/Token/TokenCollection.js.map +1 -1
- package/dist/cjs/Token/utils/createAuthKey.js +4 -0
- package/dist/cjs/Token/utils/createAuthKey.js.map +1 -1
- package/dist/cjs/constants.js +3 -2
- package/dist/cjs/constants.js.map +1 -1
- package/dist/cjs/index.js +2 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/Basic/BasicCollection.js +115 -17
- package/dist/esm/Basic/BasicCollection.js.map +1 -1
- package/dist/esm/Basic/utils/createAuthKey.js +3 -0
- package/dist/esm/Basic/utils/createAuthKey.js.map +1 -1
- package/dist/esm/OAuth/OAuth.js +56 -115
- package/dist/esm/OAuth/OAuth.js.map +1 -1
- package/dist/esm/OAuth/index.js +0 -1
- package/dist/esm/OAuth/index.js.map +1 -1
- package/dist/esm/OAuth/types.js.map +1 -1
- package/dist/esm/OAuth/utils/ServiceDefinition.js.map +1 -1
- package/dist/esm/OAuth/utils/createAuthKey.js +3 -0
- package/dist/esm/OAuth/utils/createAuthKey.js.map +1 -1
- package/dist/esm/OAuth/utils/createOAuthHelper.js +262 -0
- package/dist/esm/OAuth/utils/createOAuthHelper.js.map +1 -0
- package/dist/esm/OAuth/utils/formatScope.js.map +1 -1
- package/dist/esm/OAuthCollection/OAuthCollection.js +190 -0
- package/dist/esm/OAuthCollection/OAuthCollection.js.map +1 -0
- package/dist/esm/OAuthCollection/index.js +3 -0
- package/dist/esm/OAuthCollection/index.js.map +1 -0
- package/dist/esm/Token/TokenCollection.js +115 -12
- package/dist/esm/Token/TokenCollection.js.map +1 -1
- package/dist/esm/Token/utils/createAuthKey.js +3 -0
- package/dist/esm/Token/utils/createAuthKey.js.map +1 -1
- package/dist/esm/constants.js +1 -0
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/types/Basic/BasicCollection.d.ts +6 -4
- package/dist/types/Basic/BasicCollection.d.ts.map +1 -1
- package/dist/types/Basic/types.d.ts +20 -11
- package/dist/types/Basic/types.d.ts.map +1 -1
- package/dist/types/Basic/utils/createAuthKey.d.ts +1 -0
- package/dist/types/Basic/utils/createAuthKey.d.ts.map +1 -1
- package/dist/types/OAuth/OAuth.d.ts +8 -5
- package/dist/types/OAuth/OAuth.d.ts.map +1 -1
- package/dist/types/OAuth/index.d.ts +0 -1
- package/dist/types/OAuth/index.d.ts.map +1 -1
- package/dist/types/OAuth/types.d.ts +95 -19
- package/dist/types/OAuth/types.d.ts.map +1 -1
- package/dist/types/OAuth/utils/createAuthKey.d.ts +1 -0
- package/dist/types/OAuth/utils/createAuthKey.d.ts.map +1 -1
- package/dist/types/OAuth/utils/createOAuthHelper.d.ts +33 -0
- package/dist/types/OAuth/utils/createOAuthHelper.d.ts.map +1 -0
- package/dist/types/OAuthCollection/OAuthCollection.d.ts +27 -0
- package/dist/types/OAuthCollection/OAuthCollection.d.ts.map +1 -0
- package/dist/types/OAuthCollection/index.d.ts +3 -0
- package/dist/types/OAuthCollection/index.d.ts.map +1 -0
- package/dist/types/Token/TokenCollection.d.ts +5 -2
- package/dist/types/Token/TokenCollection.d.ts.map +1 -1
- package/dist/types/Token/types.d.ts +19 -5
- package/dist/types/Token/types.d.ts.map +1 -1
- package/dist/types/Token/utils/createAuthKey.d.ts +1 -0
- package/dist/types/Token/utils/createAuthKey.d.ts.map +1 -1
- package/dist/types/constants.d.ts +1 -0
- package/dist/types/constants.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +32 -26
- package/src/Basic/BasicCollection.ts +170 -18
- package/src/Basic/types.ts +17 -14
- package/src/Basic/utils/createAuthKey.ts +4 -0
- package/src/OAuth/OAuth.ts +111 -195
- package/src/OAuth/index.ts +0 -1
- package/src/OAuth/types.ts +171 -15
- package/src/OAuth/utils/createAuthKey.ts +8 -0
- package/src/OAuth/utils/createOAuthHelper.ts +374 -0
- package/src/OAuthCollection/OAuthCollection.ts +348 -0
- package/src/OAuthCollection/index.ts +3 -0
- package/src/Token/TokenCollection.ts +174 -16
- package/src/Token/types.ts +15 -0
- package/src/Token/utils/createAuthKey.ts +4 -0
- package/src/constants.ts +1 -0
- package/src/index.ts +2 -1
- package/dist/cjs/OAuth/OAuthCollection.js.map +0 -1
- package/dist/esm/OAuth/OAuthCollection.js +0 -120
- package/dist/esm/OAuth/OAuthCollection.js.map +0 -1
- package/dist/types/OAuth/OAuthCollection.d.ts +0 -21
- package/dist/types/OAuth/OAuthCollection.d.ts.map +0 -1
- package/src/OAuth/OAuthCollection.ts +0 -206
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OAuthCollection.js","sourceRoot":"","sources":["../../../src/OAuth/OAuthCollection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,120 +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 { makeList } from '@or-sdk/base';
|
|
11
|
-
import { KeyValueStorage } from '@or-sdk/key-value-storage';
|
|
12
|
-
import { Providers } from '@or-sdk/providers';
|
|
13
|
-
import { OAuth } from './OAuth';
|
|
14
|
-
export class OAuthCollection {
|
|
15
|
-
constructor(params) {
|
|
16
|
-
const { token, discoveryUrl, accountId, serviceName, keyValueCollection } = params;
|
|
17
|
-
this.token = token;
|
|
18
|
-
this.accountId = accountId;
|
|
19
|
-
this.discoveryUrl = discoveryUrl;
|
|
20
|
-
this.serviceName = serviceName || '';
|
|
21
|
-
this.keyValueCollection = keyValueCollection || serviceName || '';
|
|
22
|
-
this.keyValueStorage = new KeyValueStorage({
|
|
23
|
-
token,
|
|
24
|
-
discoveryUrl,
|
|
25
|
-
accountId,
|
|
26
|
-
});
|
|
27
|
-
this.providers = new Providers({
|
|
28
|
-
token,
|
|
29
|
-
discoveryUrl,
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
init(params) {
|
|
33
|
-
const { serviceName, keyValueCollection } = params;
|
|
34
|
-
this.serviceName = serviceName || this.serviceName;
|
|
35
|
-
this.keyValueCollection = keyValueCollection || this.keyValueCollection || this.serviceName;
|
|
36
|
-
if (!this.serviceName) {
|
|
37
|
-
throw new Error('Service Name is required.');
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
listAuthorizations() {
|
|
41
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
42
|
-
const { items: records } = yield this.keyValueStorage.listKeys(this.keyValueCollection || '');
|
|
43
|
-
return makeList(records.map((record) => record.key).filter(key => key.includes('::oauth')));
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
listOAuthApps() {
|
|
47
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
48
|
-
const appsStorageRecord = yield this.keyValueStorage.getValueByKey(this.keyValueCollection, '__authorizer_apps');
|
|
49
|
-
if (!appsStorageRecord.value) {
|
|
50
|
-
return makeList([]);
|
|
51
|
-
}
|
|
52
|
-
const appsRecords = appsStorageRecord.value;
|
|
53
|
-
return makeList(appsRecords.map((record) => (Object.assign({ name: record.label }, record.value))));
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
getAuthorization(key) {
|
|
57
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
58
|
-
if (!key.includes('::oauth'))
|
|
59
|
-
throw new Error('The OAuth authorization key should contain "oauth" type specifier.');
|
|
60
|
-
const record = yield this.keyValueStorage.getValueByKey(this.keyValueCollection, encodeURIComponent(key));
|
|
61
|
-
if (!record.value) {
|
|
62
|
-
throw new Error('This authorization does not exist');
|
|
63
|
-
}
|
|
64
|
-
return new OAuth({
|
|
65
|
-
serviceName: this.serviceName,
|
|
66
|
-
keyValueCollection: this.keyValueCollection,
|
|
67
|
-
authKey: key,
|
|
68
|
-
discoveryUrl: this.discoveryUrl,
|
|
69
|
-
token: this.token,
|
|
70
|
-
});
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
createAuthorization(params) {
|
|
74
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
75
|
-
return yield OAuth.create({
|
|
76
|
-
appId: params.appId,
|
|
77
|
-
scope: params.scope,
|
|
78
|
-
authName: params.authName,
|
|
79
|
-
token: this.token,
|
|
80
|
-
accountId: this.accountId,
|
|
81
|
-
serviceName: this.serviceName,
|
|
82
|
-
discoveryUrl: this.discoveryUrl,
|
|
83
|
-
keyValueCollection: this.keyValueCollection,
|
|
84
|
-
});
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
listPredefinedServices() {
|
|
88
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
89
|
-
const globalServices = yield this.providers.makeRequest({
|
|
90
|
-
method: 'GET',
|
|
91
|
-
route: 'authorizer/services/list',
|
|
92
|
-
params: {
|
|
93
|
-
type: 'list',
|
|
94
|
-
},
|
|
95
|
-
});
|
|
96
|
-
const globalServicesList = Object.keys(globalServices).map(record => {
|
|
97
|
-
const label = record.split('__authorization_service_')[1]
|
|
98
|
-
.replace(/_/g, ' ');
|
|
99
|
-
const value = globalServices[record];
|
|
100
|
-
return {
|
|
101
|
-
label,
|
|
102
|
-
value,
|
|
103
|
-
};
|
|
104
|
-
});
|
|
105
|
-
const localServices = yield this.keyValueStorage.listKeys('__authorization_service_predefined_services_local', undefined, true);
|
|
106
|
-
const localServicesList = localServices.items.map(el => {
|
|
107
|
-
const label = el.key
|
|
108
|
-
.split('__authorization_service_')[1]
|
|
109
|
-
.replace(/_/g, ' ') + ' (local)';
|
|
110
|
-
const value = el.value;
|
|
111
|
-
return {
|
|
112
|
-
label,
|
|
113
|
-
value,
|
|
114
|
-
};
|
|
115
|
-
});
|
|
116
|
-
return [...globalServicesList, ...localServicesList];
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
//# sourceMappingURL=OAuthCollection.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OAuthCollection.js","sourceRoot":"","sources":["../../../src/OAuth/OAuthCollection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { List } from '@or-sdk/base';
|
|
2
|
-
import { OAuth } from './OAuth';
|
|
3
|
-
import { CreateOAuthInCollectionConfig, CreateOAuthResult, OAuthCollectionConfig, OAuthApp, OAuthCollectionInitConfig } from './types';
|
|
4
|
-
export declare class OAuthCollection {
|
|
5
|
-
private readonly token;
|
|
6
|
-
private readonly providers;
|
|
7
|
-
private readonly discoveryUrl;
|
|
8
|
-
private readonly accountId;
|
|
9
|
-
private providersAccountId;
|
|
10
|
-
private keyValueCollection;
|
|
11
|
-
private keyValueStorage;
|
|
12
|
-
private serviceName;
|
|
13
|
-
constructor(params: OAuthCollectionConfig);
|
|
14
|
-
init(params: OAuthCollectionInitConfig): void;
|
|
15
|
-
listAuthorizations(): Promise<List<string>>;
|
|
16
|
-
listOAuthApps(): Promise<List<OAuthApp>>;
|
|
17
|
-
getAuthorization(key: string): Promise<OAuth>;
|
|
18
|
-
createAuthorization(params: CreateOAuthInCollectionConfig): Promise<CreateOAuthResult>;
|
|
19
|
-
listPredefinedServices(): Promise<Record<string, unknown>[]>;
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=OAuthCollection.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OAuthCollection.d.ts","sourceRoot":"","sources":["../../../src/OAuth/OAuthCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,IAAI,EAAY,MAAM,cAAc,CAAC;AAGrD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,OAAO,EACL,6BAA6B,EAC7B,iBAAiB,EACjB,qBAAqB,EACrB,QAAQ,EACR,yBAAyB,EAC1B,MAAM,SAAS,CAAC;AAEjB,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAC/C,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,WAAW,CAAS;gBAEhB,MAAM,EAAE,qBAAqB;IAyBlC,IAAI,CAAC,MAAM,EAAE,yBAAyB,GAAG,IAAI;IAevC,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAW3C,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAyBxC,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IA0C7C,mBAAmB,CAC9B,MAAM,EAAE,6BAA6B,GACpC,OAAO,CAAC,iBAAiB,CAAC;IAiBhB,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;CA6C1E"}
|
|
@@ -1,206 +0,0 @@
|
|
|
1
|
-
import { Token, List, makeList } from '@or-sdk/base';
|
|
2
|
-
import { KeyValueStorage } from '@or-sdk/key-value-storage';
|
|
3
|
-
import { Providers } from '@or-sdk/providers';
|
|
4
|
-
import { OAuth } from './OAuth';
|
|
5
|
-
|
|
6
|
-
import {
|
|
7
|
-
CreateOAuthInCollectionConfig,
|
|
8
|
-
CreateOAuthResult,
|
|
9
|
-
OAuthCollectionConfig,
|
|
10
|
-
OAuthApp,
|
|
11
|
-
OAuthCollectionInitConfig,
|
|
12
|
-
} from './types';
|
|
13
|
-
|
|
14
|
-
export class OAuthCollection {
|
|
15
|
-
private readonly token: Token;
|
|
16
|
-
private readonly providers: Providers;
|
|
17
|
-
private readonly discoveryUrl: string;
|
|
18
|
-
private readonly accountId: string | undefined;
|
|
19
|
-
private providersAccountId: string | undefined;
|
|
20
|
-
private keyValueCollection: string;
|
|
21
|
-
private keyValueStorage: KeyValueStorage;
|
|
22
|
-
private serviceName: string;
|
|
23
|
-
|
|
24
|
-
constructor(params: OAuthCollectionConfig) {
|
|
25
|
-
const { token, discoveryUrl, accountId, serviceName, keyValueCollection } = params;
|
|
26
|
-
|
|
27
|
-
this.token = token;
|
|
28
|
-
this.accountId = accountId;
|
|
29
|
-
this.discoveryUrl = discoveryUrl;
|
|
30
|
-
this.serviceName = serviceName || '';
|
|
31
|
-
this.keyValueCollection = keyValueCollection || serviceName || '';
|
|
32
|
-
|
|
33
|
-
this.keyValueStorage = new KeyValueStorage({
|
|
34
|
-
token,
|
|
35
|
-
discoveryUrl,
|
|
36
|
-
accountId,
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
this.providers = new Providers({
|
|
40
|
-
token,
|
|
41
|
-
discoveryUrl,
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* Allows to explicitly (re)initialize collection parameters
|
|
48
|
-
*/
|
|
49
|
-
public init(params: OAuthCollectionInitConfig): void {
|
|
50
|
-
const { serviceName, keyValueCollection } = params;
|
|
51
|
-
|
|
52
|
-
this.serviceName = serviceName || this.serviceName;
|
|
53
|
-
this.keyValueCollection = keyValueCollection || this.keyValueCollection || this.serviceName;
|
|
54
|
-
|
|
55
|
-
if (!this.serviceName) {
|
|
56
|
-
throw new Error('Service Name is required.');
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Returns array of auth keys from this collection
|
|
63
|
-
*/
|
|
64
|
-
public async listAuthorizations(): Promise<List<string>> {
|
|
65
|
-
const { items: records } = await this.keyValueStorage.listKeys(
|
|
66
|
-
this.keyValueCollection || ''
|
|
67
|
-
);
|
|
68
|
-
|
|
69
|
-
return makeList<string>(records.map((record) => record.key).filter(key => key.includes('::oauth')));
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* Returns array of OAuth applications for this service
|
|
74
|
-
*/
|
|
75
|
-
public async listOAuthApps(): Promise<List<OAuthApp>> {
|
|
76
|
-
const appsStorageRecord = await this.keyValueStorage.getValueByKey(
|
|
77
|
-
this.keyValueCollection,
|
|
78
|
-
'__authorizer_apps'
|
|
79
|
-
);
|
|
80
|
-
|
|
81
|
-
if (!appsStorageRecord.value) {
|
|
82
|
-
return makeList<OAuthApp>([]);
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
const appsRecords = appsStorageRecord.value as Array<{
|
|
86
|
-
label: string;
|
|
87
|
-
value: Omit<OAuthApp, 'name'>;
|
|
88
|
-
}>;
|
|
89
|
-
|
|
90
|
-
return makeList<OAuthApp>(appsRecords.map((record) => ({
|
|
91
|
-
name: record.label,
|
|
92
|
-
...record.value,
|
|
93
|
-
})));
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
/**
|
|
98
|
-
* Returns OAuth instance for given key
|
|
99
|
-
*/
|
|
100
|
-
public async getAuthorization(key: string): Promise<OAuth> {
|
|
101
|
-
if (!key.includes('::oauth')) throw new Error('The OAuth authorization key should contain "oauth" type specifier.');
|
|
102
|
-
const record = await this.keyValueStorage.getValueByKey(
|
|
103
|
-
this.keyValueCollection,
|
|
104
|
-
encodeURIComponent(key)
|
|
105
|
-
);
|
|
106
|
-
if (!record.value) {
|
|
107
|
-
throw new Error('This authorization does not exist');
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
return new OAuth({
|
|
111
|
-
serviceName: this.serviceName,
|
|
112
|
-
keyValueCollection: this.keyValueCollection,
|
|
113
|
-
authKey: key,
|
|
114
|
-
discoveryUrl: this.discoveryUrl,
|
|
115
|
-
token: this.token,
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
/**
|
|
121
|
-
* Creates a new auth record in current collection with the given config.
|
|
122
|
-
* @returns Object with OAuth instance connected to created auth and authorizerUrl to redirect the user to for completing authorization
|
|
123
|
-
*
|
|
124
|
-
* ```typescript
|
|
125
|
-
* const {
|
|
126
|
-
* authorizeUrl, // redirect user to this url for completing authorization
|
|
127
|
-
* instance // new instance
|
|
128
|
-
* } = await oAuthCollectionInstance.createAuthorization({
|
|
129
|
-
* authName: 'my-auth-name',
|
|
130
|
-
* appId: 'my-app-id',
|
|
131
|
-
* });
|
|
132
|
-
*
|
|
133
|
-
* // if you want to use returned instance, you must call a method that returns a promise that will be resolved when the user completes authorization process
|
|
134
|
-
* // if not, you can omit this step
|
|
135
|
-
* try {
|
|
136
|
-
* await instance.waitForCompletion()
|
|
137
|
-
* } catch (e) {
|
|
138
|
-
* // will be called if the user does not complete authorization within 5 minutes
|
|
139
|
-
* }
|
|
140
|
-
* ```
|
|
141
|
-
*/
|
|
142
|
-
public async createAuthorization(
|
|
143
|
-
params: CreateOAuthInCollectionConfig,
|
|
144
|
-
): Promise<CreateOAuthResult> {
|
|
145
|
-
return await OAuth.create({
|
|
146
|
-
appId: params.appId,
|
|
147
|
-
scope: params.scope,
|
|
148
|
-
authName: params.authName,
|
|
149
|
-
token: this.token,
|
|
150
|
-
accountId: this.accountId,
|
|
151
|
-
serviceName: this.serviceName,
|
|
152
|
-
discoveryUrl: this.discoveryUrl,
|
|
153
|
-
keyValueCollection: this.keyValueCollection,
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
/**
|
|
159
|
-
* Returns a list of predefined OAuth Services
|
|
160
|
-
*/
|
|
161
|
-
public async listPredefinedServices(): Promise<Record<string, unknown>[]> {
|
|
162
|
-
|
|
163
|
-
const globalServices = await this.providers.makeRequest({
|
|
164
|
-
method: 'GET',
|
|
165
|
-
route: 'authorizer/services/list',
|
|
166
|
-
params: {
|
|
167
|
-
type: 'list',
|
|
168
|
-
},
|
|
169
|
-
}) as Record<string, unknown>;
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
const globalServicesList = Object.keys(globalServices).map(record => {
|
|
173
|
-
const label = record.split('__authorization_service_')[1]
|
|
174
|
-
.replace(/_/g, ' ');
|
|
175
|
-
|
|
176
|
-
const value = globalServices[record];
|
|
177
|
-
|
|
178
|
-
return {
|
|
179
|
-
label,
|
|
180
|
-
value,
|
|
181
|
-
};
|
|
182
|
-
}) as Record<string, unknown>[];
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
const localServices = await this.keyValueStorage.listKeys(
|
|
186
|
-
'__authorization_service_predefined_services_local',
|
|
187
|
-
undefined,
|
|
188
|
-
true
|
|
189
|
-
) as unknown as Record<string, Record<string, string>[]>;
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
const localServicesList = localServices.items.map(el => {
|
|
193
|
-
const label = el.key
|
|
194
|
-
.split('__authorization_service_')[1]
|
|
195
|
-
.replace(/_/g, ' ') + ' (local)';
|
|
196
|
-
|
|
197
|
-
const value = el.value;
|
|
198
|
-
return {
|
|
199
|
-
label,
|
|
200
|
-
value,
|
|
201
|
-
};
|
|
202
|
-
});
|
|
203
|
-
|
|
204
|
-
return [...globalServicesList, ...localServicesList];
|
|
205
|
-
}
|
|
206
|
-
}
|