@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
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { CreateOAuthConfig } from './../types';
|
|
2
|
+
export default class OAuthCreator {
|
|
3
|
+
private params;
|
|
4
|
+
private app;
|
|
5
|
+
private authKey;
|
|
6
|
+
private service;
|
|
7
|
+
private readonly keyValueStorage;
|
|
8
|
+
private readonly providers;
|
|
9
|
+
constructor(params: CreateOAuthConfig);
|
|
10
|
+
getOAuthParams(): Promise<{
|
|
11
|
+
oAuthParams: {
|
|
12
|
+
accountId: string | undefined;
|
|
13
|
+
authKey: string;
|
|
14
|
+
authName: string;
|
|
15
|
+
discoveryUrl: string;
|
|
16
|
+
dynamicCollection: string | undefined;
|
|
17
|
+
eventManagerUrl: string | undefined;
|
|
18
|
+
providersAccountId: string | undefined;
|
|
19
|
+
serviceName: string;
|
|
20
|
+
token: import("@or-sdk/base").Token;
|
|
21
|
+
};
|
|
22
|
+
authorizeUrl: string;
|
|
23
|
+
}>;
|
|
24
|
+
private validateInput;
|
|
25
|
+
private resolveDiscoveryParams;
|
|
26
|
+
private getAppAndService;
|
|
27
|
+
private resolveReauthParams;
|
|
28
|
+
private getAuthKey;
|
|
29
|
+
private saveTempData;
|
|
30
|
+
private formAuthUrl;
|
|
31
|
+
private saveToDynamicCollection;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=createOAuthHelper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createOAuthHelper.d.ts","sourceRoot":"","sources":["../../../../src/OAuth/utils/createOAuthHelper.ts"],"names":[],"mappings":"AAOA,OAAO,EAEL,iBAAiB,EAIlB,MAAM,YAAY,CAAC;AAcpB,MAAM,CAAC,OAAO,OAAO,YAAY;IAC/B,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,GAAG,CAAuB;IAClC,OAAO,CAAC,OAAO,CAAM;IACrB,OAAO,CAAC,OAAO,CAAgC;IAC/C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;gBAE1B,MAAM,EAAE,iBAAiB;IAkBxB,cAAc;;;;;;;;;;;;;;IAuC3B,OAAO,CAAC,aAAa;YAoCP,sBAAsB;YA8BtB,gBAAgB;YAiDhB,mBAAmB;IAqBjC,OAAO,CAAC,UAAU;YAyBJ,YAAY;IAqD1B,OAAO,CAAC,WAAW;YAsCL,uBAAuB;CA6BtC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { List } from '@or-sdk/base';
|
|
2
|
+
import { OAuth } from '../OAuth/OAuth';
|
|
3
|
+
import { CreateOAuthInCollectionConfig, CreateOAuthResult, OAuthCollectionConfig, OAuthApp, OAuthCollectionInitConfig, OAuthService } from '../OAuth/types';
|
|
4
|
+
export declare class OAuthCollection {
|
|
5
|
+
private readonly token;
|
|
6
|
+
private readonly providers;
|
|
7
|
+
private readonly discoveryUrl;
|
|
8
|
+
private readonly accountId;
|
|
9
|
+
private readonly sdkUrl;
|
|
10
|
+
private readonly eventManagerUrl;
|
|
11
|
+
private readonly providersAccountId;
|
|
12
|
+
private readonly crossAccount;
|
|
13
|
+
private keyValueCollection;
|
|
14
|
+
private keyValueStorage;
|
|
15
|
+
private serviceName;
|
|
16
|
+
constructor(params: OAuthCollectionConfig);
|
|
17
|
+
init(params: OAuthCollectionInitConfig): void;
|
|
18
|
+
listAuthorizations(dynamicCollection?: string): Promise<List<string>>;
|
|
19
|
+
listOAuthApps(): Promise<List<OAuthApp>>;
|
|
20
|
+
getAuthorization(key: string, dynamicCollection?: string): Promise<OAuth>;
|
|
21
|
+
createAuthorization(params: CreateOAuthInCollectionConfig): Promise<CreateOAuthResult>;
|
|
22
|
+
listPredefinedServices(): Promise<Record<string, unknown>[]>;
|
|
23
|
+
defineService(params: Omit<OAuthService, 'serviceName'>): Promise<void>;
|
|
24
|
+
createDynamicCollection(dynamicCollectionName: string): Promise<void>;
|
|
25
|
+
deleteDynamicCollection(dynamicCollectionName: string): Promise<void>;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=OAuthCollection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OAuthCollection.d.ts","sourceRoot":"","sources":["../../../src/OAuthCollection/OAuthCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,IAAI,EAAY,MAAM,cAAc,CAAC;AAGrD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,OAAO,EACL,6BAA6B,EAC7B,iBAAiB,EACjB,qBAAqB,EACrB,QAAQ,EACR,yBAAyB,EAEzB,YAAY,EACb,MAAM,gBAAgB,CAAC;AAExB,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,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;IACrD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IACxD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;IACvC,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,WAAW,CAAS;gBAEhB,MAAM,EAAE,qBAAqB;IA0ClC,IAAI,CAAC,MAAM,EAAE,yBAAyB,GAAG,IAAI;IAevC,kBAAkB,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAcrE,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAyBxC,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAsFzE,mBAAmB,CAC9B,MAAM,EAAE,6BAA6B,GACpC,OAAO,CAAC,iBAAiB,CAAC;IAoBhB,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAkD5D,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBvE,uBAAuB,CAAC,qBAAqB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BrE,uBAAuB,CAAC,qBAAqB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAoBnF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/OAuthCollection/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,cAAc,gBAAgB,CAAC"}
|
|
@@ -3,12 +3,15 @@ import { TokenCollectionConfig, CreateTokenAuthInCollectionConfig, TokenAuthData
|
|
|
3
3
|
export declare class TokenCollection {
|
|
4
4
|
private serviceName;
|
|
5
5
|
private readonly keyValueStorage;
|
|
6
|
+
private readonly providers;
|
|
6
7
|
constructor(params: TokenCollectionConfig);
|
|
7
8
|
init(serviceName: string): void;
|
|
8
|
-
listAuthorizations(): Promise<List<string>>;
|
|
9
|
-
getAuthorization(key: string): Promise<TokenAuthData>;
|
|
9
|
+
listAuthorizations(dynamicCollectionName?: string): Promise<List<string>>;
|
|
10
|
+
getAuthorization(key: string, dynamicCollectionName: string): Promise<TokenAuthData>;
|
|
10
11
|
createAuthorization(params: CreateTokenAuthInCollectionConfig): Promise<TokenAuthData>;
|
|
11
12
|
updateAuthorization(tokenAuth: TokenAuthData, newCredentials: Record<string, unknown>): Promise<TokenAuthData>;
|
|
12
13
|
deleteAuthorization(key: string): Promise<void>;
|
|
14
|
+
createDynamicCollection(dynamicCollectionName: string): Promise<void>;
|
|
15
|
+
deleteDynamicCollection(dynamicCollectionName: string): Promise<void>;
|
|
13
16
|
}
|
|
14
17
|
//# sourceMappingURL=TokenCollection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenCollection.d.ts","sourceRoot":"","sources":["../../../src/Token/TokenCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,IAAI,EAAE,MAAM,cAAc,CAAC;AAK9C,OAAO,EACL,qBAAqB,EACrB,iCAAiC,EACjC,aAAa,
|
|
1
|
+
{"version":3,"file":"TokenCollection.d.ts","sourceRoot":"","sources":["../../../src/Token/TokenCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,IAAI,EAAE,MAAM,cAAc,CAAC;AAK9C,OAAO,EACL,qBAAqB,EACrB,iCAAiC,EACjC,aAAa,EAEd,MAAM,SAAS,CAAC;AAIjB,qBAAa,eAAe;IAC1B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;gBAE1B,MAAM,EAAE,qBAAqB;IAoBlC,IAAI,CAAC,WAAW,EAAE,MAAM;IAUlB,kBAAkB,CAAC,qBAAqB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAWzE,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAgDpF,mBAAmB,CAC9B,MAAM,EAAE,iCAAiC,GACxC,OAAO,CAAC,aAAa,CAAC;IA0EZ,mBAAmB,CAC9B,SAAS,EAAE,aAAa,EACxB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACtC,OAAO,CAAC,aAAa,CAAC;IAgCZ,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiC/C,uBAAuB,CAAC,qBAAqB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BrE,uBAAuB,CAAC,qBAAqB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAuBnF"}
|
|
@@ -1,28 +1,42 @@
|
|
|
1
1
|
import { Token } from '@or-sdk/base';
|
|
2
|
-
export
|
|
2
|
+
export type TokenAuthConfig = {
|
|
3
3
|
token: Token;
|
|
4
4
|
discoveryUrl: string;
|
|
5
5
|
serviceName: string;
|
|
6
6
|
authKey: string;
|
|
7
7
|
};
|
|
8
|
-
export
|
|
8
|
+
export type TokenAuthData = {
|
|
9
9
|
auth_name: string;
|
|
10
10
|
key: string;
|
|
11
11
|
date_created: string;
|
|
12
12
|
[credentialKey: string]: string;
|
|
13
13
|
};
|
|
14
|
-
export
|
|
14
|
+
export type CreateTokenAuthConfig = {
|
|
15
15
|
serviceName: string;
|
|
16
16
|
authName: string;
|
|
17
17
|
credentials: Record<string, unknown>;
|
|
18
18
|
token: Token;
|
|
19
19
|
discoveryUrl: string;
|
|
20
|
+
dynamicCollection?: string;
|
|
21
|
+
destinationAccount: 'CURRENT' | 'PROVIDER' | 'CUSTOM';
|
|
22
|
+
customAccountId?: string;
|
|
20
23
|
};
|
|
21
|
-
export
|
|
22
|
-
export
|
|
24
|
+
export type CreateTokenAuthInCollectionConfig = Omit<CreateTokenAuthConfig, 'serviceName' | 'discoveryUrl' | 'token'>;
|
|
25
|
+
export type TokenCollectionConfig = {
|
|
23
26
|
token: Token;
|
|
24
27
|
discoveryUrl: string;
|
|
25
28
|
serviceName: string;
|
|
26
29
|
accountId?: string;
|
|
27
30
|
};
|
|
31
|
+
export type TokenDynamicCollection = {
|
|
32
|
+
name: string;
|
|
33
|
+
type: string;
|
|
34
|
+
service: string;
|
|
35
|
+
serviceConfigName: string;
|
|
36
|
+
authorizations: {
|
|
37
|
+
[key: string]: string;
|
|
38
|
+
};
|
|
39
|
+
appId?: string;
|
|
40
|
+
scope?: string;
|
|
41
|
+
};
|
|
28
42
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/Token/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/Token/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC,MAAM,MAAM,eAAe,GAAG;IAI5B,KAAK,EAAE,KAAK,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IAIZ,YAAY,EAAE,MAAM,CAAC;IAKrB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IAKjB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAKrC,KAAK,EAAE,KAAK,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;IACtD,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG,IAAI,CAAC,qBAAqB,EAAE,aAAa,GAAG,cAAc,GAAG,OAAO,CAAC,CAAC;AAEtH,MAAM,MAAM,qBAAqB,GAAG;IAIlC,KAAK,EAAE,KAAK,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE;QACd,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createAuthKey.d.ts","sourceRoot":"","sources":["../../../../src/Token/utils/createAuthKey.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,OAAQ,MAAM,YAAY,MAAM,KAAG,MAE5D,CAAC"}
|
|
1
|
+
{"version":3,"file":"createAuthKey.d.ts","sourceRoot":"","sources":["../../../../src/Token/utils/createAuthKey.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,OAAQ,MAAM,YAAY,MAAM,KAAG,MAE5D,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAE9E"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export declare const SERVICE_PROVIDER_PATH = "/authorizer/services/list";
|
|
2
2
|
export declare const OAUTH_REDIRECT_PROVIDER_PATH = "/authorizer/redirect";
|
|
3
|
+
export declare const NEXT_OAUTH_REDIRECT_PROVIDER_PATH = "/authorizer-next/redirect";
|
|
3
4
|
export declare enum AuthStatus {
|
|
4
5
|
NEW = "NEW",
|
|
5
6
|
PENDING = "PENDING",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,8BAA8B,CAAC;AACjE,eAAO,MAAM,4BAA4B,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,8BAA8B,CAAC;AACjE,eAAO,MAAM,4BAA4B,yBAAyB,CAAC;AACnE,eAAO,MAAM,iCAAiC,8BAA8B,CAAC;AAE7E,oBAAY,UAAU;IACpB,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,KAAK,UAAU;CAChB;AAED,eAAO,MAAM,cAAc,eAAe,CAAC;AAE3C,eAAO,MAAM,8BAA8B,SAAS,CAAC"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { BasicCollection } from './Basic/index';
|
|
2
2
|
export { TokenCollection } from './Token/index';
|
|
3
|
-
export { OAuth
|
|
3
|
+
export { OAuth } from './OAuth/index';
|
|
4
|
+
export { OAuthCollection } from './OAuthCollection/index';
|
|
4
5
|
export * from './types';
|
|
5
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,cAAc,SAAS,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,22 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@or-sdk/authorizer",
|
|
3
|
-
"version": "0.25.0
|
|
4
|
-
"
|
|
5
|
-
"module": "dist/esm/index.js",
|
|
6
|
-
"types": "dist/types/index.d.ts",
|
|
7
|
-
"typesVersions": {
|
|
8
|
-
"*": {
|
|
9
|
-
"Basic": [
|
|
10
|
-
"dist/types/Basic/index.d.ts"
|
|
11
|
-
],
|
|
12
|
-
"OAuth": [
|
|
13
|
-
"dist/types/OAuth/index.d.ts"
|
|
14
|
-
],
|
|
15
|
-
"Token": [
|
|
16
|
-
"dist/types/Token/index.d.ts"
|
|
17
|
-
]
|
|
18
|
-
}
|
|
19
|
-
},
|
|
3
|
+
"version": "0.25.0",
|
|
4
|
+
"license": "Apache-2.0",
|
|
20
5
|
"exports": {
|
|
21
6
|
".": {
|
|
22
7
|
"import": "./dist/esm/index.js",
|
|
@@ -33,10 +18,30 @@
|
|
|
33
18
|
"./Token": {
|
|
34
19
|
"import": "./dist/esm/Token/index.js",
|
|
35
20
|
"require": "./dist/cjs/Token/index.js"
|
|
21
|
+
},
|
|
22
|
+
"./OAuthCollection": {
|
|
23
|
+
"import": "./dist/esm/OAuthCollection/index.js",
|
|
24
|
+
"require": "./dist/cjs/OAuthCollection/index.js"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"main": "dist/cjs/index.js",
|
|
28
|
+
"module": "dist/esm/index.js",
|
|
29
|
+
"types": "dist/types/index.d.ts",
|
|
30
|
+
"typesVersions": {
|
|
31
|
+
"*": {
|
|
32
|
+
"Basic": [
|
|
33
|
+
"dist/types/Basic/index.d.ts"
|
|
34
|
+
],
|
|
35
|
+
"OAuth": [
|
|
36
|
+
"dist/types/OAuth/index.d.ts"
|
|
37
|
+
],
|
|
38
|
+
"Token": [
|
|
39
|
+
"dist/types/Token/index.d.ts"
|
|
40
|
+
]
|
|
36
41
|
}
|
|
37
42
|
},
|
|
38
43
|
"scripts": {
|
|
39
|
-
"build": "pnpm clean && pnpm build:esm
|
|
44
|
+
"build": "pnpm clean && pnpm build:esm & pnpm build:cjs",
|
|
40
45
|
"build:cjs": "tsc --project tsconfig.json",
|
|
41
46
|
"build:esm": "tsc --project tsconfig.esm.json",
|
|
42
47
|
"build:types": "tsc --project tsconfig.types.json",
|
|
@@ -48,19 +53,20 @@
|
|
|
48
53
|
"dev": "pnpm build:watch:esm"
|
|
49
54
|
},
|
|
50
55
|
"dependencies": {
|
|
51
|
-
"@or-sdk/base": "^0.
|
|
52
|
-
"@or-sdk/discovery": "^1.
|
|
53
|
-
"@or-sdk/event-manager": "^0.24.
|
|
54
|
-
"@or-sdk/key-value-storage": "^0.
|
|
55
|
-
"@or-sdk/providers": "^0.2.
|
|
56
|
+
"@or-sdk/base": "^0.39.1",
|
|
57
|
+
"@or-sdk/discovery": "^1.8.14",
|
|
58
|
+
"@or-sdk/event-manager": "^0.24.24",
|
|
59
|
+
"@or-sdk/key-value-storage": "^0.27.0",
|
|
60
|
+
"@or-sdk/providers": "^0.2.38",
|
|
56
61
|
"uuid": "^8.3.2"
|
|
57
62
|
},
|
|
58
63
|
"devDependencies": {
|
|
59
64
|
"@types/uuid": "^8.3.1",
|
|
60
|
-
"concurrently": "
|
|
61
|
-
"typescript": "
|
|
65
|
+
"concurrently": "8.2.2",
|
|
66
|
+
"typescript": "5.5.4"
|
|
62
67
|
},
|
|
63
68
|
"publishConfig": {
|
|
64
69
|
"access": "public"
|
|
65
|
-
}
|
|
70
|
+
},
|
|
71
|
+
"gitHead": "a5a4137dd395e831d3ad344f194227a516fa2324"
|
|
66
72
|
}
|
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
import { List, makeList } from '@or-sdk/base';
|
|
2
|
+
import { Providers } from '@or-sdk/providers';
|
|
2
3
|
import { KeyValueStorage } from '@or-sdk/key-value-storage';
|
|
3
|
-
import {
|
|
4
|
-
import { createAuthKey } from './utils/createAuthKey';
|
|
4
|
+
import { createAuthKey, createDynamicKey } from './utils/createAuthKey';
|
|
5
5
|
import { v4 as uuidv4 } from 'uuid';
|
|
6
6
|
|
|
7
7
|
import {
|
|
8
|
+
BasicAuthData,
|
|
8
9
|
BasicCollectionConfig,
|
|
9
10
|
CreateBasicAuthInCollectionConfig,
|
|
11
|
+
BasicDynamicCollection,
|
|
10
12
|
} from './types';
|
|
11
13
|
|
|
12
14
|
export class BasicCollection {
|
|
13
15
|
private serviceName: string;
|
|
14
16
|
private readonly keyValueStorage: KeyValueStorage;
|
|
17
|
+
private readonly providers: Providers;
|
|
15
18
|
|
|
16
19
|
constructor(params: BasicCollectionConfig) {
|
|
17
20
|
const { token, discoveryUrl, serviceName, accountId } = params;
|
|
@@ -22,6 +25,10 @@ export class BasicCollection {
|
|
|
22
25
|
discoveryUrl,
|
|
23
26
|
accountId,
|
|
24
27
|
});
|
|
28
|
+
this.providers = new Providers({
|
|
29
|
+
token,
|
|
30
|
+
discoveryUrl,
|
|
31
|
+
});
|
|
25
32
|
}
|
|
26
33
|
|
|
27
34
|
|
|
@@ -57,19 +64,37 @@ export class BasicCollection {
|
|
|
57
64
|
/**
|
|
58
65
|
* Returns array of auth keys from this collection
|
|
59
66
|
*/
|
|
60
|
-
public async listAuthorizations(): Promise<List<string>> {
|
|
67
|
+
public async listAuthorizations(dynamicCollectionName?: string): Promise<List<string>> {
|
|
61
68
|
const { items: records } = await this.keyValueStorage.listKeys(this.serviceName);
|
|
62
69
|
|
|
63
|
-
|
|
70
|
+
const pattern = dynamicCollectionName ? '::basic-collection::' + dynamicCollectionName : '::basic::';
|
|
71
|
+
|
|
72
|
+
return makeList<string>(records.map((record) => record.key).filter(key => key.includes(pattern)));
|
|
64
73
|
}
|
|
65
74
|
|
|
66
75
|
|
|
67
76
|
/**
|
|
68
77
|
* Returns BasicAuth instance for given key
|
|
69
78
|
*/
|
|
70
|
-
public async getAuthorization(key: string): Promise<BasicAuthData> {
|
|
79
|
+
public async getAuthorization(key: string, dynamicCollectionName?: string): Promise<BasicAuthData> {
|
|
71
80
|
if (!this.serviceName) throw new Error('Service name is not defined.');
|
|
72
|
-
|
|
81
|
+
|
|
82
|
+
if (dynamicCollectionName) {
|
|
83
|
+
const collectionRecord = await this.keyValueStorage.getValueByKey(
|
|
84
|
+
'__authorizer_dynamic_collections',
|
|
85
|
+
dynamicCollectionName
|
|
86
|
+
);
|
|
87
|
+
|
|
88
|
+
const collection = collectionRecord.value as BasicDynamicCollection;
|
|
89
|
+
if (!collection || collection.type !== 'basic') throw new Error('Dynamic collection name is invalid');
|
|
90
|
+
|
|
91
|
+
key = collection.authorizations[key];
|
|
92
|
+
if (!key) throw new Error('Dynamic collection does not have such key');
|
|
93
|
+
|
|
94
|
+
}
|
|
95
|
+
if (!key.includes('::basic')) {
|
|
96
|
+
throw new Error('The basic authorization key should contain "basic" type specifier.');
|
|
97
|
+
}
|
|
73
98
|
|
|
74
99
|
const record = await this.keyValueStorage.getValueByKey(this.serviceName, encodeURIComponent(key));
|
|
75
100
|
|
|
@@ -77,17 +102,18 @@ export class BasicCollection {
|
|
|
77
102
|
throw new Error('Authorization does not exist.');
|
|
78
103
|
}
|
|
79
104
|
|
|
80
|
-
|
|
81
105
|
const authRecord = record.value as Omit<BasicAuthData, 'key'>;
|
|
82
106
|
|
|
83
|
-
if (
|
|
107
|
+
if (
|
|
108
|
+
!authRecord.auth_name ||
|
|
109
|
+
!authRecord.access_token ||
|
|
110
|
+
!(authRecord.date_created || authRecord._date_created)
|
|
111
|
+
) {
|
|
84
112
|
throw new Error('Authorization does not exist or invalid.');
|
|
85
113
|
}
|
|
86
114
|
|
|
87
115
|
return {
|
|
88
|
-
|
|
89
|
-
access_token: authRecord.access_token,
|
|
90
|
-
date_created: authRecord.date_created,
|
|
116
|
+
...authRecord,
|
|
91
117
|
key,
|
|
92
118
|
} as BasicAuthData;
|
|
93
119
|
}
|
|
@@ -95,13 +121,14 @@ export class BasicCollection {
|
|
|
95
121
|
|
|
96
122
|
/**
|
|
97
123
|
* Creates a new auth record in current collection with the given config.
|
|
98
|
-
* @returns
|
|
124
|
+
* @returns BasicAuthData object
|
|
99
125
|
*
|
|
100
126
|
* ```typescript
|
|
101
127
|
* const basicAuthData = await basicCollectionInstance.createAuthorization({
|
|
102
128
|
* authName: 'my-auth-name',
|
|
103
129
|
* username: 'user',
|
|
104
|
-
* password: 'pass'
|
|
130
|
+
* password: 'pass',
|
|
131
|
+
* dynamicCollection: 'my-dynamic-collection' // Optional
|
|
105
132
|
* });
|
|
106
133
|
* ```
|
|
107
134
|
*/
|
|
@@ -109,7 +136,7 @@ export class BasicCollection {
|
|
|
109
136
|
params: CreateBasicAuthInCollectionConfig
|
|
110
137
|
): Promise<BasicAuthData> {
|
|
111
138
|
|
|
112
|
-
const { authName, password, username } = params;
|
|
139
|
+
const { authName, password, username, dynamicCollection, destinationAccount = 'CURRENT', customAccountId } = params;
|
|
113
140
|
|
|
114
141
|
if (!authName || !username || !password) {
|
|
115
142
|
throw new Error('Invalid authorization config passed.');
|
|
@@ -119,15 +146,64 @@ export class BasicCollection {
|
|
|
119
146
|
|
|
120
147
|
|
|
121
148
|
const id = uuidv4();
|
|
122
|
-
const authKey = createAuthKey(id, authName);
|
|
149
|
+
const authKey = dynamicCollection ? createDynamicKey(id, dynamicCollection) : createAuthKey(id, authName);
|
|
123
150
|
|
|
124
151
|
const authData = {
|
|
125
152
|
auth_name: authName,
|
|
126
153
|
access_token: BasicCollection.encodeAccessToken(username, password),
|
|
127
|
-
|
|
154
|
+
_date_created: new Date().toISOString(),
|
|
128
155
|
} as Omit<BasicAuthData, 'key'>;
|
|
129
156
|
|
|
130
|
-
|
|
157
|
+
if (dynamicCollection) {
|
|
158
|
+
const { value } = await this.keyValueStorage.getValueByKey(
|
|
159
|
+
'__authorizer_dynamic_collections',
|
|
160
|
+
dynamicCollection
|
|
161
|
+
);
|
|
162
|
+
|
|
163
|
+
const collection = value as BasicDynamicCollection;
|
|
164
|
+
|
|
165
|
+
if (!collection) throw new Error('Dynamic collection name is invalid');
|
|
166
|
+
if (collection.type !== 'basic' || collection.service !== this.serviceName) {
|
|
167
|
+
throw new Error('Dynamic collection\'s type or service is invalid');
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
collection.authorizations[authName] = authKey;
|
|
171
|
+
await this.keyValueStorage.setValueByKey(
|
|
172
|
+
'__authorizer_dynamic_collections',
|
|
173
|
+
dynamicCollection,
|
|
174
|
+
collection
|
|
175
|
+
);
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
// Accounts handling
|
|
179
|
+
if (destinationAccount === 'CURRENT') {
|
|
180
|
+
await this.keyValueStorage.setValueByKey(this.serviceName, encodeURIComponent(authKey), authData);
|
|
181
|
+
} else {
|
|
182
|
+
const localRecord = {
|
|
183
|
+
auth_name: authData.auth_name,
|
|
184
|
+
isRemote: true,
|
|
185
|
+
id,
|
|
186
|
+
};
|
|
187
|
+
|
|
188
|
+
if (destinationAccount === 'CUSTOM' && !customAccountId) {
|
|
189
|
+
throw new Error('Custom Account ID is required if destinationAccount === "CUSTOM"');
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
await this.providers.makeRequest({
|
|
193
|
+
route: 'authorizer/redirect',
|
|
194
|
+
params: {
|
|
195
|
+
method: 'PUT',
|
|
196
|
+
data: {
|
|
197
|
+
authData,
|
|
198
|
+
id,
|
|
199
|
+
storeAccount: destinationAccount,
|
|
200
|
+
storeCustomAccountId: destinationAccount === 'CUSTOM' ? customAccountId : undefined,
|
|
201
|
+
},
|
|
202
|
+
},
|
|
203
|
+
}).catch(() => { throw new Error('Could not save basic credentials to the specified account');});
|
|
204
|
+
|
|
205
|
+
await this.keyValueStorage.setValueByKey(this.serviceName, encodeURIComponent(authKey), localRecord);
|
|
206
|
+
}
|
|
131
207
|
|
|
132
208
|
return {
|
|
133
209
|
...authData,
|
|
@@ -165,7 +241,7 @@ export class BasicCollection {
|
|
|
165
241
|
encodeURIComponent(basicAuth.key),
|
|
166
242
|
{
|
|
167
243
|
auth_name: basicAuth.auth_name,
|
|
168
|
-
|
|
244
|
+
_date_created: basicAuth.date_created || basicAuth._date_created,
|
|
169
245
|
access_token,
|
|
170
246
|
}
|
|
171
247
|
);
|
|
@@ -183,7 +259,83 @@ export class BasicCollection {
|
|
|
183
259
|
*/
|
|
184
260
|
public async deleteAuthorization(authKey: string): Promise<void> {
|
|
185
261
|
if (!this.serviceName) throw new Error('Service name is not defined.');
|
|
262
|
+
|
|
263
|
+
if (authKey.includes('::basic-collection::')) {
|
|
264
|
+
const dynamicCollectionName = authKey.split('::')[2].split(' ')[0];
|
|
265
|
+
const { value } = await this.keyValueStorage.getValueByKey(
|
|
266
|
+
'__authorizer_dynamic_collections',
|
|
267
|
+
dynamicCollectionName
|
|
268
|
+
);
|
|
269
|
+
|
|
270
|
+
const collection = value as BasicDynamicCollection;
|
|
271
|
+
if (collection) {
|
|
272
|
+
const authName = Object.keys(collection.authorizations)
|
|
273
|
+
.find(name => collection.authorizations[name] === authKey);
|
|
274
|
+
|
|
275
|
+
if (authName) {
|
|
276
|
+
delete collection.authorizations[authName];
|
|
277
|
+
await this.keyValueStorage.setValueByKey(
|
|
278
|
+
'__authorizer_dynamic_collections',
|
|
279
|
+
dynamicCollectionName,
|
|
280
|
+
collection
|
|
281
|
+
);
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
|
|
186
286
|
await this.keyValueStorage.deleteKey(this.serviceName, encodeURIComponent(authKey));
|
|
187
287
|
}
|
|
288
|
+
|
|
289
|
+
|
|
290
|
+
/**
|
|
291
|
+
* Creates a Dynamic Token collection
|
|
292
|
+
*/
|
|
293
|
+
public async createDynamicCollection(dynamicCollectionName: string): Promise<void> {
|
|
294
|
+
if (!dynamicCollectionName) throw new Error('Dynamic collection name is empty or invalid');
|
|
295
|
+
const { value } = await this.keyValueStorage.getValueByKey(
|
|
296
|
+
'__authorizer_dynamic_collections',
|
|
297
|
+
dynamicCollectionName
|
|
298
|
+
);
|
|
299
|
+
const collection = value as BasicDynamicCollection;
|
|
300
|
+
|
|
301
|
+
if (!value) {
|
|
302
|
+
await this.keyValueStorage.setValueByKey(
|
|
303
|
+
'__authorizer_dynamic_collections',
|
|
304
|
+
dynamicCollectionName,
|
|
305
|
+
{
|
|
306
|
+
name: dynamicCollectionName,
|
|
307
|
+
type: 'basic',
|
|
308
|
+
service: this.serviceName,
|
|
309
|
+
serviceConfigName: this.serviceName,
|
|
310
|
+
authorizations: {},
|
|
311
|
+
});
|
|
312
|
+
} else if (collection.type === 'oauth' && collection.service === this.serviceName) {
|
|
313
|
+
throw new Error('Same collection already exists');
|
|
314
|
+
} else {
|
|
315
|
+
throw new Error('Different collection exists with this name');
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
|
|
320
|
+
/**
|
|
321
|
+
* Deletes a Dynamic collection
|
|
322
|
+
*/
|
|
323
|
+
public async deleteDynamicCollection(dynamicCollectionName: string): Promise<void> {
|
|
324
|
+
if (!dynamicCollectionName) throw new Error('Dynamic collection name is empty or invalid');
|
|
325
|
+
const { value } = await this.keyValueStorage.getValueByKey('__authorizer_dynamic_collections', dynamicCollectionName);
|
|
326
|
+
const collection = value as BasicDynamicCollection;
|
|
327
|
+
|
|
328
|
+
await Promise.all(
|
|
329
|
+
Object.keys(collection.authorizations)
|
|
330
|
+
.map(authName => {
|
|
331
|
+
return this.keyValueStorage.deleteKey(
|
|
332
|
+
collection.service,
|
|
333
|
+
encodeURIComponent(collection.authorizations[authName])
|
|
334
|
+
);
|
|
335
|
+
})
|
|
336
|
+
).catch(() => {});
|
|
337
|
+
|
|
338
|
+
await this.keyValueStorage.deleteKey('__authorizer_dynamic_collections', dynamicCollectionName);
|
|
339
|
+
}
|
|
188
340
|
}
|
|
189
341
|
|
package/src/Basic/types.ts
CHANGED
|
@@ -1,18 +1,5 @@
|
|
|
1
1
|
import { Token } from '@or-sdk/base';
|
|
2
2
|
|
|
3
|
-
export type BasicAuthConfig = {
|
|
4
|
-
/**
|
|
5
|
-
* token
|
|
6
|
-
*/
|
|
7
|
-
token: Token;
|
|
8
|
-
/**
|
|
9
|
-
* function which return token
|
|
10
|
-
*/
|
|
11
|
-
discoveryUrl: string;
|
|
12
|
-
serviceName: string;
|
|
13
|
-
authKey: string;
|
|
14
|
-
};
|
|
15
|
-
|
|
16
3
|
export type BasicAuthData = {
|
|
17
4
|
key: string;
|
|
18
5
|
auth_name: string;
|
|
@@ -25,7 +12,8 @@ export type BasicAuthData = {
|
|
|
25
12
|
/**
|
|
26
13
|
* Datetime of auth creation in YYYY-MM-DDTHH:MM:SSZ format
|
|
27
14
|
*/
|
|
28
|
-
date_created
|
|
15
|
+
date_created?: string;
|
|
16
|
+
_date_created?: string;
|
|
29
17
|
};
|
|
30
18
|
|
|
31
19
|
export type CreateBasicAuthConfig = {
|
|
@@ -38,6 +26,9 @@ export type CreateBasicAuthConfig = {
|
|
|
38
26
|
* token
|
|
39
27
|
*/
|
|
40
28
|
token: Token;
|
|
29
|
+
dynamicCollection?: string;
|
|
30
|
+
destinationAccount: 'CURRENT' | 'CUSTOM' | 'PROVIDER';
|
|
31
|
+
customAccountId?: string;
|
|
41
32
|
};
|
|
42
33
|
|
|
43
34
|
export type CreateBasicAuthInCollectionConfig = Omit<CreateBasicAuthConfig, 'serviceName' | 'discoveryUrl' | 'token'>;
|
|
@@ -54,3 +45,15 @@ export type BasicCollectionConfig = {
|
|
|
54
45
|
accountId?: string;
|
|
55
46
|
serviceName?: string;
|
|
56
47
|
};
|
|
48
|
+
|
|
49
|
+
export type BasicDynamicCollection = {
|
|
50
|
+
name: string;
|
|
51
|
+
type: string;
|
|
52
|
+
service: string;
|
|
53
|
+
serviceConfigName: string;
|
|
54
|
+
authorizations: {
|
|
55
|
+
[key: string]: string;
|
|
56
|
+
};
|
|
57
|
+
appId?: string;
|
|
58
|
+
scope?: string;
|
|
59
|
+
};
|
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
export const createAuthKey = (id: string, authName: string): string => {
|
|
2
2
|
return `${id}::basic::${authName}`;
|
|
3
3
|
};
|
|
4
|
+
|
|
5
|
+
export function createDynamicKey(id: string, dynamicCollection: string): string {
|
|
6
|
+
return `${id}::basic-collection::${dynamicCollection} collection auth`;
|
|
7
|
+
}
|