@rockcarver/frodo-lib 0.16.2-13 → 0.16.2-15
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 +9 -1
- package/cjs/api/ApiTypes.js.map +1 -1
- package/cjs/api/BaseApi.js +40 -18
- package/cjs/api/BaseApi.js.map +1 -1
- package/cjs/api/ManagedObjectApi.js +27 -6
- package/cjs/api/ManagedObjectApi.js.map +1 -1
- package/cjs/api/OAuth2OIDCApi.js +22 -6
- package/cjs/api/OAuth2OIDCApi.js.map +1 -1
- package/cjs/api/SecretsApi.test.js.map +1 -1
- package/cjs/api/ServiceApi.js +47 -11
- package/cjs/api/ServiceApi.js.map +1 -1
- package/cjs/api/TreeApi.test.js.map +1 -1
- package/cjs/api/VariablesApi.test.js.map +1 -1
- package/cjs/index.js +13 -3
- package/cjs/index.js.map +1 -1
- package/cjs/ops/AuthenticateOps.js +238 -98
- package/cjs/ops/AuthenticateOps.js.map +1 -1
- package/cjs/ops/ConnectionProfileOps.js +219 -84
- package/cjs/ops/ConnectionProfileOps.js.map +1 -1
- package/cjs/ops/ConnectionProfileOps.test.js.map +1 -1
- package/cjs/ops/IdmOps.js +52 -356
- package/cjs/ops/IdmOps.js.map +1 -1
- package/cjs/ops/IdmOps.test.js.map +1 -1
- package/cjs/ops/JoseOps.js +81 -0
- package/cjs/ops/JoseOps.js.map +1 -0
- package/cjs/ops/JoseOps.test.js.map +1 -0
- package/cjs/ops/LogOps.js +3 -3
- package/cjs/ops/LogOps.js.map +1 -1
- package/cjs/ops/ServiceAccountOps.js +61 -0
- package/cjs/ops/ServiceAccountOps.js.map +1 -0
- package/cjs/ops/ServiceAccountOps.test.js.map +1 -0
- package/cjs/ops/ServiceOps.js +49 -27
- package/cjs/ops/ServiceOps.js.map +1 -1
- package/cjs/ops/utils/ExportImportUtils.js +10 -7
- package/cjs/ops/utils/ExportImportUtils.js.map +1 -1
- package/cjs/ops/utils/OpsUtils.js +14 -0
- package/cjs/ops/utils/OpsUtils.js.map +1 -1
- package/cjs/ops/utils/OpsUtils.test.js.map +1 -1
- package/cjs/storage/SessionStorage.js +6 -0
- package/cjs/storage/SessionStorage.js.map +1 -1
- package/cjs/test/mocks/ForgeRockApiMockEngine.js +14 -2
- package/cjs/test/mocks/ForgeRockApiMockEngine.js.map +1 -1
- package/cjs/test/mocks/IdmConfigApi/getConfigEntity/managed.json +4420 -0
- package/cjs/utils/AutoSetupPolly.js +79 -0
- package/cjs/utils/AutoSetupPolly.js.map +1 -0
- package/cjs/utils/SetupJest.js +6 -0
- package/cjs/utils/SetupJest.js.map +1 -0
- package/cjs/{test/mocks → utils}/snapshotResolve.js +10 -5
- package/cjs/utils/snapshotResolve.js.map +1 -0
- package/esm/api/BaseApi.mjs +47 -15
- package/esm/api/ManagedObjectApi.mjs +16 -1
- package/esm/api/OAuth2OIDCApi.mjs +8 -0
- package/esm/api/SecretsApi.test.mjs +5 -13
- package/esm/api/ServiceApi.mjs +47 -18
- package/esm/api/TreeApi.test.mjs +10 -39
- package/esm/api/VariablesApi.test.mjs +80 -217
- package/esm/index.mjs +6 -1
- package/esm/ops/AuthenticateOps.mjs +208 -86
- package/esm/ops/ConnectionProfileOps.mjs +184 -56
- package/esm/ops/ConnectionProfileOps.test.mjs +3 -3
- package/esm/ops/IdmOps.mjs +28 -286
- package/esm/ops/IdmOps.test.mjs +41 -49
- package/esm/ops/JoseOps.mjs +41 -0
- package/esm/ops/JoseOps.test.mjs +132 -0
- package/esm/ops/LogOps.mjs +3 -3
- package/esm/ops/ServiceAccountOps.mjs +41 -0
- package/esm/ops/ServiceAccountOps.test.mjs +52 -0
- package/esm/ops/ServiceOps.mjs +49 -37
- package/esm/ops/utils/ExportImportUtils.mjs +10 -8
- package/esm/ops/utils/OpsUtils.mjs +13 -0
- package/esm/ops/utils/OpsUtils.test.mjs +138 -10
- package/esm/storage/SessionStorage.mjs +6 -0
- package/esm/test/mocks/ForgeRockApiMockEngine.mjs +12 -1
- package/esm/test/mocks/IdmConfigApi/getConfigEntity/managed.json +4420 -0
- package/esm/utils/AutoSetupPolly.mjs +72 -0
- package/esm/utils/SetupJest.mjs +3 -0
- package/esm/{test/mocks → utils}/snapshotResolve.mjs +10 -5
- package/package.json +16 -6
- package/types/api/ApiTypes.d.ts +1 -2
- package/types/api/ApiTypes.d.ts.map +1 -1
- package/types/api/BaseApi.d.ts.map +1 -1
- package/types/api/ManagedObjectApi.d.ts +9 -1
- package/types/api/ManagedObjectApi.d.ts.map +1 -1
- package/types/api/OAuth2OIDCApi.d.ts +4 -2
- package/types/api/OAuth2OIDCApi.d.ts.map +1 -1
- package/types/api/ServiceApi.d.ts +14 -7
- package/types/api/ServiceApi.d.ts.map +1 -1
- package/types/index.d.ts +6 -1
- package/types/index.d.ts.map +1 -1
- package/types/ops/AuthenticateOps.d.ts +10 -2
- package/types/ops/AuthenticateOps.d.ts.map +1 -1
- package/types/ops/ConnectionProfileOps.d.ts +49 -21
- package/types/ops/ConnectionProfileOps.d.ts.map +1 -1
- package/types/ops/IdmOps.d.ts +29 -37
- package/types/ops/IdmOps.d.ts.map +1 -1
- package/types/ops/JoseOps.d.ts +33 -0
- package/types/ops/JoseOps.d.ts.map +1 -0
- package/types/ops/LogOps.d.ts.map +1 -1
- package/types/ops/ServiceAccountOps.d.ts +20 -0
- package/types/ops/ServiceAccountOps.d.ts.map +1 -0
- package/types/ops/ServiceOps.d.ts +18 -10
- package/types/ops/ServiceOps.d.ts.map +1 -1
- package/types/ops/utils/ExportImportUtils.d.ts +2 -1
- package/types/ops/utils/ExportImportUtils.d.ts.map +1 -1
- package/types/ops/utils/OpsUtils.d.ts +6 -0
- package/types/ops/utils/OpsUtils.d.ts.map +1 -1
- package/types/storage/SessionStorage.d.ts +7 -0
- package/types/storage/SessionStorage.d.ts.map +1 -1
- package/types/test/mocks/ForgeRockApiMockEngine.d.ts +2 -1
- package/types/test/mocks/ForgeRockApiMockEngine.d.ts.map +1 -1
- package/types/utils/AutoSetupPolly.d.ts +1 -0
- package/types/utils/AutoSetupPolly.d.ts.map +1 -0
- package/types/utils/SetupJest.d.ts +1 -0
- package/types/utils/SetupJest.d.ts.map +1 -0
- package/types/{test/mocks → utils}/snapshotResolve.d.ts +0 -0
- package/types/utils/snapshotResolve.d.ts.map +1 -0
- package/cjs/test/mocks/snapshotResolve.js.map +0 -1
- package/types/test/mocks/snapshotResolve.d.ts.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.16.2-15] - 2022-12-10
|
|
11
|
+
|
|
12
|
+
## [0.16.2-14] - 2022-12-01
|
|
13
|
+
|
|
10
14
|
## [0.16.2-13] - 2022-11-26
|
|
11
15
|
|
|
12
16
|
## [0.16.2-12] - 2022-11-26
|
|
@@ -712,7 +716,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
712
716
|
- Fixed problem with adding connection profiles
|
|
713
717
|
- Miscellaneous bug fixes
|
|
714
718
|
|
|
715
|
-
[Unreleased]: https://github.com/rockcarver/frodo-lib/compare/v0.16.2-
|
|
719
|
+
[Unreleased]: https://github.com/rockcarver/frodo-lib/compare/v0.16.2-15...HEAD
|
|
720
|
+
|
|
721
|
+
[0.16.2-15]: https://github.com/rockcarver/frodo-lib/compare/v0.16.2-14...v0.16.2-15
|
|
722
|
+
|
|
723
|
+
[0.16.2-14]: https://github.com/rockcarver/frodo-lib/compare/v0.16.2-13...v0.16.2-14
|
|
716
724
|
|
|
717
725
|
[0.16.2-13]: https://github.com/rockcarver/frodo-lib/compare/v0.16.2-12...v0.16.2-13
|
|
718
726
|
|
package/cjs/api/ApiTypes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiTypes.js","names":["ScriptLanguage","ScriptContext","Saml2ProiderLocation"],"sources":["api/ApiTypes.ts"],"sourcesContent":["interface ObjectSkeletonInterface {\n _id: string;\n _rev?: number;\n [k: string]: string | number | boolean | string[] | ObjectSkeletonInterface;\n}\n\nexport interface UiConfigInterface {\n categories: string;\n}\n\nexport interface NodeRefSkeletonInterface {\n connections: Record<string, string>;\n displayName: string;\n nodeType: string;\n x: number;\n y: number;\n}\n\nexport interface InnerNodeRefSkeletonInterface {\n _id: string;\n displayName: string;\n nodeType: string;\n}\n\nexport type TreeSkeleton = ObjectSkeletonInterface & {\n entryNodeId: string;\n nodes: Record<string, NodeRefSkeletonInterface>;\n identityResource?: string;\n uiConfig?: UiConfigInterface;\n enabled?: boolean;\n};\n\nexport type AmServiceType = ObjectSkeletonInterface & {\n name: string;\n};\n\nexport type NodeSkeleton = ObjectSkeletonInterface & {\n _type: AmServiceType;\n nodes?: InnerNodeRefSkeletonInterface[];\n tree?: string;\n identityResource?: string;\n};\n\nexport type SocialIdpSkeleton = ObjectSkeletonInterface & {\n _type: AmServiceType;\n enabled: boolean;\n};\n\nexport type AmServiceSkeleton = ObjectSkeletonInterface & {\n _type: AmServiceType;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n};\n\nexport type AgentSkeleton = ObjectSkeletonInterface & {\n _type: AmServiceType;\n};\n\nexport type EmailTemplateSkeleton = ObjectSkeletonInterface & {\n defaultLocale?: string;\n displayName?: string;\n enabled?: boolean;\n from: string;\n subject: Record<string, string>;\n};\n\nexport type ThemeSkeleton = ObjectSkeletonInterface & {\n name: string;\n isDefault: boolean;\n linkedTrees: string[];\n};\n\nexport type UiThemeRealmObject = ObjectSkeletonInterface & {\n name: string;\n realm: Map<string, ThemeSkeleton[]>;\n};\n\nexport enum ScriptLanguage {\n GROOVY = 'GROOVY',\n JAVASCRIPT = 'JAVASCRIPT',\n}\n\nexport enum ScriptContext {\n OAUTH2_ACCESS_TOKEN_MODIFICATION = 'OAUTH2_ACCESS_TOKEN_MODIFICATION',\n AUTHENTICATION_CLIENT_SIDE = 'AUTHENTICATION_CLIENT_SIDE',\n AUTHENTICATION_TREE_DECISION_NODE = 'AUTHENTICATION_TREE_DECISION_NODE',\n AUTHENTICATION_SERVER_SIDE = 'AUTHENTICATION_SERVER_SIDE',\n SOCIAL_IDP_PROFILE_TRANSFORMATION = 'SOCIAL_IDP_PROFILE_TRANSFORMATION',\n OAUTH2_VALIDATE_SCOPE = 'OAUTH2_VALIDATE_SCOPE',\n CONFIG_PROVIDER_NODE = 'CONFIG_PROVIDER_NODE',\n OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER = 'OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER',\n OAUTH2_EVALUATE_SCOPE = 'OAUTH2_EVALUATE_SCOPE',\n POLICY_CONDITION = 'POLICY_CONDITION',\n OIDC_CLAIMS = 'OIDC_CLAIMS',\n SAML2_IDP_ADAPTER = 'SAML2_IDP_ADAPTER',\n SAML2_IDP_ATTRIBUTE_MAPPER = 'SAML2_IDP_ATTRIBUTE_MAPPER',\n OAUTH2_MAY_ACT = 'OAUTH2_MAY_ACT',\n}\n\nexport type ScriptSkeleton = ObjectSkeletonInterface & {\n name: string;\n description: string;\n isDefault: boolean;\n script: string;\n language: ScriptLanguage;\n context: ScriptContext;\n createdBy: string;\n creationDate: number;\n lastModifiedBy: string;\n lastModifiedDate: number;\n};\n\nexport enum Saml2ProiderLocation {\n HOSTED = 'hosted',\n REMOTE = 'remote',\n}\n\nexport type Saml2ProviderStub = ObjectSkeletonInterface & {\n entityId: string;\n location: Saml2ProiderLocation;\n roles: string[];\n};\n\nexport type Saml2ProviderSkeleton = ObjectSkeletonInterface & {\n entityId: string;\n entityLocation: Saml2ProiderLocation;\n serviceProvider: unknown;\n identityProvider: unknown;\n attributeQueryProvider: unknown;\n xacmlPolicyEnforcementPoint: unknown;\n};\n\nexport type CircleOfTrustSkeleton = ObjectSkeletonInterface & {\n _type: AmServiceType;\n status: string;\n trustedProviders: string[];\n};\n\nexport type PagedResult<Result> = {\n result: Result[];\n resultCount: number;\n pagedResultsCookie: string;\n totalPagedResultsPolicy: 'EXACT';\n totalPagedResults: number;\n remainingPagedResults: number;\n};\n"],"mappings":";;;;;;IA6EYA,cAAc;AAAA;AAAA,WAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;AAAA,GAAdA,cAAc,8BAAdA,cAAc;AAAA,IAKdC,aAAa;AAAA;AAAA,WAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;AAAA,GAAbA,aAAa,6BAAbA,aAAa;AAAA,IA8BbC,oBAAoB;AAAA;AAAA,WAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;AAAA,GAApBA,oBAAoB,oCAApBA,oBAAoB"}
|
|
1
|
+
{"version":3,"file":"ApiTypes.js","names":["ScriptLanguage","ScriptContext","Saml2ProiderLocation"],"sources":["api/ApiTypes.ts"],"sourcesContent":["export interface ObjectSkeletonInterface {\n _id: string;\n _rev?: number;\n [k: string]: string | number | boolean | string[] | ObjectSkeletonInterface;\n}\n\nexport interface UiConfigInterface {\n categories: string;\n}\n\nexport interface NodeRefSkeletonInterface {\n connections: Record<string, string>;\n displayName: string;\n nodeType: string;\n x: number;\n y: number;\n}\n\nexport interface InnerNodeRefSkeletonInterface {\n _id: string;\n displayName: string;\n nodeType: string;\n}\n\nexport type TreeSkeleton = ObjectSkeletonInterface & {\n entryNodeId: string;\n nodes: Record<string, NodeRefSkeletonInterface>;\n identityResource?: string;\n uiConfig?: UiConfigInterface;\n enabled?: boolean;\n};\n\nexport type AmServiceType = ObjectSkeletonInterface & {\n name: string;\n};\n\nexport type NodeSkeleton = ObjectSkeletonInterface & {\n _type: AmServiceType;\n nodes?: InnerNodeRefSkeletonInterface[];\n tree?: string;\n identityResource?: string;\n};\n\nexport type SocialIdpSkeleton = ObjectSkeletonInterface & {\n _type: AmServiceType;\n enabled: boolean;\n};\n\nexport type AmServiceSkeleton = ObjectSkeletonInterface & {\n _type: AmServiceType;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n};\n\nexport type AgentSkeleton = ObjectSkeletonInterface & {\n _type: AmServiceType;\n};\n\nexport type EmailTemplateSkeleton = ObjectSkeletonInterface & {\n defaultLocale?: string;\n displayName?: string;\n enabled?: boolean;\n from: string;\n subject: Record<string, string>;\n};\n\nexport type ThemeSkeleton = ObjectSkeletonInterface & {\n name: string;\n isDefault: boolean;\n linkedTrees: string[];\n};\n\nexport type UiThemeRealmObject = ObjectSkeletonInterface & {\n name: string;\n realm: Map<string, ThemeSkeleton[]>;\n};\n\nexport enum ScriptLanguage {\n GROOVY = 'GROOVY',\n JAVASCRIPT = 'JAVASCRIPT',\n}\n\nexport enum ScriptContext {\n OAUTH2_ACCESS_TOKEN_MODIFICATION = 'OAUTH2_ACCESS_TOKEN_MODIFICATION',\n AUTHENTICATION_CLIENT_SIDE = 'AUTHENTICATION_CLIENT_SIDE',\n AUTHENTICATION_TREE_DECISION_NODE = 'AUTHENTICATION_TREE_DECISION_NODE',\n AUTHENTICATION_SERVER_SIDE = 'AUTHENTICATION_SERVER_SIDE',\n SOCIAL_IDP_PROFILE_TRANSFORMATION = 'SOCIAL_IDP_PROFILE_TRANSFORMATION',\n OAUTH2_VALIDATE_SCOPE = 'OAUTH2_VALIDATE_SCOPE',\n CONFIG_PROVIDER_NODE = 'CONFIG_PROVIDER_NODE',\n OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER = 'OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER',\n OAUTH2_EVALUATE_SCOPE = 'OAUTH2_EVALUATE_SCOPE',\n POLICY_CONDITION = 'POLICY_CONDITION',\n OIDC_CLAIMS = 'OIDC_CLAIMS',\n SAML2_IDP_ADAPTER = 'SAML2_IDP_ADAPTER',\n SAML2_IDP_ATTRIBUTE_MAPPER = 'SAML2_IDP_ATTRIBUTE_MAPPER',\n OAUTH2_MAY_ACT = 'OAUTH2_MAY_ACT',\n}\n\nexport type ScriptSkeleton = ObjectSkeletonInterface & {\n name: string;\n description: string;\n isDefault: boolean;\n script: string;\n language: ScriptLanguage;\n context: ScriptContext;\n createdBy: string;\n creationDate: number;\n lastModifiedBy: string;\n lastModifiedDate: number;\n};\n\nexport enum Saml2ProiderLocation {\n HOSTED = 'hosted',\n REMOTE = 'remote',\n}\n\nexport type Saml2ProviderStub = ObjectSkeletonInterface & {\n entityId: string;\n location: Saml2ProiderLocation;\n roles: string[];\n};\n\nexport type Saml2ProviderSkeleton = ObjectSkeletonInterface & {\n entityId: string;\n entityLocation: Saml2ProiderLocation;\n serviceProvider: unknown;\n identityProvider: unknown;\n attributeQueryProvider: unknown;\n xacmlPolicyEnforcementPoint: unknown;\n};\n\nexport type CircleOfTrustSkeleton = ObjectSkeletonInterface & {\n _type: AmServiceType;\n status: string;\n trustedProviders: string[];\n};\n\nexport type PagedResult<Result> = {\n result: Result[];\n resultCount: number;\n pagedResultsCookie: string;\n totalPagedResultsPolicy: 'EXACT';\n totalPagedResults: number;\n remainingPagedResults: number;\n};\n"],"mappings":";;;;;;IA6EYA,cAAc;AAAA;AAAA,WAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;AAAA,GAAdA,cAAc,8BAAdA,cAAc;AAAA,IAKdC,aAAa;AAAA;AAAA,WAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;AAAA,GAAbA,aAAa,6BAAbA,aAAa;AAAA,IA8BbC,oBAAoB;AAAA;AAAA,WAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;AAAA,GAApBA,oBAAoB,oCAApBA,oBAAoB"}
|
package/cjs/api/BaseApi.js
CHANGED
|
@@ -130,14 +130,16 @@ function curlirize(request) {
|
|
|
130
130
|
*/
|
|
131
131
|
function generateAmApi(resource) {
|
|
132
132
|
var requestOverride = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
133
|
-
var headers = _objectSpread(_objectSpread({
|
|
133
|
+
var headers = _objectSpread(_objectSpread(_objectSpread({
|
|
134
134
|
'User-Agent': userAgent,
|
|
135
135
|
'X-ForgeRock-TransactionId': transactionId,
|
|
136
136
|
'Content-Type': 'application/json'
|
|
137
137
|
}, resource.apiVersion && {
|
|
138
138
|
'Accept-API-Version': resource.apiVersion
|
|
139
|
-
}), _SessionStorage.default.session.getCookieName() && _SessionStorage.default.session.getCookieValue() && {
|
|
139
|
+
}), !_SessionStorage.default.session.getUseBearerTokenForAmApis() && _SessionStorage.default.session.getCookieName() && _SessionStorage.default.session.getCookieValue() && {
|
|
140
140
|
Cookie: "".concat(_SessionStorage.default.session.getCookieName(), "=").concat(_SessionStorage.default.session.getCookieValue())
|
|
141
|
+
}), _SessionStorage.default.session.getUseBearerTokenForAmApis() && _SessionStorage.default.session.getBearerToken() && {
|
|
142
|
+
Authorization: "Bearer ".concat(_SessionStorage.default.session.getBearerToken())
|
|
141
143
|
});
|
|
142
144
|
if (requestOverride['headers']) {
|
|
143
145
|
headers = _objectSpread(_objectSpread({}, headers), requestOverride['headers']);
|
|
@@ -170,13 +172,15 @@ function generateAmApi(resource) {
|
|
|
170
172
|
*/
|
|
171
173
|
function generateOauth2Api(resource) {
|
|
172
174
|
var requestOverride = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
173
|
-
var headers = _objectSpread(_objectSpread({
|
|
175
|
+
var headers = _objectSpread(_objectSpread(_objectSpread({
|
|
174
176
|
'User-Agent': userAgent,
|
|
175
177
|
'X-ForgeRock-TransactionId': transactionId
|
|
176
178
|
}, resource.apiVersion && {
|
|
177
179
|
'Accept-API-Version': resource.apiVersion
|
|
178
|
-
}), _SessionStorage.default.session.getCookieName() && _SessionStorage.default.session.getCookieValue() && {
|
|
180
|
+
}), !_SessionStorage.default.session.getUseBearerTokenForAmApis() && _SessionStorage.default.session.getCookieName() && _SessionStorage.default.session.getCookieValue() && {
|
|
179
181
|
Cookie: "".concat(_SessionStorage.default.session.getCookieName(), "=").concat(_SessionStorage.default.session.getCookieValue())
|
|
182
|
+
}), _SessionStorage.default.session.getUseBearerTokenForAmApis() && _SessionStorage.default.session.getBearerToken() && {
|
|
183
|
+
Authorization: "Bearer ".concat(_SessionStorage.default.session.getBearerToken())
|
|
180
184
|
});
|
|
181
185
|
if (requestOverride['headers']) {
|
|
182
186
|
headers = _objectSpread(_objectSpread({}, headers), requestOverride['headers']);
|
|
@@ -211,19 +215,25 @@ function generateIdmApi() {
|
|
|
211
215
|
var requestDetails = _objectSpread(_objectSpread({
|
|
212
216
|
// baseURL: getTenantURL(storage.session.getTenant()),
|
|
213
217
|
timeout,
|
|
214
|
-
headers: {
|
|
218
|
+
headers: _objectSpread({
|
|
215
219
|
'User-Agent': userAgent,
|
|
216
220
|
'X-ForgeRock-TransactionId': transactionId,
|
|
217
221
|
'Content-Type': 'application/json'
|
|
218
|
-
}
|
|
222
|
+
}, _SessionStorage.default.session.getBearerToken() && {
|
|
223
|
+
Authorization: "Bearer ".concat(_SessionStorage.default.session.getBearerToken())
|
|
224
|
+
})
|
|
219
225
|
}, requestOverride), {}, {
|
|
220
226
|
httpAgent: getHttpAgent(),
|
|
221
227
|
httpsAgent: getHttpsAgent(),
|
|
222
228
|
proxy: getProxy()
|
|
223
229
|
});
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
230
|
+
|
|
231
|
+
// if (storage.session.getBearerToken()) {
|
|
232
|
+
// requestDetails.headers[
|
|
233
|
+
// 'Authorization'
|
|
234
|
+
// ] = `Bearer ${storage.session.getBearerToken()}`;
|
|
235
|
+
// }
|
|
236
|
+
|
|
227
237
|
var request = _axios.default.create(requestDetails);
|
|
228
238
|
|
|
229
239
|
// enable curlirizer output in debug mode
|
|
@@ -242,10 +252,12 @@ function generateIdmApi() {
|
|
|
242
252
|
*/
|
|
243
253
|
function generateLogKeysApi() {
|
|
244
254
|
var requestOverride = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
245
|
-
var headers = {
|
|
255
|
+
var headers = _objectSpread({
|
|
246
256
|
'User-Agent': userAgent,
|
|
247
257
|
'Content-Type': 'application/json'
|
|
248
|
-
}
|
|
258
|
+
}, _SessionStorage.default.session.getBearerToken() && {
|
|
259
|
+
Authorization: "Bearer ".concat(_SessionStorage.default.session.getBearerToken())
|
|
260
|
+
});
|
|
249
261
|
var requestDetails = _objectSpread(_objectSpread({
|
|
250
262
|
// baseURL: getTenantURL(storage.session.getTenant()),
|
|
251
263
|
timeout,
|
|
@@ -255,9 +267,13 @@ function generateLogKeysApi() {
|
|
|
255
267
|
httpsAgent: getHttpsAgent(),
|
|
256
268
|
proxy: getProxy()
|
|
257
269
|
});
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
270
|
+
|
|
271
|
+
// if (storage.session.getBearerToken()) {
|
|
272
|
+
// requestDetails.headers[
|
|
273
|
+
// 'Authorization'
|
|
274
|
+
// ] = `Bearer ${storage.session.getBearerToken()}`;
|
|
275
|
+
// }
|
|
276
|
+
|
|
261
277
|
var request = _axios.default.create(requestDetails);
|
|
262
278
|
|
|
263
279
|
// enable curlirizer output in debug mode
|
|
@@ -308,11 +324,13 @@ function generateLogApi() {
|
|
|
308
324
|
*/
|
|
309
325
|
function generateESVApi(resource) {
|
|
310
326
|
var requestOverride = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
311
|
-
var headers = _objectSpread({
|
|
327
|
+
var headers = _objectSpread(_objectSpread({
|
|
312
328
|
'User-Agent': userAgent,
|
|
313
329
|
'Content-Type': 'application/json'
|
|
314
330
|
}, resource.apiVersion && {
|
|
315
331
|
'Accept-API-Version': resource.apiVersion
|
|
332
|
+
}), _SessionStorage.default.session.getBearerToken() && {
|
|
333
|
+
Authorization: "Bearer ".concat(_SessionStorage.default.session.getBearerToken())
|
|
316
334
|
});
|
|
317
335
|
var requestDetails = _objectSpread(_objectSpread({
|
|
318
336
|
// baseURL: getTenantURL(storage.session.getTenant()),
|
|
@@ -323,9 +341,13 @@ function generateESVApi(resource) {
|
|
|
323
341
|
httpsAgent: getHttpsAgent(),
|
|
324
342
|
proxy: getProxy()
|
|
325
343
|
});
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
344
|
+
|
|
345
|
+
// if (storage.session.getBearerToken()) {
|
|
346
|
+
// requestDetails.headers[
|
|
347
|
+
// 'Authorization'
|
|
348
|
+
// ] = `Bearer ${storage.session.getBearerToken()}`;
|
|
349
|
+
// }
|
|
350
|
+
|
|
329
351
|
var request = _axios.default.create(requestDetails);
|
|
330
352
|
|
|
331
353
|
// enable curlirizer output in debug mode
|
package/cjs/api/BaseApi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseApi.js","names":["FrodoMockAdapter","process","env","FRODO_MOCK","frodo_mock","MockAdapter","axios","undefined","mockAll","__dirname","path","dirname","fileURLToPath","pkg","JSON","parse","fs","readFileSync","resolve","axiosRetry","retries","shouldResetTimeout","retryCondition","_error","timeout","maxSockets","maxFreeSockets","freeSocketTimeout","userAgent","name","version","transactionId","randomUUID","httpAgent","httpsAgent","getHttpAgent","Agent","getHttpsAgent","options","rejectUnauthorized","storage","session","getAllowInsecureConnection","httpsProxy","HTTPS_PROXY","https_proxy","console","error","parsed","url","hostname","port","protocol","HttpsProxyAgent","HttpsAgent","getProxy","curlirize","request","_curlirize","result","err","command","printMessage","curlirizeMessage","generateAmApi","resource","requestOverride","headers","apiVersion","getCookieName","getCookieValue","Cookie","requestDetails","getAuthenticationHeaderOverrides","proxy","create","getCurlirize","generateOauth2Api","generateIdmApi","getBearerToken","generateLogKeysApi","generateLogApi","getLogApiKey","getLogApiSecret","generateESVApi","generateReleaseApi","baseUrl","baseURL"],"sources":["api/BaseApi.ts"],"sourcesContent":["import axios, { AxiosProxyConfig } from 'axios';\nimport MockAdapter from 'axios-mock-adapter';\nimport Agent from 'agentkeepalive';\nimport axiosRetry from 'axios-retry';\nimport HttpsProxyAgent from 'https-proxy-agent';\nimport url from 'url';\nimport fs from 'fs';\nimport storage from '../storage/SessionStorage';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\nimport { curlirizeMessage, printMessage } from '../ops/utils/Console';\nimport _curlirize from '../ext/axios-curlirize/curlirize';\nimport { randomUUID } from 'crypto';\nimport { mockAll } from '../test/mocks/ForgeRockApiMockEngine';\n\n// this has to be the first statement after the imports for mocking to work\nexport const FrodoMockAdapter =\n process.env.FRODO_MOCK || process.env.frodo_mock\n ? new MockAdapter(axios)\n : undefined;\n\nif (FrodoMockAdapter) mockAll(FrodoMockAdapter);\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nconst pkg = JSON.parse(\n fs.readFileSync(path.resolve(__dirname, '../../package.json'), 'utf8')\n);\n\naxiosRetry(axios, {\n retries: 3,\n shouldResetTimeout: true,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n retryCondition: (_error) => true, // retry no matter what\n});\n\n// all agents\nconst timeout = 30000;\n\n// agentkeepalive\nconst maxSockets = 100;\nconst maxFreeSockets = 10;\nconst freeSocketTimeout = 30000;\n\nconst userAgent = `${pkg.name}/${pkg.version}`;\nconst transactionId = `frodo-${randomUUID()}`;\nlet httpAgent, httpsAgent;\n\nfunction getHttpAgent() {\n if (httpAgent) return httpAgent;\n httpAgent = new Agent({\n maxSockets,\n maxFreeSockets,\n timeout,\n freeSocketTimeout,\n });\n return httpAgent;\n}\n\n/**\n * Helper method to create properly configured httpsAgent\n * @returns {any} appropriate httpsAgent\n */\nfunction getHttpsAgent() {\n if (httpsAgent) return httpsAgent;\n const options = {\n rejectUnauthorized: !storage.session.getAllowInsecureConnection(),\n };\n const httpsProxy = process.env.HTTPS_PROXY || process.env.https_proxy;\n if (httpsProxy) {\n // https://github.com/axios/axios/issues/3459\n console.error(`Using proxy ${httpsProxy}`['yellow']);\n const parsed = url.parse(httpsProxy);\n options['host'] = parsed.hostname;\n options['port'] = parsed.port;\n options['protocol'] = parsed.protocol;\n options.rejectUnauthorized = !storage.session.getAllowInsecureConnection();\n httpsAgent = HttpsProxyAgent(options);\n return httpsAgent;\n }\n httpsAgent = new Agent.HttpsAgent({\n ...options,\n maxSockets,\n maxFreeSockets,\n timeout,\n freeSocketTimeout,\n });\n return httpsAgent;\n}\n\n/**\n * Get Proxy config\n * @returns {AxiosProxyConfig | false} axios proxy config or false\n */\nfunction getProxy(): AxiosProxyConfig | false {\n if (process.env.HTTPS_PROXY || process.env.https_proxy) return false;\n return null;\n}\n\n/**\n * Customize curlirize output\n * @param request axios request object\n */\nfunction curlirize(request) {\n _curlirize(request, (result, err) => {\n const { command } = result;\n if (err) {\n printMessage(err, 'error');\n } else {\n curlirizeMessage(command);\n }\n });\n}\n\n/**\n * Generates an AM Axios API instance\n * @param {object} resource Takes an object takes a resource object. example:\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either\n * add on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateAmApi(resource, requestOverride = {}) {\n let headers = {\n 'User-Agent': userAgent,\n 'X-ForgeRock-TransactionId': transactionId,\n 'Content-Type': 'application/json',\n // only add API version if we have it\n ...(resource.apiVersion && { 'Accept-API-Version': resource.apiVersion }),\n // only send session cookie if we know its name and value\n ...(storage.session.getCookieName() &&\n storage.session.getCookieValue() && {\n Cookie: `${storage.session.getCookieName()}=${storage.session.getCookieValue()}`,\n }),\n };\n if (requestOverride['headers']) {\n headers = {\n ...headers,\n ...requestOverride['headers'],\n };\n }\n\n const requestDetails = {\n // baseURL: `${storage.session.getTenant()}/json`,\n timeout,\n ...requestOverride,\n headers: {\n ...headers,\n ...storage.session.getAuthenticationHeaderOverrides(),\n },\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (storage.session.getCurlirize()) {\n curlirize(request);\n }\n\n return request;\n}\n\n/**\n * Generates an OAuth2 Axios API instance\n * @param {object} resource Takes an object takes a resource object. example:\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either\n * add on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateOauth2Api(resource, requestOverride = {}) {\n let headers = {\n 'User-Agent': userAgent,\n 'X-ForgeRock-TransactionId': transactionId,\n // only add API version if we have it\n ...(resource.apiVersion && { 'Accept-API-Version': resource.apiVersion }),\n // only send session cookie if we know its name and value\n ...(storage.session.getCookieName() &&\n storage.session.getCookieValue() && {\n Cookie: `${storage.session.getCookieName()}=${storage.session.getCookieValue()}`,\n }),\n };\n if (requestOverride['headers']) {\n headers = {\n ...headers,\n ...requestOverride['headers'],\n };\n }\n\n const requestDetails = {\n // baseURL: `${storage.session.getTenant()}/json${resource.path}`,\n timeout,\n ...requestOverride,\n headers: {\n ...headers,\n ...storage.session.getAuthenticationHeaderOverrides(),\n },\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (storage.session.getCurlirize()) {\n curlirize(request);\n }\n\n return request;\n}\n\n/**\n * Generates an IDM Axios API instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateIdmApi(requestOverride = {}) {\n const requestDetails = {\n // baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers: {\n 'User-Agent': userAgent,\n 'X-ForgeRock-TransactionId': transactionId,\n 'Content-Type': 'application/json',\n },\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n if (storage.session.getBearerToken()) {\n requestDetails.headers[\n 'Authorization'\n ] = `Bearer ${storage.session.getBearerToken()}`;\n }\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (storage.session.getCurlirize()) {\n curlirize(request);\n }\n\n return request;\n}\n\n/**\n * Generates a LogKeys API Axios instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateLogKeysApi(requestOverride = {}) {\n const headers = {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n };\n const requestDetails = {\n // baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n if (storage.session.getBearerToken()) {\n requestDetails.headers[\n 'Authorization'\n ] = `Bearer ${storage.session.getBearerToken()}`;\n }\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (storage.session.getCurlirize()) {\n curlirize(request);\n }\n\n return request;\n}\n\n/**\n * Generates a Log API Axios instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateLogApi(requestOverride = {}) {\n const headers = {\n 'User-Agent': userAgent,\n 'X-API-Key': storage.session.getLogApiKey(),\n 'X-API-Secret': storage.session.getLogApiSecret(),\n };\n const requestDetails = {\n // baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (storage.session.getCurlirize()) {\n curlirize(request);\n }\n\n return request;\n}\n\n/**\n * Generates an ESV Axios API instance for Environment Secrets and Variables\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateESVApi(resource, requestOverride = {}) {\n const headers = {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n // only add API version if we have it\n ...(resource.apiVersion && { 'Accept-API-Version': resource.apiVersion }),\n };\n const requestDetails = {\n // baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n if (storage.session.getBearerToken()) {\n requestDetails.headers[\n 'Authorization'\n ] = `Bearer ${storage.session.getBearerToken()}`;\n }\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (storage.session.getCurlirize()) {\n curlirize(request);\n }\n\n return request;\n}\n\n/**\n * Generates a release (Github or Npm) Axios API instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateReleaseApi(baseUrl, requestOverride = {}) {\n const requestDetails = {\n baseURL: baseUrl,\n timeout,\n headers: {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n },\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (storage.session.getCurlirize()) {\n curlirize(request);\n }\n\n return request;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseApi.js","names":["FrodoMockAdapter","process","env","FRODO_MOCK","frodo_mock","MockAdapter","axios","undefined","mockAll","__dirname","path","dirname","fileURLToPath","pkg","JSON","parse","fs","readFileSync","resolve","axiosRetry","retries","shouldResetTimeout","retryCondition","_error","timeout","maxSockets","maxFreeSockets","freeSocketTimeout","userAgent","name","version","transactionId","randomUUID","httpAgent","httpsAgent","getHttpAgent","Agent","getHttpsAgent","options","rejectUnauthorized","storage","session","getAllowInsecureConnection","httpsProxy","HTTPS_PROXY","https_proxy","console","error","parsed","url","hostname","port","protocol","HttpsProxyAgent","HttpsAgent","getProxy","curlirize","request","_curlirize","result","err","command","printMessage","curlirizeMessage","generateAmApi","resource","requestOverride","headers","apiVersion","getUseBearerTokenForAmApis","getCookieName","getCookieValue","Cookie","getBearerToken","Authorization","requestDetails","getAuthenticationHeaderOverrides","proxy","create","getCurlirize","generateOauth2Api","generateIdmApi","generateLogKeysApi","generateLogApi","getLogApiKey","getLogApiSecret","generateESVApi","generateReleaseApi","baseUrl","baseURL"],"sources":["api/BaseApi.ts"],"sourcesContent":["import axios, { AxiosProxyConfig } from 'axios';\nimport MockAdapter from 'axios-mock-adapter';\nimport Agent from 'agentkeepalive';\nimport axiosRetry from 'axios-retry';\nimport HttpsProxyAgent from 'https-proxy-agent';\nimport url from 'url';\nimport fs from 'fs';\nimport storage from '../storage/SessionStorage';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\nimport { curlirizeMessage, printMessage } from '../ops/utils/Console';\nimport _curlirize from '../ext/axios-curlirize/curlirize';\nimport { randomUUID } from 'crypto';\nimport { mockAll } from '../test/mocks/ForgeRockApiMockEngine';\n\n// this has to be the first statement after the imports for mocking to work\nexport const FrodoMockAdapter =\n process.env.FRODO_MOCK || process.env.frodo_mock\n ? new MockAdapter(axios)\n : undefined;\n\nif (FrodoMockAdapter) mockAll(FrodoMockAdapter);\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nconst pkg = JSON.parse(\n fs.readFileSync(path.resolve(__dirname, '../../package.json'), 'utf8')\n);\n\naxiosRetry(axios, {\n retries: 3,\n shouldResetTimeout: true,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n retryCondition: (_error) => true, // retry no matter what\n});\n\n// all agents\nconst timeout = 30000;\n\n// agentkeepalive\nconst maxSockets = 100;\nconst maxFreeSockets = 10;\nconst freeSocketTimeout = 30000;\n\nconst userAgent = `${pkg.name}/${pkg.version}`;\nconst transactionId = `frodo-${randomUUID()}`;\nlet httpAgent, httpsAgent;\n\nfunction getHttpAgent() {\n if (httpAgent) return httpAgent;\n httpAgent = new Agent({\n maxSockets,\n maxFreeSockets,\n timeout,\n freeSocketTimeout,\n });\n return httpAgent;\n}\n\n/**\n * Helper method to create properly configured httpsAgent\n * @returns {any} appropriate httpsAgent\n */\nfunction getHttpsAgent() {\n if (httpsAgent) return httpsAgent;\n const options = {\n rejectUnauthorized: !storage.session.getAllowInsecureConnection(),\n };\n const httpsProxy = process.env.HTTPS_PROXY || process.env.https_proxy;\n if (httpsProxy) {\n // https://github.com/axios/axios/issues/3459\n console.error(`Using proxy ${httpsProxy}`['yellow']);\n const parsed = url.parse(httpsProxy);\n options['host'] = parsed.hostname;\n options['port'] = parsed.port;\n options['protocol'] = parsed.protocol;\n options.rejectUnauthorized = !storage.session.getAllowInsecureConnection();\n httpsAgent = HttpsProxyAgent(options);\n return httpsAgent;\n }\n httpsAgent = new Agent.HttpsAgent({\n ...options,\n maxSockets,\n maxFreeSockets,\n timeout,\n freeSocketTimeout,\n });\n return httpsAgent;\n}\n\n/**\n * Get Proxy config\n * @returns {AxiosProxyConfig | false} axios proxy config or false\n */\nfunction getProxy(): AxiosProxyConfig | false {\n if (process.env.HTTPS_PROXY || process.env.https_proxy) return false;\n return null;\n}\n\n/**\n * Customize curlirize output\n * @param request axios request object\n */\nfunction curlirize(request) {\n _curlirize(request, (result, err) => {\n const { command } = result;\n if (err) {\n printMessage(err, 'error');\n } else {\n curlirizeMessage(command);\n }\n });\n}\n\n/**\n * Generates an AM Axios API instance\n * @param {object} resource Takes an object takes a resource object. example:\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either\n * add on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateAmApi(resource, requestOverride = {}) {\n let headers = {\n 'User-Agent': userAgent,\n 'X-ForgeRock-TransactionId': transactionId,\n 'Content-Type': 'application/json',\n // only add API version if we have it\n ...(resource.apiVersion && { 'Accept-API-Version': resource.apiVersion }),\n // only send session cookie if we know its name and value and we are not instructed to use the bearer token for AM APIs\n ...(!storage.session.getUseBearerTokenForAmApis() &&\n storage.session.getCookieName() &&\n storage.session.getCookieValue() && {\n Cookie: `${storage.session.getCookieName()}=${storage.session.getCookieValue()}`,\n }),\n // only add authorization header if we have a bearer token and are instructed to use it for AM APIs\n ...(storage.session.getUseBearerTokenForAmApis() &&\n storage.session.getBearerToken() && {\n Authorization: `Bearer ${storage.session.getBearerToken()}`,\n }),\n };\n if (requestOverride['headers']) {\n headers = {\n ...headers,\n ...requestOverride['headers'],\n };\n }\n\n const requestDetails = {\n // baseURL: `${storage.session.getTenant()}/json`,\n timeout,\n ...requestOverride,\n headers: {\n ...headers,\n ...storage.session.getAuthenticationHeaderOverrides(),\n },\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (storage.session.getCurlirize()) {\n curlirize(request);\n }\n\n return request;\n}\n\n/**\n * Generates an OAuth2 Axios API instance\n * @param {object} resource Takes an object takes a resource object. example:\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either\n * add on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateOauth2Api(resource, requestOverride = {}) {\n let headers = {\n 'User-Agent': userAgent,\n 'X-ForgeRock-TransactionId': transactionId,\n // only add API version if we have it\n ...(resource.apiVersion && { 'Accept-API-Version': resource.apiVersion }),\n // only send session cookie if we know its name and value and we are not instructed to use the bearer token for AM APIs\n ...(!storage.session.getUseBearerTokenForAmApis() &&\n storage.session.getCookieName() &&\n storage.session.getCookieValue() && {\n Cookie: `${storage.session.getCookieName()}=${storage.session.getCookieValue()}`,\n }),\n // only add authorization header if we have a bearer token and are instructed to use it for AM APIs\n ...(storage.session.getUseBearerTokenForAmApis() &&\n storage.session.getBearerToken() && {\n Authorization: `Bearer ${storage.session.getBearerToken()}`,\n }),\n };\n if (requestOverride['headers']) {\n headers = {\n ...headers,\n ...requestOverride['headers'],\n };\n }\n\n const requestDetails = {\n // baseURL: `${storage.session.getTenant()}/json${resource.path}`,\n timeout,\n ...requestOverride,\n headers: {\n ...headers,\n ...storage.session.getAuthenticationHeaderOverrides(),\n },\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (storage.session.getCurlirize()) {\n curlirize(request);\n }\n\n return request;\n}\n\n/**\n * Generates an IDM Axios API instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateIdmApi(requestOverride = {}) {\n const requestDetails = {\n // baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers: {\n 'User-Agent': userAgent,\n 'X-ForgeRock-TransactionId': transactionId,\n 'Content-Type': 'application/json',\n // only add authorization header if we have a bearer token\n ...(storage.session.getBearerToken() && {\n Authorization: `Bearer ${storage.session.getBearerToken()}`,\n }),\n },\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n // if (storage.session.getBearerToken()) {\n // requestDetails.headers[\n // 'Authorization'\n // ] = `Bearer ${storage.session.getBearerToken()}`;\n // }\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (storage.session.getCurlirize()) {\n curlirize(request);\n }\n\n return request;\n}\n\n/**\n * Generates a LogKeys API Axios instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateLogKeysApi(requestOverride = {}) {\n const headers = {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n // only add authorization header if we have a bearer token\n ...(storage.session.getBearerToken() && {\n Authorization: `Bearer ${storage.session.getBearerToken()}`,\n }),\n };\n const requestDetails = {\n // baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n // if (storage.session.getBearerToken()) {\n // requestDetails.headers[\n // 'Authorization'\n // ] = `Bearer ${storage.session.getBearerToken()}`;\n // }\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (storage.session.getCurlirize()) {\n curlirize(request);\n }\n\n return request;\n}\n\n/**\n * Generates a Log API Axios instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateLogApi(requestOverride = {}) {\n const headers = {\n 'User-Agent': userAgent,\n 'X-API-Key': storage.session.getLogApiKey(),\n 'X-API-Secret': storage.session.getLogApiSecret(),\n };\n const requestDetails = {\n // baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (storage.session.getCurlirize()) {\n curlirize(request);\n }\n\n return request;\n}\n\n/**\n * Generates an ESV Axios API instance for Environment Secrets and Variables\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateESVApi(resource, requestOverride = {}) {\n const headers = {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n // only add API version if we have it\n ...(resource.apiVersion && { 'Accept-API-Version': resource.apiVersion }),\n // only add authorization header if we have a bearer token\n ...(storage.session.getBearerToken() && {\n Authorization: `Bearer ${storage.session.getBearerToken()}`,\n }),\n };\n const requestDetails = {\n // baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n // if (storage.session.getBearerToken()) {\n // requestDetails.headers[\n // 'Authorization'\n // ] = `Bearer ${storage.session.getBearerToken()}`;\n // }\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (storage.session.getCurlirize()) {\n curlirize(request);\n }\n\n return request;\n}\n\n/**\n * Generates a release (Github or Npm) Axios API instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateReleaseApi(baseUrl, requestOverride = {}) {\n const requestDetails = {\n baseURL: baseUrl,\n timeout,\n headers: {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n },\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (storage.session.getCurlirize()) {\n curlirize(request);\n }\n\n return request;\n}\n"],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
exports.createManagedObject = createManagedObject;
|
|
6
7
|
exports.getManagedObject = getManagedObject;
|
|
7
8
|
exports.putManagedObject = putManagedObject;
|
|
8
9
|
exports.queryAllManagedObjectsByType = queryAllManagedObjectsByType;
|
|
@@ -14,6 +15,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
14
15
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
15
16
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
16
17
|
var managedObjectURLTemplate = '%s/openidm/managed/%s';
|
|
18
|
+
var createManagedObjectURLTemplate = '%s/openidm/managed/%s?_action=create';
|
|
17
19
|
var managedObjectByIdURLTemplate = '%s/openidm/managed/%s/%s';
|
|
18
20
|
var managedObjectQueryAllURLTemplate = "".concat(managedObjectURLTemplate, "?_queryFilter=true&_pageSize=10000");
|
|
19
21
|
|
|
@@ -26,10 +28,10 @@ function getManagedObject(_x, _x2, _x3) {
|
|
|
26
28
|
return _getManagedObject.apply(this, arguments);
|
|
27
29
|
}
|
|
28
30
|
/**
|
|
29
|
-
*
|
|
30
|
-
* @param {
|
|
31
|
-
* @param {
|
|
32
|
-
* @returns {Promise} a promise that resolves to an object containing a managed object
|
|
31
|
+
* Create managed object with server-generated id
|
|
32
|
+
* @param {string} moType managed object type
|
|
33
|
+
* @param {any} moData managed object data
|
|
34
|
+
* @returns {Promise<ObjectSkeletonInterface>} a promise that resolves to an object containing a managed object
|
|
33
35
|
*/
|
|
34
36
|
function _getManagedObject() {
|
|
35
37
|
_getManagedObject = _asyncToGenerator(function* (type, id, fields) {
|
|
@@ -39,7 +41,26 @@ function _getManagedObject() {
|
|
|
39
41
|
});
|
|
40
42
|
return _getManagedObject.apply(this, arguments);
|
|
41
43
|
}
|
|
42
|
-
function
|
|
44
|
+
function createManagedObject(_x4, _x5) {
|
|
45
|
+
return _createManagedObject.apply(this, arguments);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Create or update managed object
|
|
49
|
+
* @param {String} id managed object id
|
|
50
|
+
* @param {String} data managed object
|
|
51
|
+
* @returns {Promise} a promise that resolves to an object containing a managed object
|
|
52
|
+
*/
|
|
53
|
+
function _createManagedObject() {
|
|
54
|
+
_createManagedObject = _asyncToGenerator(function* (moType, moData) {
|
|
55
|
+
var urlString = _util.default.format(createManagedObjectURLTemplate, (0, _ApiUtils.getTenantURL)(_SessionStorage.default.session.getTenant()), moType);
|
|
56
|
+
var {
|
|
57
|
+
data
|
|
58
|
+
} = yield (0, _BaseApi.generateIdmApi)().post(urlString, moData);
|
|
59
|
+
return data;
|
|
60
|
+
});
|
|
61
|
+
return _createManagedObject.apply(this, arguments);
|
|
62
|
+
}
|
|
63
|
+
function putManagedObject(_x6, _x7, _x8) {
|
|
43
64
|
return _putManagedObject.apply(this, arguments);
|
|
44
65
|
}
|
|
45
66
|
/**
|
|
@@ -56,7 +77,7 @@ function _putManagedObject() {
|
|
|
56
77
|
});
|
|
57
78
|
return _putManagedObject.apply(this, arguments);
|
|
58
79
|
}
|
|
59
|
-
function queryAllManagedObjectsByType(
|
|
80
|
+
function queryAllManagedObjectsByType(_x9, _x10, _x11) {
|
|
60
81
|
return _queryAllManagedObjectsByType.apply(this, arguments);
|
|
61
82
|
}
|
|
62
83
|
function _queryAllManagedObjectsByType() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManagedObjectApi.js","names":["managedObjectURLTemplate","managedObjectByIdURLTemplate","managedObjectQueryAllURLTemplate","getManagedObject","type","id","fields","fieldsParam","length","join","urlString","util","format","getTenantURL","storage","session","getTenant","generateIdmApi","get","
|
|
1
|
+
{"version":3,"file":"ManagedObjectApi.js","names":["managedObjectURLTemplate","createManagedObjectURLTemplate","managedObjectByIdURLTemplate","managedObjectQueryAllURLTemplate","getManagedObject","type","id","fields","fieldsParam","length","join","urlString","util","format","getTenantURL","storage","session","getTenant","generateIdmApi","get","createManagedObject","moType","moData","data","post","putManagedObject","put","queryAllManagedObjectsByType","pageCookie","urlTemplate"],"sources":["api/ManagedObjectApi.ts"],"sourcesContent":["import util from 'util';\nimport { generateIdmApi } from './BaseApi';\nimport { getTenantURL } from './utils/ApiUtils';\nimport storage from '../storage/SessionStorage';\nimport { ObjectSkeletonInterface } from './ApiTypes';\n\nconst managedObjectURLTemplate = '%s/openidm/managed/%s';\nconst createManagedObjectURLTemplate = '%s/openidm/managed/%s?_action=create';\nconst managedObjectByIdURLTemplate = '%s/openidm/managed/%s/%s';\nconst managedObjectQueryAllURLTemplate = `${managedObjectURLTemplate}?_queryFilter=true&_pageSize=10000`;\n\n/**\n * Get managed object\n * @param {String} id managed object id\n * @returns {Promise} a promise that resolves to an object containing a managed object\n */\nexport async function getManagedObject(type, id, fields) {\n const fieldsParam =\n fields.length > 0 ? `_fields=${fields.join(',')}` : '_fields=*';\n const urlString = util.format(\n `${managedObjectByIdURLTemplate}?${fieldsParam}`,\n getTenantURL(storage.session.getTenant()),\n type,\n id\n );\n return generateIdmApi().get(urlString);\n}\n\n/**\n * Create managed object with server-generated id\n * @param {string} moType managed object type\n * @param {any} moData managed object data\n * @returns {Promise<ObjectSkeletonInterface>} a promise that resolves to an object containing a managed object\n */\nexport async function createManagedObject(\n moType: string,\n moData\n): Promise<ObjectSkeletonInterface> {\n const urlString = util.format(\n createManagedObjectURLTemplate,\n getTenantURL(storage.session.getTenant()),\n moType\n );\n const { data } = await generateIdmApi().post(urlString, moData);\n return data;\n}\n\n/**\n * Create or update managed object\n * @param {String} id managed object id\n * @param {String} data managed object\n * @returns {Promise} a promise that resolves to an object containing a managed object\n */\nexport async function putManagedObject(type, id, data) {\n const urlString = util.format(\n managedObjectByIdURLTemplate,\n getTenantURL(storage.session.getTenant()),\n type,\n id\n );\n return generateIdmApi().put(urlString, data);\n}\n\n/**\n * Query managed objects\n * @param {String} type managed object type\n * @param {String} fields fields to retrieve\n * @param {String} pageCookie paged results cookie\n * @returns {Promise} a promise that resolves to an object containing managed objects of the desired type\n */\nexport async function queryAllManagedObjectsByType(type, fields, pageCookie) {\n const fieldsParam =\n fields.length > 0 ? `&_fields=${fields.join(',')}` : '&_fields=_id';\n const urlTemplate = pageCookie\n ? `${managedObjectQueryAllURLTemplate}${fieldsParam}&_pagedResultsCookie=${pageCookie}`\n : `${managedObjectQueryAllURLTemplate}${fieldsParam}`;\n const urlString = util.format(\n urlTemplate,\n getTenantURL(storage.session.getTenant()),\n type\n );\n return generateIdmApi().get(urlString);\n}\n"],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AAAgD;AAAA;AAAA;AAGhD,IAAMA,wBAAwB,GAAG,uBAAuB;AACxD,IAAMC,8BAA8B,GAAG,sCAAsC;AAC7E,IAAMC,4BAA4B,GAAG,0BAA0B;AAC/D,IAAMC,gCAAgC,aAAMH,wBAAwB,uCAAoC;;AAExG;AACA;AACA;AACA;AACA;AAJA,SAKsBI,gBAAgB;EAAA;AAAA;AAYtC;AACA;AACA;AACA;AACA;AACA;AALA;EAAA,sCAZO,WAAgCC,IAAI,EAAEC,EAAE,EAAEC,MAAM,EAAE;IACvD,IAAMC,WAAW,GACfD,MAAM,CAACE,MAAM,GAAG,CAAC,qBAAcF,MAAM,CAACG,IAAI,CAAC,GAAG,CAAC,IAAK,WAAW;IACjE,IAAMC,SAAS,GAAGC,aAAI,CAACC,MAAM,WACxBX,4BAA4B,cAAIM,WAAW,GAC9C,IAAAM,sBAAY,EAACC,uBAAO,CAACC,OAAO,CAACC,SAAS,EAAE,CAAC,EACzCZ,IAAI,EACJC,EAAE,CACH;IACD,OAAO,IAAAY,uBAAc,GAAE,CAACC,GAAG,CAACR,SAAS,CAAC;EACxC,CAAC;EAAA;AAAA;AAAA,SAQqBS,mBAAmB;EAAA;AAAA;AAazC;AACA;AACA;AACA;AACA;AACA;AALA;EAAA,yCAbO,WACLC,MAAc,EACdC,MAAM,EAC4B;IAClC,IAAMX,SAAS,GAAGC,aAAI,CAACC,MAAM,CAC3BZ,8BAA8B,EAC9B,IAAAa,sBAAY,EAACC,uBAAO,CAACC,OAAO,CAACC,SAAS,EAAE,CAAC,EACzCI,MAAM,CACP;IACD,IAAM;MAAEE;IAAK,CAAC,SAAS,IAAAL,uBAAc,GAAE,CAACM,IAAI,CAACb,SAAS,EAAEW,MAAM,CAAC;IAC/D,OAAOC,IAAI;EACb,CAAC;EAAA;AAAA;AAAA,SAQqBE,gBAAgB;EAAA;AAAA;AAUtC;AACA;AACA;AACA;AACA;AACA;AACA;AANA;EAAA,sCAVO,WAAgCpB,IAAI,EAAEC,EAAE,EAAEiB,IAAI,EAAE;IACrD,IAAMZ,SAAS,GAAGC,aAAI,CAACC,MAAM,CAC3BX,4BAA4B,EAC5B,IAAAY,sBAAY,EAACC,uBAAO,CAACC,OAAO,CAACC,SAAS,EAAE,CAAC,EACzCZ,IAAI,EACJC,EAAE,CACH;IACD,OAAO,IAAAY,uBAAc,GAAE,CAACQ,GAAG,CAACf,SAAS,EAAEY,IAAI,CAAC;EAC9C,CAAC;EAAA;AAAA;AAAA,SASqBI,4BAA4B;EAAA;AAAA;AAAA;EAAA,kDAA3C,WAA4CtB,IAAI,EAAEE,MAAM,EAAEqB,UAAU,EAAE;IAC3E,IAAMpB,WAAW,GACfD,MAAM,CAACE,MAAM,GAAG,CAAC,sBAAeF,MAAM,CAACG,IAAI,CAAC,GAAG,CAAC,IAAK,cAAc;IACrE,IAAMmB,WAAW,GAAGD,UAAU,aACvBzB,gCAAgC,SAAGK,WAAW,kCAAwBoB,UAAU,cAChFzB,gCAAgC,SAAGK,WAAW,CAAE;IACvD,IAAMG,SAAS,GAAGC,aAAI,CAACC,MAAM,CAC3BgB,WAAW,EACX,IAAAf,sBAAY,EAACC,uBAAO,CAACC,OAAO,CAACC,SAAS,EAAE,CAAC,EACzCZ,IAAI,CACL;IACD,OAAO,IAAAa,uBAAc,GAAE,CAACC,GAAG,CAACR,SAAS,CAAC;EACxC,CAAC;EAAA;AAAA"}
|
package/cjs/api/OAuth2OIDCApi.js
CHANGED
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.accessToken = accessToken;
|
|
7
7
|
exports.authorize = authorize;
|
|
8
8
|
exports.clientCredentialsGrant = clientCredentialsGrant;
|
|
9
|
+
exports.getTokenInfo = getTokenInfo;
|
|
9
10
|
var _util = _interopRequireDefault(require("util"));
|
|
10
11
|
var _qs = _interopRequireDefault(require("qs"));
|
|
11
12
|
var _BaseApi = require("./BaseApi");
|
|
@@ -17,6 +18,7 @@ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try
|
|
|
17
18
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
18
19
|
var authorizeUrlTemplate = '%s/oauth2%s/authorize';
|
|
19
20
|
var accessTokenUrlTemplate = '%s/oauth2%s/access_token';
|
|
21
|
+
var tokenInfoUrlTemplate = '%s/oauth2%s/tokeninfo';
|
|
20
22
|
var apiVersion = 'protocol=2.1,resource=1.0';
|
|
21
23
|
var getApiConfig = () => ({
|
|
22
24
|
apiVersion
|
|
@@ -48,6 +50,17 @@ function _authorize() {
|
|
|
48
50
|
function accessToken(_x2) {
|
|
49
51
|
return _accessToken.apply(this, arguments);
|
|
50
52
|
}
|
|
53
|
+
function _accessToken() {
|
|
54
|
+
_accessToken = _asyncToGenerator(function* (data) {
|
|
55
|
+
var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
56
|
+
var accessTokenURL = _util.default.format(accessTokenUrlTemplate, _SessionStorage.default.session.getTenant(), '');
|
|
57
|
+
return (0, _BaseApi.generateOauth2Api)(getApiConfig()).post(accessTokenURL, data, config);
|
|
58
|
+
});
|
|
59
|
+
return _accessToken.apply(this, arguments);
|
|
60
|
+
}
|
|
61
|
+
function getTokenInfo() {
|
|
62
|
+
return _getTokenInfo.apply(this, arguments);
|
|
63
|
+
}
|
|
51
64
|
/**
|
|
52
65
|
* Perform client credentials grant flow
|
|
53
66
|
* @param {String} clientId client id
|
|
@@ -55,13 +68,16 @@ function accessToken(_x2) {
|
|
|
55
68
|
* @param {String} scope space-delimited scope list
|
|
56
69
|
* @returns {Promise} a promise resolving to an object containing the authorization server response object
|
|
57
70
|
*/
|
|
58
|
-
function
|
|
59
|
-
|
|
60
|
-
var config = arguments.length >
|
|
61
|
-
var accessTokenURL = _util.default.format(
|
|
62
|
-
|
|
71
|
+
function _getTokenInfo() {
|
|
72
|
+
_getTokenInfo = _asyncToGenerator(function* () {
|
|
73
|
+
var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
74
|
+
var accessTokenURL = _util.default.format(tokenInfoUrlTemplate, _SessionStorage.default.session.getTenant(), '');
|
|
75
|
+
var {
|
|
76
|
+
data
|
|
77
|
+
} = yield (0, _BaseApi.generateOauth2Api)(getApiConfig()).get(accessTokenURL, config);
|
|
78
|
+
return data;
|
|
63
79
|
});
|
|
64
|
-
return
|
|
80
|
+
return _getTokenInfo.apply(this, arguments);
|
|
65
81
|
}
|
|
66
82
|
function clientCredentialsGrant(_x3, _x4, _x5) {
|
|
67
83
|
return _clientCredentialsGrant.apply(this, arguments);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OAuth2OIDCApi.js","names":["authorizeUrlTemplate","accessTokenUrlTemplate","apiVersion","getApiConfig","authorize","data","config","authorizeURL","util","format","storage","session","getTenant","generateOauth2Api","post","accessToken","accessTokenURL","clientCredentialsGrant","clientId","clientSecret","scope","urlString","getCurrentRealmPath","requestOverride","headers","Authorization","encode","requestBody","grant_type","qs","stringify","withCredentials"],"sources":["api/OAuth2OIDCApi.ts"],"sourcesContent":["import util from 'util';\nimport qs from 'qs';\nimport { generateOauth2Api } from './BaseApi';\nimport { getCurrentRealmPath } from './utils/ApiUtils';\nimport storage from '../storage/SessionStorage';\nimport { encode } from './utils/Base64';\n\nconst authorizeUrlTemplate = '%s/oauth2%s/authorize';\nconst accessTokenUrlTemplate = '%s/oauth2%s/access_token';\nconst apiVersion = 'protocol=2.1,resource=1.0';\nconst getApiConfig = () => ({\n apiVersion,\n});\n\n/**\n * Perform the authorization step of the authorization code grant flow\n * @param {String} data body form data\n * @param {Object} config axios request config object\n * @returns {Promise} a promise resolving to an object containing the authorization server response object\n */\nexport async function authorize(data, config = {}) {\n const authorizeURL = util.format(\n authorizeUrlTemplate,\n storage.session.getTenant(),\n ''\n );\n return generateOauth2Api(getApiConfig()).post(authorizeURL, data, config);\n}\n\n/**\n * Perform access token request step of the authorization code grant flow\n * @param {*} data body form data\n * @param {*} config config axios request config object\n * @returns {Promise} a promise resolving to an object containing the authorization server response object containing the access token\n */\nexport async function accessToken(data, config = {}) {\n const accessTokenURL = util.format(\n accessTokenUrlTemplate,\n storage.session.getTenant(),\n ''\n );\n return generateOauth2Api(getApiConfig()).post(accessTokenURL, data, config);\n}\n\n/**\n * Perform client credentials grant flow\n * @param {String} clientId client id\n * @param {String} clientSecret client secret\n * @param {String} scope space-delimited scope list\n * @returns {Promise} a promise resolving to an object containing the authorization server response object\n */\nexport async function clientCredentialsGrant(clientId, clientSecret, scope) {\n const urlString = util.format(\n accessTokenUrlTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath()\n );\n const requestOverride = {\n headers: {\n Authorization: `Basic ${encode(`${clientId}:${clientSecret}`)}`,\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n };\n const requestBody = {\n grant_type: 'client_credentials',\n scope,\n };\n return generateOauth2Api(getApiConfig(), requestOverride).post(\n urlString,\n qs.stringify(requestBody),\n { withCredentials: true }\n );\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"OAuth2OIDCApi.js","names":["authorizeUrlTemplate","accessTokenUrlTemplate","tokenInfoUrlTemplate","apiVersion","getApiConfig","authorize","data","config","authorizeURL","util","format","storage","session","getTenant","generateOauth2Api","post","accessToken","accessTokenURL","getTokenInfo","get","clientCredentialsGrant","clientId","clientSecret","scope","urlString","getCurrentRealmPath","requestOverride","headers","Authorization","encode","requestBody","grant_type","qs","stringify","withCredentials"],"sources":["api/OAuth2OIDCApi.ts"],"sourcesContent":["import util from 'util';\nimport qs from 'qs';\nimport { generateOauth2Api } from './BaseApi';\nimport { getCurrentRealmPath } from './utils/ApiUtils';\nimport storage from '../storage/SessionStorage';\nimport { encode } from './utils/Base64';\nimport { AxiosRequestConfig } from 'axios';\n\nconst authorizeUrlTemplate = '%s/oauth2%s/authorize';\nconst accessTokenUrlTemplate = '%s/oauth2%s/access_token';\nconst tokenInfoUrlTemplate = '%s/oauth2%s/tokeninfo';\nconst apiVersion = 'protocol=2.1,resource=1.0';\nconst getApiConfig = () => ({\n apiVersion,\n});\n\n/**\n * Perform the authorization step of the authorization code grant flow\n * @param {String} data body form data\n * @param {Object} config axios request config object\n * @returns {Promise} a promise resolving to an object containing the authorization server response object\n */\nexport async function authorize(data, config: AxiosRequestConfig = {}) {\n const authorizeURL = util.format(\n authorizeUrlTemplate,\n storage.session.getTenant(),\n ''\n );\n return generateOauth2Api(getApiConfig()).post(authorizeURL, data, config);\n}\n\n/**\n * Perform access token request step of the authorization code grant flow\n * @param {*} data body form data\n * @param {*} config config axios request config object\n * @returns {Promise} a promise resolving to an object containing the authorization server response object containing the access token\n */\nexport async function accessToken(data, config: AxiosRequestConfig = {}) {\n const accessTokenURL = util.format(\n accessTokenUrlTemplate,\n storage.session.getTenant(),\n ''\n );\n return generateOauth2Api(getApiConfig()).post(accessTokenURL, data, config);\n}\n\nexport async function getTokenInfo(config: AxiosRequestConfig = {}) {\n const accessTokenURL = util.format(\n tokenInfoUrlTemplate,\n storage.session.getTenant(),\n ''\n );\n const { data } = await generateOauth2Api(getApiConfig()).get(\n accessTokenURL,\n config\n );\n return data;\n}\n\n/**\n * Perform client credentials grant flow\n * @param {String} clientId client id\n * @param {String} clientSecret client secret\n * @param {String} scope space-delimited scope list\n * @returns {Promise} a promise resolving to an object containing the authorization server response object\n */\nexport async function clientCredentialsGrant(clientId, clientSecret, scope) {\n const urlString = util.format(\n accessTokenUrlTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath()\n );\n const requestOverride = {\n headers: {\n Authorization: `Basic ${encode(`${clientId}:${clientSecret}`)}`,\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n };\n const requestBody = {\n grant_type: 'client_credentials',\n scope,\n };\n return generateOauth2Api(getApiConfig(), requestOverride).post(\n urlString,\n qs.stringify(requestBody),\n { withCredentials: true }\n );\n}\n"],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AAAwC;AAAA;AAAA;AAGxC,IAAMA,oBAAoB,GAAG,uBAAuB;AACpD,IAAMC,sBAAsB,GAAG,0BAA0B;AACzD,IAAMC,oBAAoB,GAAG,uBAAuB;AACpD,IAAMC,UAAU,GAAG,2BAA2B;AAC9C,IAAMC,YAAY,GAAG,OAAO;EAC1BD;AACF,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AALA,SAMsBE,SAAS;EAAA;AAAA;AAS/B;AACA;AACA;AACA;AACA;AACA;AALA;EAAA,+BATO,WAAyBC,IAAI,EAAmC;IAAA,IAAjCC,MAA0B,uEAAG,CAAC,CAAC;IACnE,IAAMC,YAAY,GAAGC,aAAI,CAACC,MAAM,CAC9BV,oBAAoB,EACpBW,uBAAO,CAACC,OAAO,CAACC,SAAS,EAAE,EAC3B,EAAE,CACH;IACD,OAAO,IAAAC,0BAAiB,EAACV,YAAY,EAAE,CAAC,CAACW,IAAI,CAACP,YAAY,EAAEF,IAAI,EAAEC,MAAM,CAAC;EAC3E,CAAC;EAAA;AAAA;AAAA,SAQqBS,WAAW;EAAA;AAAA;AAAA;EAAA,iCAA1B,WAA2BV,IAAI,EAAmC;IAAA,IAAjCC,MAA0B,uEAAG,CAAC,CAAC;IACrE,IAAMU,cAAc,GAAGR,aAAI,CAACC,MAAM,CAChCT,sBAAsB,EACtBU,uBAAO,CAACC,OAAO,CAACC,SAAS,EAAE,EAC3B,EAAE,CACH;IACD,OAAO,IAAAC,0BAAiB,EAACV,YAAY,EAAE,CAAC,CAACW,IAAI,CAACE,cAAc,EAAEX,IAAI,EAAEC,MAAM,CAAC;EAC7E,CAAC;EAAA;AAAA;AAAA,SAEqBW,YAAY;EAAA;AAAA;AAalC;AACA;AACA;AACA;AACA;AACA;AACA;AANA;EAAA,kCAbO,aAA6D;IAAA,IAAjCX,MAA0B,uEAAG,CAAC,CAAC;IAChE,IAAMU,cAAc,GAAGR,aAAI,CAACC,MAAM,CAChCR,oBAAoB,EACpBS,uBAAO,CAACC,OAAO,CAACC,SAAS,EAAE,EAC3B,EAAE,CACH;IACD,IAAM;MAAEP;IAAK,CAAC,SAAS,IAAAQ,0BAAiB,EAACV,YAAY,EAAE,CAAC,CAACe,GAAG,CAC1DF,cAAc,EACdV,MAAM,CACP;IACD,OAAOD,IAAI;EACb,CAAC;EAAA;AAAA;AAAA,SASqBc,sBAAsB;EAAA;AAAA;AAAA;EAAA,4CAArC,WAAsCC,QAAQ,EAAEC,YAAY,EAAEC,KAAK,EAAE;IAC1E,IAAMC,SAAS,GAAGf,aAAI,CAACC,MAAM,CAC3BT,sBAAsB,EACtBU,uBAAO,CAACC,OAAO,CAACC,SAAS,EAAE,EAC3B,IAAAY,6BAAmB,GAAE,CACtB;IACD,IAAMC,eAAe,GAAG;MACtBC,OAAO,EAAE;QACPC,aAAa,kBAAW,IAAAC,YAAM,YAAIR,QAAQ,cAAIC,YAAY,EAAG,CAAE;QAC/D,cAAc,EAAE;MAClB;IACF,CAAC;IACD,IAAMQ,WAAW,GAAG;MAClBC,UAAU,EAAE,oBAAoB;MAChCR;IACF,CAAC;IACD,OAAO,IAAAT,0BAAiB,EAACV,YAAY,EAAE,EAAEsB,eAAe,CAAC,CAACX,IAAI,CAC5DS,SAAS,EACTQ,WAAE,CAACC,SAAS,CAACH,WAAW,CAAC,EACzB;MAAEI,eAAe,EAAE;IAAK,CAAC,CAC1B;EACH,CAAC;EAAA;AAAA"}
|