@rockcarver/frodo-lib 2.0.0-13 → 2.0.0-14

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.
Files changed (398) hide show
  1. package/build.zip +0 -0
  2. package/cjs/api/AgentApi.js.map +1 -1
  3. package/cjs/api/AuthenticateApi.js.map +1 -1
  4. package/cjs/api/BaseApi.js +1 -1
  5. package/cjs/api/BaseApi.js.map +1 -1
  6. package/cjs/api/CirclesOfTrustApi.js.map +1 -1
  7. package/cjs/api/IdmConfigApi.js.map +1 -1
  8. package/cjs/api/IdmSystemApi.js.map +1 -1
  9. package/cjs/api/ManagedObjectApi.js.map +1 -1
  10. package/cjs/api/NodeApi.js.map +1 -1
  11. package/cjs/api/OAuth2ClientApi.js.map +1 -1
  12. package/cjs/api/OAuth2OIDCApi.js.map +1 -1
  13. package/cjs/api/OAuth2OIDCApi.test.js +2 -2
  14. package/cjs/api/OAuth2OIDCApi.test.js.map +1 -1
  15. package/cjs/api/OAuth2ProviderApi.js.map +1 -1
  16. package/cjs/api/PoliciesApi.js.map +1 -1
  17. package/cjs/api/PolicySetApi.js.map +1 -1
  18. package/cjs/api/RealmApi.js.map +1 -1
  19. package/cjs/api/ResourceTypesApi.js.map +1 -1
  20. package/cjs/api/Saml2Api.js.map +1 -1
  21. package/cjs/api/ScriptApi.js.map +1 -1
  22. package/cjs/api/ServerInfoApi.js.map +1 -1
  23. package/cjs/api/ServiceApi.js.map +1 -1
  24. package/cjs/api/SocialIdentityProvidersApi.js.map +1 -1
  25. package/cjs/api/TreeApi.js.map +1 -1
  26. package/cjs/api/cloud/AdminFederationProvidersApi.js.map +1 -1
  27. package/cjs/api/cloud/EnvInfoApi.js.map +1 -1
  28. package/cjs/api/cloud/FeatureApi.js.map +1 -1
  29. package/cjs/api/cloud/LogApi.js.map +1 -1
  30. package/cjs/api/cloud/SecretsApi.js.map +1 -1
  31. package/cjs/api/cloud/StartupApi.js.map +1 -1
  32. package/cjs/api/cloud/VariablesApi.js.map +1 -1
  33. package/cjs/api/utils/ApiUtils.js.map +1 -1
  34. package/cjs/api/utils/Base64.js +4 -4
  35. package/cjs/api/utils/Base64.js.map +1 -1
  36. package/cjs/index.js.map +1 -1
  37. package/cjs/lib/Frodo.js +9 -2
  38. package/cjs/lib/Frodo.js.map +1 -1
  39. package/cjs/lib/FrodoLib.js +17 -20
  40. package/cjs/lib/FrodoLib.js.map +1 -1
  41. package/cjs/ops/AdminOps.js.map +1 -1
  42. package/cjs/ops/AgentOps.js +35 -35
  43. package/cjs/ops/AgentOps.js.map +1 -1
  44. package/cjs/ops/AuthenticateOps.js +10 -12
  45. package/cjs/ops/AuthenticateOps.js.map +1 -1
  46. package/cjs/ops/CirclesOfTrustOps.js +14 -14
  47. package/cjs/ops/CirclesOfTrustOps.js.map +1 -1
  48. package/cjs/ops/ConnectionProfileOps.js +2 -2
  49. package/cjs/ops/ConnectionProfileOps.js.map +1 -1
  50. package/cjs/ops/ConnectionProfileOps.test.js +5 -5
  51. package/cjs/ops/ConnectionProfileOps.test.js.map +1 -1
  52. package/cjs/ops/EmailTemplateOps.js.map +1 -1
  53. package/cjs/ops/IdmOps.js.map +1 -1
  54. package/cjs/ops/IdpOps.js.map +1 -1
  55. package/cjs/ops/InfoOps.js +3 -4
  56. package/cjs/ops/InfoOps.js.map +1 -1
  57. package/cjs/ops/JoseOps.js +30 -0
  58. package/cjs/ops/JoseOps.js.map +1 -1
  59. package/cjs/ops/JourneyOps.js +41 -43
  60. package/cjs/ops/JourneyOps.js.map +1 -1
  61. package/cjs/ops/JourneyOps.test.js +3 -2
  62. package/cjs/ops/JourneyOps.test.js.map +1 -1
  63. package/cjs/ops/ManagedObjectOps.js.map +1 -1
  64. package/cjs/ops/NodeOps.js.map +1 -1
  65. package/cjs/ops/OAuth2ClientOps.js +19 -19
  66. package/cjs/ops/OAuth2ClientOps.js.map +1 -1
  67. package/cjs/ops/OAuth2OidcOps.js.map +1 -1
  68. package/cjs/ops/OAuth2ProviderOps.js.map +1 -1
  69. package/cjs/ops/OpsTypes.js.map +1 -1
  70. package/cjs/ops/OrganizationOps.js.map +1 -1
  71. package/cjs/ops/PolicyOps.js +29 -29
  72. package/cjs/ops/PolicyOps.js.map +1 -1
  73. package/cjs/ops/PolicySetOps.js +27 -27
  74. package/cjs/ops/PolicySetOps.js.map +1 -1
  75. package/cjs/ops/RealmOps.js.map +1 -1
  76. package/cjs/ops/ResourceTypeOps.js +23 -23
  77. package/cjs/ops/ResourceTypeOps.js.map +1 -1
  78. package/cjs/ops/Saml2Ops.js +11 -11
  79. package/cjs/ops/Saml2Ops.js.map +1 -1
  80. package/cjs/ops/Saml2Ops.test.js +3 -2
  81. package/cjs/ops/Saml2Ops.test.js.map +1 -1
  82. package/cjs/ops/ScriptOps.js +3 -3
  83. package/cjs/ops/ScriptOps.js.map +1 -1
  84. package/cjs/ops/ServiceOps.js.map +1 -1
  85. package/cjs/ops/ThemeOps.js.map +1 -1
  86. package/cjs/ops/cloud/AdminFederationOps.js.map +1 -1
  87. package/cjs/ops/cloud/FeatureOps.js.map +1 -1
  88. package/cjs/ops/cloud/LogOps.js.map +1 -1
  89. package/cjs/ops/cloud/SecretsOps.js.map +1 -1
  90. package/cjs/ops/cloud/ServiceAccountOps.js +1 -1
  91. package/cjs/ops/cloud/ServiceAccountOps.js.map +1 -1
  92. package/cjs/ops/cloud/StartupOps.js.map +1 -1
  93. package/cjs/ops/cloud/VariablesOps.js.map +1 -1
  94. package/cjs/ops/utils/Console.js.map +1 -1
  95. package/cjs/ops/utils/DataProtection.js +3 -3
  96. package/cjs/ops/utils/DataProtection.js.map +1 -1
  97. package/cjs/ops/utils/DataProtection.test.js +1 -1
  98. package/cjs/ops/utils/DataProtection.test.js.map +1 -1
  99. package/cjs/ops/utils/ExportImportUtils.js +2 -2
  100. package/cjs/ops/utils/ExportImportUtils.js.map +1 -1
  101. package/cjs/ops/utils/OpsUtils.js +105 -25
  102. package/cjs/ops/utils/OpsUtils.js.map +1 -1
  103. package/cjs/ops/utils/OpsUtils.test.js +6 -5
  104. package/cjs/ops/utils/OpsUtils.test.js.map +1 -1
  105. package/cjs/ops/utils/ScriptValidationUtils.js +33 -2
  106. package/cjs/ops/utils/ScriptValidationUtils.js.map +1 -1
  107. package/cjs/ops/utils/ScriptValidationUtils.test.js +1 -1
  108. package/cjs/ops/utils/ScriptValidationUtils.test.js.map +1 -1
  109. package/cjs/ops/utils/{Version.js → VersionUtils.js} +1 -1
  110. package/cjs/ops/utils/VersionUtils.js.map +1 -0
  111. package/cjs/ops/utils/{Version.test.js → VersionUtils.test.js} +3 -3
  112. package/cjs/ops/utils/VersionUtils.test.js.map +1 -0
  113. package/cjs/shared/Constants.js +34 -0
  114. package/cjs/shared/Constants.js.map +1 -0
  115. package/cjs/shared/State.js +477 -220
  116. package/cjs/shared/State.js.map +1 -1
  117. package/cjs/utils/SetupPollyForFrodoLib.js.map +1 -1
  118. package/esm/api/AgentApi.js.map +1 -1
  119. package/esm/api/AuthenticateApi.js.map +1 -1
  120. package/esm/api/BaseApi.js +2 -2
  121. package/esm/api/BaseApi.js.map +1 -1
  122. package/esm/api/CirclesOfTrustApi.js.map +1 -1
  123. package/esm/api/IdmConfigApi.js.map +1 -1
  124. package/esm/api/IdmSystemApi.js.map +1 -1
  125. package/esm/api/ManagedObjectApi.js.map +1 -1
  126. package/esm/api/NodeApi.js.map +1 -1
  127. package/esm/api/OAuth2ClientApi.js.map +1 -1
  128. package/esm/api/OAuth2OIDCApi.js.map +1 -1
  129. package/esm/api/OAuth2OIDCApi.test.js +2 -2
  130. package/esm/api/OAuth2OIDCApi.test.js.map +1 -1
  131. package/esm/api/OAuth2ProviderApi.js.map +1 -1
  132. package/esm/api/PoliciesApi.js.map +1 -1
  133. package/esm/api/PolicySetApi.js.map +1 -1
  134. package/esm/api/RealmApi.js.map +1 -1
  135. package/esm/api/ResourceTypesApi.js.map +1 -1
  136. package/esm/api/Saml2Api.js.map +1 -1
  137. package/esm/api/ScriptApi.js.map +1 -1
  138. package/esm/api/ServerInfoApi.js.map +1 -1
  139. package/esm/api/ServiceApi.js.map +1 -1
  140. package/esm/api/SocialIdentityProvidersApi.js.map +1 -1
  141. package/esm/api/TreeApi.js.map +1 -1
  142. package/esm/api/cloud/AdminFederationProvidersApi.js.map +1 -1
  143. package/esm/api/cloud/EnvInfoApi.js.map +1 -1
  144. package/esm/api/cloud/FeatureApi.js.map +1 -1
  145. package/esm/api/cloud/LogApi.js.map +1 -1
  146. package/esm/api/cloud/SecretsApi.js.map +1 -1
  147. package/esm/api/cloud/StartupApi.js.map +1 -1
  148. package/esm/api/cloud/VariablesApi.js.map +1 -1
  149. package/esm/api/utils/ApiUtils.js.map +1 -1
  150. package/esm/api/utils/Base64.js +4 -4
  151. package/esm/api/utils/Base64.js.map +1 -1
  152. package/esm/index.js +13 -1
  153. package/esm/index.js.map +1 -1
  154. package/esm/lib/Frodo.js +9 -2
  155. package/esm/lib/Frodo.js.map +1 -1
  156. package/esm/lib/FrodoLib.js +12 -16
  157. package/esm/lib/FrodoLib.js.map +1 -1
  158. package/esm/ops/AdminOps.js.map +1 -1
  159. package/esm/ops/AgentOps.js.map +1 -1
  160. package/esm/ops/AuthenticateOps.js +10 -10
  161. package/esm/ops/AuthenticateOps.js.map +1 -1
  162. package/esm/ops/CirclesOfTrustOps.js.map +1 -1
  163. package/esm/ops/ConnectionProfileOps.js +2 -2
  164. package/esm/ops/ConnectionProfileOps.js.map +1 -1
  165. package/esm/ops/ConnectionProfileOps.test.js +5 -5
  166. package/esm/ops/ConnectionProfileOps.test.js.map +1 -1
  167. package/esm/ops/EmailTemplateOps.js.map +1 -1
  168. package/esm/ops/IdmOps.js.map +1 -1
  169. package/esm/ops/IdpOps.js.map +1 -1
  170. package/esm/ops/InfoOps.js +2 -2
  171. package/esm/ops/InfoOps.js.map +1 -1
  172. package/esm/ops/JoseOps.js +20 -0
  173. package/esm/ops/JoseOps.js.map +1 -1
  174. package/esm/ops/JourneyOps.js +10 -11
  175. package/esm/ops/JourneyOps.js.map +1 -1
  176. package/esm/ops/JourneyOps.test.js +2 -2
  177. package/esm/ops/JourneyOps.test.js.map +1 -1
  178. package/esm/ops/ManagedObjectOps.js.map +1 -1
  179. package/esm/ops/NodeOps.js.map +1 -1
  180. package/esm/ops/OAuth2ClientOps.js.map +1 -1
  181. package/esm/ops/OAuth2OidcOps.js.map +1 -1
  182. package/esm/ops/OAuth2ProviderOps.js.map +1 -1
  183. package/esm/ops/OpsTypes.js.map +1 -1
  184. package/esm/ops/OrganizationOps.js.map +1 -1
  185. package/esm/ops/PolicyOps.js.map +1 -1
  186. package/esm/ops/PolicySetOps.js.map +1 -1
  187. package/esm/ops/RealmOps.js.map +1 -1
  188. package/esm/ops/ResourceTypeOps.js.map +1 -1
  189. package/esm/ops/Saml2Ops.js.map +1 -1
  190. package/esm/ops/Saml2Ops.test.js +2 -2
  191. package/esm/ops/Saml2Ops.test.js.map +1 -1
  192. package/esm/ops/ScriptOps.js.map +1 -1
  193. package/esm/ops/ServiceOps.js.map +1 -1
  194. package/esm/ops/ThemeOps.js.map +1 -1
  195. package/esm/ops/cloud/AdminFederationOps.js.map +1 -1
  196. package/esm/ops/cloud/FeatureOps.js.map +1 -1
  197. package/esm/ops/cloud/LogOps.js.map +1 -1
  198. package/esm/ops/cloud/SecretsOps.js.map +1 -1
  199. package/esm/ops/cloud/ServiceAccountOps.js +1 -1
  200. package/esm/ops/cloud/ServiceAccountOps.js.map +1 -1
  201. package/esm/ops/cloud/StartupOps.js.map +1 -1
  202. package/esm/ops/cloud/VariablesOps.js.map +1 -1
  203. package/esm/ops/utils/Console.js.map +1 -1
  204. package/esm/ops/utils/DataProtection.js +3 -3
  205. package/esm/ops/utils/DataProtection.js.map +1 -1
  206. package/esm/ops/utils/DataProtection.test.js +2 -2
  207. package/esm/ops/utils/DataProtection.test.js.map +1 -1
  208. package/esm/ops/utils/ExportImportUtils.js +2 -2
  209. package/esm/ops/utils/ExportImportUtils.js.map +1 -1
  210. package/esm/ops/utils/OpsUtils.js +96 -22
  211. package/esm/ops/utils/OpsUtils.js.map +1 -1
  212. package/esm/ops/utils/OpsUtils.test.js +5 -5
  213. package/esm/ops/utils/OpsUtils.test.js.map +1 -1
  214. package/esm/ops/utils/ScriptValidationUtils.js +28 -0
  215. package/esm/ops/utils/ScriptValidationUtils.js.map +1 -1
  216. package/esm/ops/utils/ScriptValidationUtils.test.js +2 -2
  217. package/esm/ops/utils/ScriptValidationUtils.test.js.map +1 -1
  218. package/esm/ops/utils/{Version.js → VersionUtils.js} +1 -1
  219. package/esm/ops/utils/VersionUtils.js.map +1 -0
  220. package/esm/ops/utils/{Version.test.js → VersionUtils.test.js} +2 -2
  221. package/esm/ops/utils/VersionUtils.test.js.map +1 -0
  222. package/esm/shared/Constants.js +27 -0
  223. package/esm/shared/Constants.js.map +1 -0
  224. package/esm/shared/State.js +481 -226
  225. package/esm/shared/State.js.map +1 -1
  226. package/esm/utils/SetupPollyForFrodoLib.js.map +1 -1
  227. package/package.json +5 -2
  228. package/types/api/AgentApi.d.ts +1 -1
  229. package/types/api/AgentApi.d.ts.map +1 -1
  230. package/types/api/AuthenticateApi.d.ts +1 -1
  231. package/types/api/AuthenticateApi.d.ts.map +1 -1
  232. package/types/api/BaseApi.d.ts +1 -1
  233. package/types/api/BaseApi.d.ts.map +1 -1
  234. package/types/api/CirclesOfTrustApi.d.ts +1 -1
  235. package/types/api/CirclesOfTrustApi.d.ts.map +1 -1
  236. package/types/api/IdmConfigApi.d.ts +1 -1
  237. package/types/api/IdmConfigApi.d.ts.map +1 -1
  238. package/types/api/IdmSystemApi.d.ts +1 -1
  239. package/types/api/IdmSystemApi.d.ts.map +1 -1
  240. package/types/api/ManagedObjectApi.d.ts +1 -1
  241. package/types/api/ManagedObjectApi.d.ts.map +1 -1
  242. package/types/api/NodeApi.d.ts +1 -1
  243. package/types/api/NodeApi.d.ts.map +1 -1
  244. package/types/api/OAuth2ClientApi.d.ts +1 -1
  245. package/types/api/OAuth2ClientApi.d.ts.map +1 -1
  246. package/types/api/OAuth2OIDCApi.d.ts +1 -1
  247. package/types/api/OAuth2OIDCApi.d.ts.map +1 -1
  248. package/types/api/OAuth2ProviderApi.d.ts +1 -1
  249. package/types/api/OAuth2ProviderApi.d.ts.map +1 -1
  250. package/types/api/PoliciesApi.d.ts +1 -1
  251. package/types/api/PoliciesApi.d.ts.map +1 -1
  252. package/types/api/PolicySetApi.d.ts +1 -1
  253. package/types/api/PolicySetApi.d.ts.map +1 -1
  254. package/types/api/RealmApi.d.ts +1 -1
  255. package/types/api/RealmApi.d.ts.map +1 -1
  256. package/types/api/ResourceTypesApi.d.ts +1 -1
  257. package/types/api/ResourceTypesApi.d.ts.map +1 -1
  258. package/types/api/Saml2Api.d.ts +1 -1
  259. package/types/api/Saml2Api.d.ts.map +1 -1
  260. package/types/api/ScriptApi.d.ts +1 -1
  261. package/types/api/ScriptApi.d.ts.map +1 -1
  262. package/types/api/ServerInfoApi.d.ts +1 -1
  263. package/types/api/ServerInfoApi.d.ts.map +1 -1
  264. package/types/api/ServiceApi.d.ts +1 -1
  265. package/types/api/ServiceApi.d.ts.map +1 -1
  266. package/types/api/SocialIdentityProvidersApi.d.ts +1 -1
  267. package/types/api/SocialIdentityProvidersApi.d.ts.map +1 -1
  268. package/types/api/TreeApi.d.ts +1 -1
  269. package/types/api/TreeApi.d.ts.map +1 -1
  270. package/types/api/cloud/AdminFederationProvidersApi.d.ts +1 -1
  271. package/types/api/cloud/AdminFederationProvidersApi.d.ts.map +1 -1
  272. package/types/api/cloud/EnvInfoApi.d.ts +1 -1
  273. package/types/api/cloud/EnvInfoApi.d.ts.map +1 -1
  274. package/types/api/cloud/FeatureApi.d.ts +1 -1
  275. package/types/api/cloud/FeatureApi.d.ts.map +1 -1
  276. package/types/api/cloud/LogApi.d.ts +1 -1
  277. package/types/api/cloud/LogApi.d.ts.map +1 -1
  278. package/types/api/cloud/SecretsApi.d.ts +1 -1
  279. package/types/api/cloud/SecretsApi.d.ts.map +1 -1
  280. package/types/api/cloud/StartupApi.d.ts +1 -1
  281. package/types/api/cloud/StartupApi.d.ts.map +1 -1
  282. package/types/api/cloud/VariablesApi.d.ts +1 -1
  283. package/types/api/cloud/VariablesApi.d.ts.map +1 -1
  284. package/types/api/utils/ApiUtils.d.ts +1 -1
  285. package/types/api/utils/ApiUtils.d.ts.map +1 -1
  286. package/types/api/utils/Base64.d.ts +6 -6
  287. package/types/api/utils/Base64.d.ts.map +1 -1
  288. package/types/index.d.ts +37 -0
  289. package/types/index.d.ts.map +1 -1
  290. package/types/lib/Frodo.d.ts +13 -1135
  291. package/types/lib/Frodo.d.ts.map +1 -1
  292. package/types/lib/FrodoLib.d.ts +79 -368
  293. package/types/lib/FrodoLib.d.ts.map +1 -1
  294. package/types/ops/AdminOps.d.ts +3 -2
  295. package/types/ops/AdminOps.d.ts.map +1 -1
  296. package/types/ops/AgentOps.d.ts +3 -2
  297. package/types/ops/AgentOps.d.ts.map +1 -1
  298. package/types/ops/AuthenticateOps.d.ts +3 -2
  299. package/types/ops/AuthenticateOps.d.ts.map +1 -1
  300. package/types/ops/CirclesOfTrustOps.d.ts +3 -2
  301. package/types/ops/CirclesOfTrustOps.d.ts.map +1 -1
  302. package/types/ops/ConnectionProfileOps.d.ts +3 -2
  303. package/types/ops/ConnectionProfileOps.d.ts.map +1 -1
  304. package/types/ops/EmailTemplateOps.d.ts +3 -2
  305. package/types/ops/EmailTemplateOps.d.ts.map +1 -1
  306. package/types/ops/IdmOps.d.ts +3 -2
  307. package/types/ops/IdmOps.d.ts.map +1 -1
  308. package/types/ops/IdpOps.d.ts +3 -2
  309. package/types/ops/IdpOps.d.ts.map +1 -1
  310. package/types/ops/InfoOps.d.ts +3 -2
  311. package/types/ops/InfoOps.d.ts.map +1 -1
  312. package/types/ops/JoseOps.d.ts +17 -1
  313. package/types/ops/JoseOps.d.ts.map +1 -1
  314. package/types/ops/JourneyOps.d.ts +16 -10
  315. package/types/ops/JourneyOps.d.ts.map +1 -1
  316. package/types/ops/ManagedObjectOps.d.ts +3 -2
  317. package/types/ops/ManagedObjectOps.d.ts.map +1 -1
  318. package/types/ops/NodeOps.d.ts +3 -2
  319. package/types/ops/NodeOps.d.ts.map +1 -1
  320. package/types/ops/OAuth2ClientOps.d.ts +3 -2
  321. package/types/ops/OAuth2ClientOps.d.ts.map +1 -1
  322. package/types/ops/OAuth2OidcOps.d.ts +6 -5
  323. package/types/ops/OAuth2OidcOps.d.ts.map +1 -1
  324. package/types/ops/OAuth2ProviderOps.d.ts +3 -2
  325. package/types/ops/OAuth2ProviderOps.d.ts.map +1 -1
  326. package/types/ops/OpsTypes.d.ts +1 -1
  327. package/types/ops/OpsTypes.d.ts.map +1 -1
  328. package/types/ops/OrganizationOps.d.ts +3 -2
  329. package/types/ops/OrganizationOps.d.ts.map +1 -1
  330. package/types/ops/PolicyOps.d.ts +3 -2
  331. package/types/ops/PolicyOps.d.ts.map +1 -1
  332. package/types/ops/PolicySetOps.d.ts +3 -2
  333. package/types/ops/PolicySetOps.d.ts.map +1 -1
  334. package/types/ops/RealmOps.d.ts +3 -2
  335. package/types/ops/RealmOps.d.ts.map +1 -1
  336. package/types/ops/ResourceTypeOps.d.ts +3 -2
  337. package/types/ops/ResourceTypeOps.d.ts.map +1 -1
  338. package/types/ops/Saml2Ops.d.ts +3 -2
  339. package/types/ops/Saml2Ops.d.ts.map +1 -1
  340. package/types/ops/ScriptOps.d.ts +3 -2
  341. package/types/ops/ScriptOps.d.ts.map +1 -1
  342. package/types/ops/ServiceOps.d.ts +4 -3
  343. package/types/ops/ServiceOps.d.ts.map +1 -1
  344. package/types/ops/ThemeOps.d.ts +3 -2
  345. package/types/ops/ThemeOps.d.ts.map +1 -1
  346. package/types/ops/cloud/AdminFederationOps.d.ts +3 -2
  347. package/types/ops/cloud/AdminFederationOps.d.ts.map +1 -1
  348. package/types/ops/cloud/FeatureOps.d.ts +3 -2
  349. package/types/ops/cloud/FeatureOps.d.ts.map +1 -1
  350. package/types/ops/cloud/LogOps.d.ts +3 -2
  351. package/types/ops/cloud/LogOps.d.ts.map +1 -1
  352. package/types/ops/cloud/SecretsOps.d.ts +3 -2
  353. package/types/ops/cloud/SecretsOps.d.ts.map +1 -1
  354. package/types/ops/cloud/ServiceAccountOps.d.ts +7 -6
  355. package/types/ops/cloud/ServiceAccountOps.d.ts.map +1 -1
  356. package/types/ops/cloud/StartupOps.d.ts +3 -2
  357. package/types/ops/cloud/StartupOps.d.ts.map +1 -1
  358. package/types/ops/cloud/VariablesOps.d.ts +3 -2
  359. package/types/ops/cloud/VariablesOps.d.ts.map +1 -1
  360. package/types/ops/utils/Console.d.ts +1 -1
  361. package/types/ops/utils/Console.d.ts.map +1 -1
  362. package/types/ops/utils/DataProtection.d.ts +1 -1
  363. package/types/ops/utils/DataProtection.d.ts.map +1 -1
  364. package/types/ops/utils/ExportImportUtils.d.ts +3 -2
  365. package/types/ops/utils/ExportImportUtils.d.ts.map +1 -1
  366. package/types/ops/utils/OpsUtils.d.ts +73 -17
  367. package/types/ops/utils/OpsUtils.d.ts.map +1 -1
  368. package/types/ops/utils/ScriptValidationUtils.d.ts +20 -1
  369. package/types/ops/utils/ScriptValidationUtils.d.ts.map +1 -1
  370. package/types/ops/utils/{Version.d.ts → VersionUtils.d.ts} +4 -4
  371. package/types/ops/utils/VersionUtils.d.ts.map +1 -0
  372. package/types/shared/Constants.d.ts +34 -0
  373. package/types/shared/Constants.d.ts.map +1 -0
  374. package/types/shared/State.d.ts +38 -38
  375. package/types/shared/State.d.ts.map +1 -1
  376. package/types/utils/SetupPollyForFrodoLib.d.ts +1 -1
  377. package/types/utils/SetupPollyForFrodoLib.d.ts.map +1 -1
  378. package/cjs/ops/utils/Version.js.map +0 -1
  379. package/cjs/ops/utils/Version.test.js.map +0 -1
  380. package/cjs/ops/utils/Wordwrap.js +0 -12
  381. package/cjs/ops/utils/Wordwrap.js.map +0 -1
  382. package/cjs/ops/utils/Wordwrap.test.js +0 -22
  383. package/cjs/ops/utils/Wordwrap.test.js.map +0 -1
  384. package/cjs/storage/StaticStorage.js +0 -31
  385. package/cjs/storage/StaticStorage.js.map +0 -1
  386. package/esm/ops/utils/Version.js.map +0 -1
  387. package/esm/ops/utils/Version.test.js.map +0 -1
  388. package/esm/ops/utils/Wordwrap.js +0 -5
  389. package/esm/ops/utils/Wordwrap.js.map +0 -1
  390. package/esm/ops/utils/Wordwrap.test.js +0 -19
  391. package/esm/ops/utils/Wordwrap.test.js.map +0 -1
  392. package/esm/storage/StaticStorage.js +0 -15
  393. package/esm/storage/StaticStorage.js.map +0 -1
  394. package/types/ops/utils/Version.d.ts.map +0 -1
  395. package/types/ops/utils/Wordwrap.d.ts +0 -2
  396. package/types/ops/utils/Wordwrap.d.ts.map +0 -1
  397. package/types/storage/StaticStorage.d.ts +0 -15
  398. package/types/storage/StaticStorage.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AuthenticateOps.js","names":["_url","_interopRequireDefault","require","_crypto","_readlineSync","_Base","globalConfig","_interopRequireWildcard","_ServerInfoApi","_AuthenticateApi","_OAuth2OIDCApi","_ConnectionProfileOps","_uuid","_ApiUtils","_JoseOps","_ServiceAccountOps","_OpsUtils","_Console","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_default","state","getAccessTokenForServiceAccount","_arguments","saId","length","saJwk","getTokens","forceLoginAsUser","exports","adminClientPassword","redirectUrlTemplate","cloudIdmAdminScopes","forgeopsIdmAdminScopes","serviceAccountScopes","adminClientId","determineCookieName","_x","_determineCookieName","data","getServerInfo","debugMessage","message","concat","cookieName","checkAndHandle2FA","payload","callback","callbacks","type","localAuth","output","provider","input","includes","nextStep","need2fa","factor","supported","printMessage","code","readlineSync","question","getUsername","getPassword","determineDefaultRealm","getRealm","DEFAULT_REALM_KEY","setRealm","DEPLOYMENT_TYPE_REALM_MAP","getDeploymentType","determineDeploymentType","_x2","_determineDeploymentType","cookieValue","getCookieValue","getUseBearerTokenForAmApis","CLOUD_DEPLOYMENT_TYPE_KEY","fidcClientId","forgeopsClientId","verifier","encodeBase64Url","randomBytes","challenge","createHash","update","digest","challengeMethod","redirectURL","url","getHost","config","maxRedirects","headers","getCookieName","bodyFormData","deploymentType","CLASSIC_DEPLOYMENT_TYPE_KEY","authorize","amBaseUrl","e","_e$response","_e$response$headers","_e$response$headers$l","response","status","location","indexOf","verboseMessage","ex","_ex$response","_ex$response$headers","_ex$response$headers$","FORGEOPS_DEPLOYMENT_TYPE_KEY","getSemanticVersion","versionInfo","versionString","version","rx","match","Error","authenticate","_x3","_authenticate","step","body","skip2FA","steps","maxSteps","getAuthCode","_x4","_x5","_x6","_x7","_getAuthCode","codeChallenge","codeChallengeMethod","_response$headers","redirectLocationURL","queryObject","parse","query","_error$response","stack","getAccessTokenForUser","_x8","_getAccessTokenForUser","authCode","auth","username","password","accessToken","access_token","_error$response2","createPayload","serviceAccountId","host","u","parseUrl","aud","origin","port","protocol","pathname","exp","Math","floor","Date","getTime","jti","v4","iss","sub","_x9","_getAccessTokenForServiceAccount","_ref","getServiceAccountId","getServiceAccountJwk","jwt","createSignedJwtToken","determineDeploymentTypeAndDefaultRealmAndVersion","_x10","_determineDeploymentTypeAndDefaultRealmAndVersion","setDeploymentType","getServerVersionInfo","fullVersion","setAmVersion","getLoggedInSubject","_x11","_getLoggedInSubject","subjectString","name","getServiceAccount","_x12","_getTokens","_ref2","conn","getConnectionProfile","setHost","tenant","setUsername","setPassword","setAuthenticationService","authenticationService","setAuthenticationHeaderOverrides","authenticationHeaderOverrides","setServiceAccountId","svcacctId","setServiceAccountJwk","svcacctJwk","isValidUrl","setCookieName","token","setBearerToken","setUseBearerTokenForAmApis","saErr","_saErr$response","_saErr$response2","_saErr$response2$data","_saErr$response3","_saErr$response3$data","error_description","setCookieValue","getBearerToken","_error$response3","_error$response3$data","_error$response4","_error$response4$data","_error$response5"],"sources":["../../src/ops/AuthenticateOps.ts"],"sourcesContent":["import url from 'url';\nimport { createHash, randomBytes } from 'crypto';\nimport readlineSync from 'readline-sync';\nimport { encodeBase64Url } from '../api/utils/Base64';\nimport State from '../shared/State';\nimport * as globalConfig from '../storage/StaticStorage';\nimport { getServerInfo, getServerVersionInfo } from '../api/ServerInfoApi';\nimport { step } from '../api/AuthenticateApi';\nimport { accessToken, authorize } from '../api/OAuth2OIDCApi';\nimport { getConnectionProfile } from './ConnectionProfileOps';\nimport { v4 } from 'uuid';\nimport { parseUrl } from '../api/utils/ApiUtils';\nimport { JwkRsa, createSignedJwtToken } from './JoseOps';\nimport { getServiceAccount } from './cloud/ServiceAccountOps';\nimport { isValidUrl } from './utils/OpsUtils';\nimport { debugMessage, printMessage, verboseMessage } from './utils/Console';\n\nexport default (state: State) => {\n return {\n /**\n * Get access token for service account\n * @returns {string | null} Access token or null\n */\n async getAccessTokenForServiceAccount(\n saId: string = undefined,\n saJwk: JwkRsa = undefined\n ): Promise<string | null> {\n return getAccessTokenForServiceAccount({ saId, saJwk, state });\n },\n\n /**\n * Get tokens\n * @param {boolean} forceLoginAsUser true to force login as user even if a service account is available (default: false)\n * @returns {Promise<boolean>} true if tokens were successfully obtained, false otherwise\n */\n getTokens(forceLoginAsUser = false) {\n return getTokens({ forceLoginAsUser, state });\n },\n };\n};\n\nconst adminClientPassword = 'doesnotmatter';\nconst redirectUrlTemplate = '/platform/appAuthHelperRedirect.html';\n\nconst cloudIdmAdminScopes = 'openid fr:idm:* fr:idc:esv:*';\nconst forgeopsIdmAdminScopes = 'openid fr:idm:*';\nconst serviceAccountScopes = 'fr:am:* fr:idm:* fr:idc:esv:*';\n\nlet adminClientId = 'idmAdminClient';\n\n/**\n * Helper function to get cookie name\n * @param {State} state library state\n * @returns {string} cookie name\n */\nasync function determineCookieName(state: State) {\n const data = await getServerInfo({ state });\n debugMessage({\n message: `AuthenticateOps.determineCookieName: cookieName=${data.cookieName}`,\n state,\n });\n return data.cookieName;\n}\n\n/**\n * Helper function to determine if this is a setup mfa prompt in the ID Cloud tenant admin login journey\n * @param {Object} payload response from the previous authentication journey step\n * @param {State} state library state\n * @returns {Object} an object indicating if 2fa is required and the original payload\n */\nfunction checkAndHandle2FA(payload, state: State) {\n debugMessage({ message: `AuthenticateOps.checkAndHandle2FA: start`, state });\n // let skippable = false;\n if ('callbacks' in payload) {\n for (const callback of payload.callbacks) {\n // select localAuthentication if Admin Federation is enabled\n if (callback.type === 'SelectIdPCallback') {\n debugMessage({\n message: `AuthenticateOps.checkAndHandle2FA: Admin federation enabled. Allowed providers:`,\n state,\n });\n let localAuth = false;\n for (const value of callback.output[0].value) {\n debugMessage({ message: `${value.provider}`, state });\n if (value.provider === 'localAuthentication') {\n localAuth = true;\n }\n }\n if (localAuth) {\n debugMessage({ message: `local auth allowed`, state });\n callback.input[0].value = 'localAuthentication';\n } else {\n debugMessage({ message: `local auth NOT allowed`, state });\n }\n }\n if (callback.type === 'HiddenValueCallback') {\n if (callback.input[0].value.includes('skip')) {\n // skippable = true;\n callback.input[0].value = 'Skip';\n // debugMessage(\n // `AuthenticateOps.checkAndHandle2FA: end [need2fa=true, skippable=true]`\n // );\n // return {\n // nextStep: true,\n // need2fa: true,\n // factor: 'None',\n // supported: true,\n // payload,\n // };\n }\n if (callback.input[0].value.includes('webAuthnOutcome')) {\n // webauthn!!!\n debugMessage({\n message: `AuthenticateOps.checkAndHandle2FA: end [need2fa=true, unsupported factor: webauthn]`,\n state,\n });\n return {\n nextStep: false,\n need2fa: true,\n factor: 'WebAuthN',\n supported: false,\n payload,\n };\n }\n }\n if (callback.type === 'NameCallback') {\n if (callback.output[0].value.includes('code')) {\n // skippable = false;\n debugMessage({\n message: `AuthenticateOps.checkAndHandle2FA: need2fa=true, skippable=false`,\n state,\n });\n printMessage({\n message: '2FA is enabled and required for this user...',\n state,\n });\n const code = readlineSync.question(`${callback.output[0].value}: `);\n callback.input[0].value = code;\n debugMessage({\n message: `AuthenticateOps.checkAndHandle2FA: end [need2fa=true, skippable=false, factor=Code]`,\n state,\n });\n return {\n nextStep: true,\n need2fa: true,\n factor: 'Code',\n supported: true,\n payload,\n };\n } else {\n // answer callback\n callback.input[0].value = state.getUsername();\n }\n }\n if (callback.type === 'PasswordCallback') {\n // answer callback\n callback.input[0].value = state.getPassword();\n }\n }\n debugMessage({\n message: `AuthenticateOps.checkAndHandle2FA: end [need2fa=false]`,\n state,\n });\n // debugMessage(payload);\n return {\n nextStep: true,\n need2fa: false,\n factor: 'None',\n supported: true,\n payload,\n };\n }\n debugMessage({\n message: `AuthenticateOps.checkAndHandle2FA: end [need2fa=false]`,\n state,\n });\n // debugMessage(payload);\n return {\n nextStep: false,\n need2fa: false,\n factor: 'None',\n supported: true,\n payload,\n };\n}\n\n/**\n * Helper function to set the default realm by deployment type\n * @param {State} state library state\n */\nfunction determineDefaultRealm(state: State) {\n if (\n !state.getRealm() ||\n state.getRealm() === globalConfig.DEFAULT_REALM_KEY\n ) {\n state.setRealm(\n globalConfig.DEPLOYMENT_TYPE_REALM_MAP[state.getDeploymentType()]\n );\n }\n}\n\n/**\n * Helper function to determine the deployment type\n * @param {State} state library state\n * @returns {Promise<string>} deployment type\n */\nasync function determineDeploymentType(state: State): Promise<string> {\n const cookieValue = state.getCookieValue();\n\n // if we are using a service account, we know it's cloud\n if (state.getUseBearerTokenForAmApis())\n return globalConfig.CLOUD_DEPLOYMENT_TYPE_KEY;\n\n const fidcClientId = 'idmAdminClient';\n const forgeopsClientId = 'idm-admin-ui';\n\n const verifier = encodeBase64Url(randomBytes(32));\n const challenge = encodeBase64Url(\n createHash('sha256').update(verifier).digest()\n );\n const challengeMethod = 'S256';\n const redirectURL = url.resolve(state.getHost(), redirectUrlTemplate);\n\n const config = {\n maxRedirects: 0,\n headers: {\n [state.getCookieName()]: state.getCookieValue(),\n },\n };\n let bodyFormData = `redirect_uri=${redirectURL}&scope=${cloudIdmAdminScopes}&response_type=code&client_id=${fidcClientId}&csrf=${cookieValue}&decision=allow&code_challenge=${challenge}&code_challenge_method=${challengeMethod}`;\n\n let deploymentType = globalConfig.CLASSIC_DEPLOYMENT_TYPE_KEY;\n try {\n await authorize({\n amBaseUrl: state.getHost(),\n data: bodyFormData,\n config,\n state,\n });\n } catch (e) {\n // debugMessage(e.response);\n if (\n e.response?.status === 302 &&\n e.response.headers?.location?.indexOf('code=') > -1\n ) {\n verboseMessage({\n message: `ForgeRock Identity Cloud`['brightCyan'] + ` detected.`,\n state,\n });\n deploymentType = globalConfig.CLOUD_DEPLOYMENT_TYPE_KEY;\n } else {\n try {\n bodyFormData = `redirect_uri=${redirectURL}&scope=${forgeopsIdmAdminScopes}&response_type=code&client_id=${forgeopsClientId}&csrf=${state.getCookieValue()}&decision=allow&code_challenge=${challenge}&code_challenge_method=${challengeMethod}`;\n await authorize({\n amBaseUrl: state.getHost(),\n data: bodyFormData,\n config,\n state,\n });\n } catch (ex) {\n if (\n ex.response?.status === 302 &&\n ex.response.headers?.location?.indexOf('code=') > -1\n ) {\n adminClientId = forgeopsClientId;\n verboseMessage({\n message: `ForgeOps deployment`['brightCyan'] + ` detected.`,\n state,\n });\n deploymentType = globalConfig.FORGEOPS_DEPLOYMENT_TYPE_KEY;\n } else {\n verboseMessage({\n message: `Classic deployment`['brightCyan'] + ` detected.`,\n state,\n });\n }\n }\n }\n }\n return deploymentType;\n}\n\n/**\n * Helper function to extract the semantic version string from a version info object\n * @param {Object} versionInfo version info object\n * @returns {String} semantic version\n */\nfunction getSemanticVersion(versionInfo) {\n if ('version' in versionInfo) {\n const versionString = versionInfo.version;\n const rx = /([\\d]\\.[\\d]\\.[\\d](\\.[\\d])*)/g;\n const version = versionString.match(rx);\n return version[0];\n }\n throw new Error('Cannot extract semantic version from version info object.');\n}\n\n/**\n * Helper function to authenticate and obtain and store session cookie\n * @param {State} state library state\n * @returns {string} Session token or null\n */\nasync function authenticate(state: State): Promise<string> {\n debugMessage({ message: `AuthenticateOps.authenticate: start`, state });\n const config = {\n headers: {\n 'X-OpenAM-Username': state.getUsername(),\n 'X-OpenAM-Password': state.getPassword(),\n },\n };\n let response = await step({ body: {}, config, state });\n\n let skip2FA = null;\n let steps = 0;\n const maxSteps = 3;\n do {\n skip2FA = checkAndHandle2FA(response, state);\n\n // throw exception if 2fa required but factor not supported by frodo (e.g. WebAuthN)\n if (!skip2FA.supported) {\n throw new Error(`Unsupported 2FA factor: ${skip2FA.factor}`);\n }\n\n if (skip2FA.nextStep) {\n steps++;\n response = await step({ body: skip2FA.payload, state });\n }\n\n if ('tokenId' in response) {\n debugMessage({\n message: `AuthenticateOps.authenticate: end [tokenId=${response['tokenId']}]`,\n state,\n });\n return response['tokenId'] as string;\n }\n } while (skip2FA.nextStep && steps < maxSteps);\n debugMessage({\n message: `AuthenticateOps.authenticate: end [no session]`,\n state,\n });\n return null;\n}\n\n/**\n * Helper function to obtain an oauth2 authorization code\n * @param {string} redirectURL oauth2 redirect uri\n * @param {string} codeChallenge PKCE code challenge\n * @param {string} codeChallengeMethod PKCE code challenge method\n * @param {State} state library state\n * @returns {string} oauth2 authorization code or null\n */\nasync function getAuthCode(\n redirectURL: string,\n codeChallenge: string,\n codeChallengeMethod: string,\n state: State\n) {\n try {\n const bodyFormData = `redirect_uri=${redirectURL}&scope=${\n state.getDeploymentType() === globalConfig.CLOUD_DEPLOYMENT_TYPE_KEY\n ? cloudIdmAdminScopes\n : forgeopsIdmAdminScopes\n }&response_type=code&client_id=${adminClientId}&csrf=${state.getCookieValue()}&decision=allow&code_challenge=${codeChallenge}&code_challenge_method=${codeChallengeMethod}`;\n const config = {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n maxRedirects: 0,\n };\n let response = undefined;\n try {\n response = await authorize({\n amBaseUrl: state.getHost(),\n data: bodyFormData,\n config,\n state,\n });\n } catch (error) {\n response = error.response;\n }\n if (response.status < 200 || response.status > 399) {\n printMessage({\n message: 'error getting auth code',\n type: 'error',\n state,\n });\n printMessage({\n message: 'likely cause: mismatched parameters with OAuth client config',\n type: 'error',\n state,\n });\n return null;\n }\n const redirectLocationURL = response.headers?.location;\n const queryObject = url.parse(redirectLocationURL, true).query;\n if ('code' in queryObject) {\n return queryObject.code;\n }\n printMessage({ message: 'auth code not found', type: 'error', state });\n return null;\n } catch (error) {\n printMessage({\n message: `error getting auth code - ${error.message}`,\n type: 'error',\n state,\n });\n printMessage({ message: error.response?.data, type: 'error', state });\n debugMessage({ message: error.stack, state });\n return null;\n }\n}\n\n/**\n * Helper function to obtain oauth2 access token\n * @param {State} state library state\n * @returns {Promise<string | null>} access token or null\n */\nasync function getAccessTokenForUser(state: State): Promise<string | null> {\n debugMessage({\n message: `AuthenticateOps.getAccessTokenForUser: start`,\n state,\n });\n try {\n const verifier = encodeBase64Url(randomBytes(32));\n const challenge = encodeBase64Url(\n createHash('sha256').update(verifier).digest()\n );\n const challengeMethod = 'S256';\n const redirectURL = url.resolve(state.getHost(), redirectUrlTemplate);\n const authCode = await getAuthCode(\n redirectURL,\n challenge,\n challengeMethod,\n state\n );\n if (authCode == null) {\n printMessage({\n message: 'error getting auth code',\n type: 'error',\n state,\n });\n return null;\n }\n let response = null;\n if (state.getDeploymentType() === globalConfig.CLOUD_DEPLOYMENT_TYPE_KEY) {\n const config = {\n auth: {\n username: adminClientId,\n password: adminClientPassword,\n },\n };\n const bodyFormData = `redirect_uri=${redirectURL}&grant_type=authorization_code&code=${authCode}&code_verifier=${verifier}`;\n response = await accessToken({\n amBaseUrl: state.getHost(),\n data: bodyFormData,\n config,\n state,\n });\n } else {\n const bodyFormData = `client_id=${adminClientId}&redirect_uri=${redirectURL}&grant_type=authorization_code&code=${authCode}&code_verifier=${verifier}`;\n response = await accessToken({\n amBaseUrl: state.getHost(),\n data: bodyFormData,\n config: {},\n state,\n });\n }\n if ('access_token' in response.data) {\n debugMessage({\n message: `AuthenticateOps.getAccessTokenForUser: end with token`,\n state,\n });\n return response.data.access_token;\n }\n printMessage({\n message: 'No access token in response.',\n type: 'error',\n state,\n });\n } catch (error) {\n debugMessage({\n message: `Error getting access token for user: ${error}`,\n state,\n });\n debugMessage({ message: error.response?.data, state });\n }\n debugMessage({\n message: `AuthenticateOps.getAccessTokenForUser: end without token`,\n state,\n });\n return null;\n}\n\nfunction createPayload(serviceAccountId: string, host: string) {\n const u = parseUrl(host);\n const aud = `${u.origin}:${\n u.port ? u.port : u.protocol === 'https' ? '443' : '80'\n }${u.pathname}/oauth2/access_token`;\n\n // Cross platform way of setting JWT expiry time 3 minutes in the future, expressed as number of seconds since EPOCH\n const exp = Math.floor(new Date().getTime() / 1000 + 180);\n\n // A unique ID for the JWT which is required when requesting the openid scope\n const jti = v4();\n\n const iss = serviceAccountId;\n const sub = serviceAccountId;\n\n // Create the payload for our bearer token\n const payload = { iss, sub, aud, exp, jti };\n\n return payload;\n}\n\n/**\n * Get access token for service account\n * @param {State} state library state\n * @returns {string | null} Access token or null\n */\nexport async function getAccessTokenForServiceAccount({\n saId = undefined,\n saJwk = undefined,\n state,\n}: {\n saId?: string;\n saJwk?: JwkRsa;\n state: State;\n}): Promise<string | null> {\n saId = saId ? saId : state.getServiceAccountId();\n saJwk = saJwk ? saJwk : state.getServiceAccountJwk();\n debugMessage({\n message: `AuthenticateOps.getAccessTokenForServiceAccount: start`,\n state,\n });\n const payload = createPayload(saId, state.getHost());\n debugMessage({\n message: `AuthenticateOps.getAccessTokenForServiceAccount: payload:`,\n state,\n });\n debugMessage({ message: payload, state });\n const jwt = await createSignedJwtToken(payload, saJwk);\n debugMessage({\n message: `AuthenticateOps.getAccessTokenForServiceAccount: jwt:`,\n state,\n });\n debugMessage({ message: jwt, state });\n const bodyFormData = `assertion=${jwt}&client_id=service-account&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&scope=${serviceAccountScopes}`;\n const response = await accessToken({\n amBaseUrl: state.getHost(),\n data: bodyFormData,\n config: {},\n state,\n });\n if ('access_token' in response.data) {\n debugMessage({\n message: `AuthenticateOps.getAccessTokenForServiceAccount: token:`,\n state,\n });\n debugMessage({ message: response.data.access_token, state });\n debugMessage({\n message: `AuthenticateOps.getAccessTokenForServiceAccount: end`,\n state,\n });\n return response.data.access_token;\n }\n debugMessage({\n message: `AuthenticateOps.getAccessTokenForServiceAccount: No access token in response.`,\n state,\n });\n debugMessage({\n message: `AuthenticateOps.getAccessTokenForServiceAccount: end`,\n state,\n });\n return null;\n}\n\n/**\n * Helper function to determine deployment type, default realm, and version and update library state\n * @param state library state\n */\nasync function determineDeploymentTypeAndDefaultRealmAndVersion(\n state: State\n): Promise<void> {\n debugMessage({\n message: `AuthenticateOps.determineDeploymentTypeAndDefaultRealmAndVersion: start`,\n state,\n });\n if (!state.getDeploymentType()) {\n state.setDeploymentType(await determineDeploymentType(state));\n }\n determineDefaultRealm(state);\n debugMessage({\n message: `AuthenticateOps.determineDeploymentTypeAndDefaultRealmAndVersion: realm=${state.getRealm()}, type=${state.getDeploymentType()}`,\n state,\n });\n\n const versionInfo = await getServerVersionInfo({ state });\n\n // https://github.com/rockcarver/frodo-cli/issues/109\n debugMessage({ message: `Full version: ${versionInfo.fullVersion}`, state });\n\n const version = await getSemanticVersion(versionInfo);\n state.setAmVersion(version);\n debugMessage({\n message: `AuthenticateOps.determineDeploymentTypeAndDefaultRealmAndVersion: end`,\n state,\n });\n}\n\n/**\n * Get logged-in subject\n * @param {State} state library state\n * @returns {string} a string identifying subject type and id\n */\nasync function getLoggedInSubject(state: State): Promise<string> {\n let subjectString = `user ${state.getUsername()}`;\n if (state.getUseBearerTokenForAmApis()) {\n try {\n const name = (\n await getServiceAccount({\n serviceAccountId: state.getServiceAccountId(),\n state,\n })\n ).name;\n subjectString = `service account ${name} [${state.getServiceAccountId()}]`;\n } catch (error) {\n subjectString = `service account ${state.getServiceAccountId()}`;\n }\n }\n return subjectString;\n}\n\n/**\n * Get tokens\n * @param {boolean} forceLoginAsUser true to force login as user even if a service account is available (default: false)\n * @param {State} state library state\n * @returns {Promise<boolean>} true if tokens were successfully obtained, false otherwise\n */\nexport async function getTokens({\n forceLoginAsUser = false,\n state,\n}: {\n forceLoginAsUser?: boolean;\n state: State;\n}): Promise<boolean> {\n debugMessage({ message: `AuthenticateOps.getTokens: start`, state });\n if (!state.getHost()) {\n printMessage({\n message: `No host specified and FRODO_HOST env variable not set!`,\n type: 'error',\n state,\n });\n return false;\n }\n try {\n // if username/password on cli are empty, try to read from connections.json\n if (\n state.getUsername() == null &&\n state.getPassword() == null &&\n !state.getServiceAccountId() &&\n !state.getServiceAccountJwk()\n ) {\n const conn = await getConnectionProfile({ state });\n if (conn) {\n state.setHost(conn.tenant);\n state.setUsername(conn.username);\n state.setPassword(conn.password);\n state.setAuthenticationService(conn.authenticationService);\n state.setAuthenticationHeaderOverrides(\n conn.authenticationHeaderOverrides\n );\n state.setServiceAccountId(conn.svcacctId);\n state.setServiceAccountJwk(conn.svcacctJwk);\n } else {\n return false;\n }\n }\n\n // if host is not a valid URL, try to locate a valid URL from connections.json\n if (!isValidUrl(state.getHost())) {\n const conn = await getConnectionProfile({ state });\n if (conn) {\n state.setHost(conn.tenant);\n } else {\n return false;\n }\n }\n\n // now that we have the full tenant URL we can lookup the cookie name\n state.setCookieName(await determineCookieName(state));\n\n // use service account to login?\n if (\n !forceLoginAsUser &&\n state.getServiceAccountId() &&\n state.getServiceAccountJwk()\n ) {\n debugMessage({\n message: `AuthenticateOps.getTokens: Authenticating with service account ${state.getServiceAccountId()}`,\n state,\n });\n try {\n const token = await getAccessTokenForServiceAccount({ state });\n state.setBearerToken(token);\n state.setUseBearerTokenForAmApis(true);\n await determineDeploymentTypeAndDefaultRealmAndVersion(state);\n } catch (saErr) {\n debugMessage({ message: saErr.response?.data || saErr, state });\n debugMessage({ message: state, state });\n throw new Error(\n `Service account login error: ${\n saErr.response?.data?.error_description ||\n saErr.response?.data?.message ||\n saErr\n }`\n );\n }\n }\n // use user account to login\n else if (state.getUsername() && state.getPassword()) {\n debugMessage({\n message: `AuthenticateOps.getTokens: Authenticating with user account ${state.getUsername()}`,\n state,\n });\n const token = await authenticate(state);\n if (token) state.setCookieValue(token);\n await determineDeploymentTypeAndDefaultRealmAndVersion(state);\n if (\n state.getCookieValue() &&\n !state.getBearerToken() &&\n (state.getDeploymentType() === globalConfig.CLOUD_DEPLOYMENT_TYPE_KEY ||\n state.getDeploymentType() ===\n globalConfig.FORGEOPS_DEPLOYMENT_TYPE_KEY)\n ) {\n const accessToken = await getAccessTokenForUser(state);\n if (accessToken) state.setBearerToken(accessToken);\n }\n }\n // incomplete or no credentials\n else {\n printMessage({\n message: `Incomplete or no credentials!`,\n type: 'error',\n state,\n });\n return false;\n }\n if (\n state.getCookieValue() ||\n (state.getUseBearerTokenForAmApis() && state.getBearerToken())\n ) {\n // https://github.com/rockcarver/frodo-cli/issues/102\n printMessage({\n message: `Connected to ${state.getHost()} [${\n state.getRealm() ? state.getRealm() : 'root'\n }] as ${await getLoggedInSubject(state)}`,\n type: 'info',\n state,\n });\n debugMessage({\n message: `AuthenticateOps.getTokens: end with tokens`,\n state,\n });\n return true;\n }\n } catch (error) {\n // regular error\n printMessage({ message: error.message, type: 'error', state });\n // axios error am api\n printMessage({\n message: error.response?.data?.message,\n type: 'error',\n state,\n });\n // axios error am oauth2 api\n printMessage({\n message: error.response?.data?.error_description,\n type: 'error',\n state,\n });\n // axios error data\n debugMessage({ message: error.response?.data, state });\n // stack trace\n debugMessage({ message: error.stack || new Error().stack, state });\n }\n debugMessage({\n message: `AuthenticateOps.getTokens: end without tokens`,\n state,\n });\n return false;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"AuthenticateOps.js","names":["_url","_interopRequireDefault","require","_crypto","_readlineSync","_Base","_Constants","_ServerInfoApi","_AuthenticateApi","_OAuth2OIDCApi","_ConnectionProfileOps","_uuid","_ApiUtils","_JoseOps","_ServiceAccountOps","_OpsUtils","_Console","obj","__esModule","default","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_default","state","getAccessTokenForServiceAccount","_arguments","saId","length","saJwk","getTokens","forceLoginAsUser","exports","adminClientPassword","redirectUrlTemplate","cloudIdmAdminScopes","forgeopsIdmAdminScopes","serviceAccountScopes","adminClientId","determineCookieName","_x","_determineCookieName","data","getServerInfo","debugMessage","message","concat","cookieName","checkAndHandle2FA","payload","callback","callbacks","type","localAuth","output","provider","input","includes","nextStep","need2fa","factor","supported","printMessage","code","readlineSync","question","getUsername","getPassword","determineDefaultRealm","getRealm","Constants","DEFAULT_REALM_KEY","setRealm","DEPLOYMENT_TYPE_REALM_MAP","getDeploymentType","determineDeploymentType","_x2","_determineDeploymentType","cookieValue","getCookieValue","getUseBearerTokenForAmApis","CLOUD_DEPLOYMENT_TYPE_KEY","fidcClientId","forgeopsClientId","verifier","encodeBase64Url","randomBytes","challenge","createHash","update","digest","challengeMethod","redirectURL","url","getHost","config","maxRedirects","headers","getCookieName","bodyFormData","deploymentType","CLASSIC_DEPLOYMENT_TYPE_KEY","authorize","amBaseUrl","e","_e$response","_e$response$headers","_e$response$headers$l","response","status","location","indexOf","verboseMessage","ex","_ex$response","_ex$response$headers","_ex$response$headers$","FORGEOPS_DEPLOYMENT_TYPE_KEY","getSemanticVersion","versionInfo","versionString","version","rx","match","Error","authenticate","_x3","_authenticate","step","body","skip2FA","steps","maxSteps","getAuthCode","_x4","_x5","_x6","_x7","_getAuthCode","codeChallenge","codeChallengeMethod","_response$headers","redirectLocationURL","queryObject","parse","query","_error$response","stack","getAccessTokenForUser","_x8","_getAccessTokenForUser","authCode","auth","username","password","accessToken","access_token","_error$response2","createPayload","serviceAccountId","host","u","parseUrl","aud","origin","port","protocol","pathname","exp","Math","floor","Date","getTime","jti","v4","iss","sub","_x9","_getAccessTokenForServiceAccount","_ref","getServiceAccountId","getServiceAccountJwk","jwt","createSignedJwtToken","determineDeploymentTypeAndDefaultRealmAndVersion","_x10","_determineDeploymentTypeAndDefaultRealmAndVersion","setDeploymentType","getServerVersionInfo","fullVersion","setAmVersion","getLoggedInSubject","_x11","_getLoggedInSubject","subjectString","name","getServiceAccount","_x12","_getTokens","_ref2","conn","getConnectionProfile","setHost","tenant","setUsername","setPassword","setAuthenticationService","authenticationService","setAuthenticationHeaderOverrides","authenticationHeaderOverrides","setServiceAccountId","svcacctId","setServiceAccountJwk","svcacctJwk","isValidUrl","setCookieName","token","setBearerToken","setUseBearerTokenForAmApis","saErr","_saErr$response","_saErr$response2","_saErr$response2$data","_saErr$response3","_saErr$response3$data","error_description","setCookieValue","getBearerToken","_error$response3","_error$response3$data","_error$response4","_error$response4$data","_error$response5"],"sources":["../../src/ops/AuthenticateOps.ts"],"sourcesContent":["import url from 'url';\nimport { createHash, randomBytes } from 'crypto';\nimport readlineSync from 'readline-sync';\nimport { encodeBase64Url } from '../api/utils/Base64';\nimport { State } from '../shared/State';\nimport Constants from '../shared/Constants';\nimport { getServerInfo, getServerVersionInfo } from '../api/ServerInfoApi';\nimport { step } from '../api/AuthenticateApi';\nimport { accessToken, authorize } from '../api/OAuth2OIDCApi';\nimport { getConnectionProfile } from './ConnectionProfileOps';\nimport { v4 } from 'uuid';\nimport { parseUrl } from '../api/utils/ApiUtils';\nimport { JwkRsa, createSignedJwtToken } from './JoseOps';\nimport { getServiceAccount } from './cloud/ServiceAccountOps';\nimport { isValidUrl } from './utils/OpsUtils';\nimport { debugMessage, printMessage, verboseMessage } from './utils/Console';\n\nexport type Authenticate = {\n /**\n * Get access token for service account\n * @returns {string | null} Access token or null\n */\n getAccessTokenForServiceAccount(\n saId?: string,\n saJwk?: JwkRsa\n ): Promise<string | null>;\n /**\n * Get tokens\n * @param {boolean} forceLoginAsUser true to force login as user even if a service account is available (default: false)\n * @returns {Promise<boolean>} true if tokens were successfully obtained, false otherwise\n */\n getTokens(forceLoginAsUser?: boolean): Promise<boolean>;\n};\n\nexport default (state: State): Authenticate => {\n return {\n /**\n * Get access token for service account\n * @returns {string | null} Access token or null\n */\n async getAccessTokenForServiceAccount(\n saId: string = undefined,\n saJwk: JwkRsa = undefined\n ): Promise<string | null> {\n return getAccessTokenForServiceAccount({ saId, saJwk, state });\n },\n\n /**\n * Get tokens\n * @param {boolean} forceLoginAsUser true to force login as user even if a service account is available (default: false)\n * @returns {Promise<boolean>} true if tokens were successfully obtained, false otherwise\n */\n getTokens(forceLoginAsUser = false) {\n return getTokens({ forceLoginAsUser, state });\n },\n };\n};\n\nconst adminClientPassword = 'doesnotmatter';\nconst redirectUrlTemplate = '/platform/appAuthHelperRedirect.html';\n\nconst cloudIdmAdminScopes = 'openid fr:idm:* fr:idc:esv:*';\nconst forgeopsIdmAdminScopes = 'openid fr:idm:*';\nconst serviceAccountScopes = 'fr:am:* fr:idm:* fr:idc:esv:*';\n\nlet adminClientId = 'idmAdminClient';\n\n/**\n * Helper function to get cookie name\n * @param {State} state library state\n * @returns {string} cookie name\n */\nasync function determineCookieName(state: State) {\n const data = await getServerInfo({ state });\n debugMessage({\n message: `AuthenticateOps.determineCookieName: cookieName=${data.cookieName}`,\n state,\n });\n return data.cookieName;\n}\n\n/**\n * Helper function to determine if this is a setup mfa prompt in the ID Cloud tenant admin login journey\n * @param {Object} payload response from the previous authentication journey step\n * @param {State} state library state\n * @returns {Object} an object indicating if 2fa is required and the original payload\n */\nfunction checkAndHandle2FA(payload, state: State) {\n debugMessage({ message: `AuthenticateOps.checkAndHandle2FA: start`, state });\n // let skippable = false;\n if ('callbacks' in payload) {\n for (const callback of payload.callbacks) {\n // select localAuthentication if Admin Federation is enabled\n if (callback.type === 'SelectIdPCallback') {\n debugMessage({\n message: `AuthenticateOps.checkAndHandle2FA: Admin federation enabled. Allowed providers:`,\n state,\n });\n let localAuth = false;\n for (const value of callback.output[0].value) {\n debugMessage({ message: `${value.provider}`, state });\n if (value.provider === 'localAuthentication') {\n localAuth = true;\n }\n }\n if (localAuth) {\n debugMessage({ message: `local auth allowed`, state });\n callback.input[0].value = 'localAuthentication';\n } else {\n debugMessage({ message: `local auth NOT allowed`, state });\n }\n }\n if (callback.type === 'HiddenValueCallback') {\n if (callback.input[0].value.includes('skip')) {\n // skippable = true;\n callback.input[0].value = 'Skip';\n // debugMessage(\n // `AuthenticateOps.checkAndHandle2FA: end [need2fa=true, skippable=true]`\n // );\n // return {\n // nextStep: true,\n // need2fa: true,\n // factor: 'None',\n // supported: true,\n // payload,\n // };\n }\n if (callback.input[0].value.includes('webAuthnOutcome')) {\n // webauthn!!!\n debugMessage({\n message: `AuthenticateOps.checkAndHandle2FA: end [need2fa=true, unsupported factor: webauthn]`,\n state,\n });\n return {\n nextStep: false,\n need2fa: true,\n factor: 'WebAuthN',\n supported: false,\n payload,\n };\n }\n }\n if (callback.type === 'NameCallback') {\n if (callback.output[0].value.includes('code')) {\n // skippable = false;\n debugMessage({\n message: `AuthenticateOps.checkAndHandle2FA: need2fa=true, skippable=false`,\n state,\n });\n printMessage({\n message: '2FA is enabled and required for this user...',\n state,\n });\n const code = readlineSync.question(`${callback.output[0].value}: `);\n callback.input[0].value = code;\n debugMessage({\n message: `AuthenticateOps.checkAndHandle2FA: end [need2fa=true, skippable=false, factor=Code]`,\n state,\n });\n return {\n nextStep: true,\n need2fa: true,\n factor: 'Code',\n supported: true,\n payload,\n };\n } else {\n // answer callback\n callback.input[0].value = state.getUsername();\n }\n }\n if (callback.type === 'PasswordCallback') {\n // answer callback\n callback.input[0].value = state.getPassword();\n }\n }\n debugMessage({\n message: `AuthenticateOps.checkAndHandle2FA: end [need2fa=false]`,\n state,\n });\n // debugMessage(payload);\n return {\n nextStep: true,\n need2fa: false,\n factor: 'None',\n supported: true,\n payload,\n };\n }\n debugMessage({\n message: `AuthenticateOps.checkAndHandle2FA: end [need2fa=false]`,\n state,\n });\n // debugMessage(payload);\n return {\n nextStep: false,\n need2fa: false,\n factor: 'None',\n supported: true,\n payload,\n };\n}\n\n/**\n * Helper function to set the default realm by deployment type\n * @param {State} state library state\n */\nfunction determineDefaultRealm(state: State) {\n if (!state.getRealm() || state.getRealm() === Constants.DEFAULT_REALM_KEY) {\n state.setRealm(\n Constants.DEPLOYMENT_TYPE_REALM_MAP[state.getDeploymentType()]\n );\n }\n}\n\n/**\n * Helper function to determine the deployment type\n * @param {State} state library state\n * @returns {Promise<string>} deployment type\n */\nasync function determineDeploymentType(state: State): Promise<string> {\n const cookieValue = state.getCookieValue();\n\n // if we are using a service account, we know it's cloud\n if (state.getUseBearerTokenForAmApis())\n return Constants.CLOUD_DEPLOYMENT_TYPE_KEY;\n\n const fidcClientId = 'idmAdminClient';\n const forgeopsClientId = 'idm-admin-ui';\n\n const verifier = encodeBase64Url(randomBytes(32));\n const challenge = encodeBase64Url(\n createHash('sha256').update(verifier).digest()\n );\n const challengeMethod = 'S256';\n const redirectURL = url.resolve(state.getHost(), redirectUrlTemplate);\n\n const config = {\n maxRedirects: 0,\n headers: {\n [state.getCookieName()]: state.getCookieValue(),\n },\n };\n let bodyFormData = `redirect_uri=${redirectURL}&scope=${cloudIdmAdminScopes}&response_type=code&client_id=${fidcClientId}&csrf=${cookieValue}&decision=allow&code_challenge=${challenge}&code_challenge_method=${challengeMethod}`;\n\n let deploymentType = Constants.CLASSIC_DEPLOYMENT_TYPE_KEY;\n try {\n await authorize({\n amBaseUrl: state.getHost(),\n data: bodyFormData,\n config,\n state,\n });\n } catch (e) {\n // debugMessage(e.response);\n if (\n e.response?.status === 302 &&\n e.response.headers?.location?.indexOf('code=') > -1\n ) {\n verboseMessage({\n message: `ForgeRock Identity Cloud`['brightCyan'] + ` detected.`,\n state,\n });\n deploymentType = Constants.CLOUD_DEPLOYMENT_TYPE_KEY;\n } else {\n try {\n bodyFormData = `redirect_uri=${redirectURL}&scope=${forgeopsIdmAdminScopes}&response_type=code&client_id=${forgeopsClientId}&csrf=${state.getCookieValue()}&decision=allow&code_challenge=${challenge}&code_challenge_method=${challengeMethod}`;\n await authorize({\n amBaseUrl: state.getHost(),\n data: bodyFormData,\n config,\n state,\n });\n } catch (ex) {\n if (\n ex.response?.status === 302 &&\n ex.response.headers?.location?.indexOf('code=') > -1\n ) {\n adminClientId = forgeopsClientId;\n verboseMessage({\n message: `ForgeOps deployment`['brightCyan'] + ` detected.`,\n state,\n });\n deploymentType = Constants.FORGEOPS_DEPLOYMENT_TYPE_KEY;\n } else {\n verboseMessage({\n message: `Classic deployment`['brightCyan'] + ` detected.`,\n state,\n });\n }\n }\n }\n }\n return deploymentType;\n}\n\n/**\n * Helper function to extract the semantic version string from a version info object\n * @param {Object} versionInfo version info object\n * @returns {String} semantic version\n */\nfunction getSemanticVersion(versionInfo) {\n if ('version' in versionInfo) {\n const versionString = versionInfo.version;\n const rx = /([\\d]\\.[\\d]\\.[\\d](\\.[\\d])*)/g;\n const version = versionString.match(rx);\n return version[0];\n }\n throw new Error('Cannot extract semantic version from version info object.');\n}\n\n/**\n * Helper function to authenticate and obtain and store session cookie\n * @param {State} state library state\n * @returns {string} Session token or null\n */\nasync function authenticate(state: State): Promise<string> {\n debugMessage({ message: `AuthenticateOps.authenticate: start`, state });\n const config = {\n headers: {\n 'X-OpenAM-Username': state.getUsername(),\n 'X-OpenAM-Password': state.getPassword(),\n },\n };\n let response = await step({ body: {}, config, state });\n\n let skip2FA = null;\n let steps = 0;\n const maxSteps = 3;\n do {\n skip2FA = checkAndHandle2FA(response, state);\n\n // throw exception if 2fa required but factor not supported by frodo (e.g. WebAuthN)\n if (!skip2FA.supported) {\n throw new Error(`Unsupported 2FA factor: ${skip2FA.factor}`);\n }\n\n if (skip2FA.nextStep) {\n steps++;\n response = await step({ body: skip2FA.payload, state });\n }\n\n if ('tokenId' in response) {\n debugMessage({\n message: `AuthenticateOps.authenticate: end [tokenId=${response['tokenId']}]`,\n state,\n });\n return response['tokenId'] as string;\n }\n } while (skip2FA.nextStep && steps < maxSteps);\n debugMessage({\n message: `AuthenticateOps.authenticate: end [no session]`,\n state,\n });\n return null;\n}\n\n/**\n * Helper function to obtain an oauth2 authorization code\n * @param {string} redirectURL oauth2 redirect uri\n * @param {string} codeChallenge PKCE code challenge\n * @param {string} codeChallengeMethod PKCE code challenge method\n * @param {State} state library state\n * @returns {string} oauth2 authorization code or null\n */\nasync function getAuthCode(\n redirectURL: string,\n codeChallenge: string,\n codeChallengeMethod: string,\n state: State\n) {\n try {\n const bodyFormData = `redirect_uri=${redirectURL}&scope=${\n state.getDeploymentType() === Constants.CLOUD_DEPLOYMENT_TYPE_KEY\n ? cloudIdmAdminScopes\n : forgeopsIdmAdminScopes\n }&response_type=code&client_id=${adminClientId}&csrf=${state.getCookieValue()}&decision=allow&code_challenge=${codeChallenge}&code_challenge_method=${codeChallengeMethod}`;\n const config = {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n maxRedirects: 0,\n };\n let response = undefined;\n try {\n response = await authorize({\n amBaseUrl: state.getHost(),\n data: bodyFormData,\n config,\n state,\n });\n } catch (error) {\n response = error.response;\n }\n if (response.status < 200 || response.status > 399) {\n printMessage({\n message: 'error getting auth code',\n type: 'error',\n state,\n });\n printMessage({\n message: 'likely cause: mismatched parameters with OAuth client config',\n type: 'error',\n state,\n });\n return null;\n }\n const redirectLocationURL = response.headers?.location;\n const queryObject = url.parse(redirectLocationURL, true).query;\n if ('code' in queryObject) {\n return queryObject.code;\n }\n printMessage({ message: 'auth code not found', type: 'error', state });\n return null;\n } catch (error) {\n printMessage({\n message: `error getting auth code - ${error.message}`,\n type: 'error',\n state,\n });\n printMessage({ message: error.response?.data, type: 'error', state });\n debugMessage({ message: error.stack, state });\n return null;\n }\n}\n\n/**\n * Helper function to obtain oauth2 access token\n * @param {State} state library state\n * @returns {Promise<string | null>} access token or null\n */\nasync function getAccessTokenForUser(state: State): Promise<string | null> {\n debugMessage({\n message: `AuthenticateOps.getAccessTokenForUser: start`,\n state,\n });\n try {\n const verifier = encodeBase64Url(randomBytes(32));\n const challenge = encodeBase64Url(\n createHash('sha256').update(verifier).digest()\n );\n const challengeMethod = 'S256';\n const redirectURL = url.resolve(state.getHost(), redirectUrlTemplate);\n const authCode = await getAuthCode(\n redirectURL,\n challenge,\n challengeMethod,\n state\n );\n if (authCode == null) {\n printMessage({\n message: 'error getting auth code',\n type: 'error',\n state,\n });\n return null;\n }\n let response = null;\n if (state.getDeploymentType() === Constants.CLOUD_DEPLOYMENT_TYPE_KEY) {\n const config = {\n auth: {\n username: adminClientId,\n password: adminClientPassword,\n },\n };\n const bodyFormData = `redirect_uri=${redirectURL}&grant_type=authorization_code&code=${authCode}&code_verifier=${verifier}`;\n response = await accessToken({\n amBaseUrl: state.getHost(),\n data: bodyFormData,\n config,\n state,\n });\n } else {\n const bodyFormData = `client_id=${adminClientId}&redirect_uri=${redirectURL}&grant_type=authorization_code&code=${authCode}&code_verifier=${verifier}`;\n response = await accessToken({\n amBaseUrl: state.getHost(),\n data: bodyFormData,\n config: {},\n state,\n });\n }\n if ('access_token' in response.data) {\n debugMessage({\n message: `AuthenticateOps.getAccessTokenForUser: end with token`,\n state,\n });\n return response.data.access_token;\n }\n printMessage({\n message: 'No access token in response.',\n type: 'error',\n state,\n });\n } catch (error) {\n debugMessage({\n message: `Error getting access token for user: ${error}`,\n state,\n });\n debugMessage({ message: error.response?.data, state });\n }\n debugMessage({\n message: `AuthenticateOps.getAccessTokenForUser: end without token`,\n state,\n });\n return null;\n}\n\nfunction createPayload(serviceAccountId: string, host: string) {\n const u = parseUrl(host);\n const aud = `${u.origin}:${\n u.port ? u.port : u.protocol === 'https' ? '443' : '80'\n }${u.pathname}/oauth2/access_token`;\n\n // Cross platform way of setting JWT expiry time 3 minutes in the future, expressed as number of seconds since EPOCH\n const exp = Math.floor(new Date().getTime() / 1000 + 180);\n\n // A unique ID for the JWT which is required when requesting the openid scope\n const jti = v4();\n\n const iss = serviceAccountId;\n const sub = serviceAccountId;\n\n // Create the payload for our bearer token\n const payload = { iss, sub, aud, exp, jti };\n\n return payload;\n}\n\n/**\n * Get access token for service account\n * @param {State} state library state\n * @returns {string | null} Access token or null\n */\nexport async function getAccessTokenForServiceAccount({\n saId = undefined,\n saJwk = undefined,\n state,\n}: {\n saId?: string;\n saJwk?: JwkRsa;\n state: State;\n}): Promise<string | null> {\n saId = saId ? saId : state.getServiceAccountId();\n saJwk = saJwk ? saJwk : state.getServiceAccountJwk();\n debugMessage({\n message: `AuthenticateOps.getAccessTokenForServiceAccount: start`,\n state,\n });\n const payload = createPayload(saId, state.getHost());\n debugMessage({\n message: `AuthenticateOps.getAccessTokenForServiceAccount: payload:`,\n state,\n });\n debugMessage({ message: payload, state });\n const jwt = await createSignedJwtToken(payload, saJwk);\n debugMessage({\n message: `AuthenticateOps.getAccessTokenForServiceAccount: jwt:`,\n state,\n });\n debugMessage({ message: jwt, state });\n const bodyFormData = `assertion=${jwt}&client_id=service-account&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&scope=${serviceAccountScopes}`;\n const response = await accessToken({\n amBaseUrl: state.getHost(),\n data: bodyFormData,\n config: {},\n state,\n });\n if ('access_token' in response.data) {\n debugMessage({\n message: `AuthenticateOps.getAccessTokenForServiceAccount: token:`,\n state,\n });\n debugMessage({ message: response.data.access_token, state });\n debugMessage({\n message: `AuthenticateOps.getAccessTokenForServiceAccount: end`,\n state,\n });\n return response.data.access_token;\n }\n debugMessage({\n message: `AuthenticateOps.getAccessTokenForServiceAccount: No access token in response.`,\n state,\n });\n debugMessage({\n message: `AuthenticateOps.getAccessTokenForServiceAccount: end`,\n state,\n });\n return null;\n}\n\n/**\n * Helper function to determine deployment type, default realm, and version and update library state\n * @param state library state\n */\nasync function determineDeploymentTypeAndDefaultRealmAndVersion(\n state: State\n): Promise<void> {\n debugMessage({\n message: `AuthenticateOps.determineDeploymentTypeAndDefaultRealmAndVersion: start`,\n state,\n });\n if (!state.getDeploymentType()) {\n state.setDeploymentType(await determineDeploymentType(state));\n }\n determineDefaultRealm(state);\n debugMessage({\n message: `AuthenticateOps.determineDeploymentTypeAndDefaultRealmAndVersion: realm=${state.getRealm()}, type=${state.getDeploymentType()}`,\n state,\n });\n\n const versionInfo = await getServerVersionInfo({ state });\n\n // https://github.com/rockcarver/frodo-cli/issues/109\n debugMessage({ message: `Full version: ${versionInfo.fullVersion}`, state });\n\n const version = await getSemanticVersion(versionInfo);\n state.setAmVersion(version);\n debugMessage({\n message: `AuthenticateOps.determineDeploymentTypeAndDefaultRealmAndVersion: end`,\n state,\n });\n}\n\n/**\n * Get logged-in subject\n * @param {State} state library state\n * @returns {string} a string identifying subject type and id\n */\nasync function getLoggedInSubject(state: State): Promise<string> {\n let subjectString = `user ${state.getUsername()}`;\n if (state.getUseBearerTokenForAmApis()) {\n try {\n const name = (\n await getServiceAccount({\n serviceAccountId: state.getServiceAccountId(),\n state,\n })\n ).name;\n subjectString = `service account ${name} [${state.getServiceAccountId()}]`;\n } catch (error) {\n subjectString = `service account ${state.getServiceAccountId()}`;\n }\n }\n return subjectString;\n}\n\n/**\n * Get tokens\n * @param {boolean} forceLoginAsUser true to force login as user even if a service account is available (default: false)\n * @param {State} state library state\n * @returns {Promise<boolean>} true if tokens were successfully obtained, false otherwise\n */\nexport async function getTokens({\n forceLoginAsUser = false,\n state,\n}: {\n forceLoginAsUser?: boolean;\n state: State;\n}): Promise<boolean> {\n debugMessage({ message: `AuthenticateOps.getTokens: start`, state });\n if (!state.getHost()) {\n printMessage({\n message: `No host specified and FRODO_HOST env variable not set!`,\n type: 'error',\n state,\n });\n return false;\n }\n try {\n // if username/password on cli are empty, try to read from connections.json\n if (\n state.getUsername() == null &&\n state.getPassword() == null &&\n !state.getServiceAccountId() &&\n !state.getServiceAccountJwk()\n ) {\n const conn = await getConnectionProfile({ state });\n if (conn) {\n state.setHost(conn.tenant);\n state.setUsername(conn.username);\n state.setPassword(conn.password);\n state.setAuthenticationService(conn.authenticationService);\n state.setAuthenticationHeaderOverrides(\n conn.authenticationHeaderOverrides\n );\n state.setServiceAccountId(conn.svcacctId);\n state.setServiceAccountJwk(conn.svcacctJwk);\n } else {\n return false;\n }\n }\n\n // if host is not a valid URL, try to locate a valid URL from connections.json\n if (!isValidUrl(state.getHost())) {\n const conn = await getConnectionProfile({ state });\n if (conn) {\n state.setHost(conn.tenant);\n } else {\n return false;\n }\n }\n\n // now that we have the full tenant URL we can lookup the cookie name\n state.setCookieName(await determineCookieName(state));\n\n // use service account to login?\n if (\n !forceLoginAsUser &&\n state.getServiceAccountId() &&\n state.getServiceAccountJwk()\n ) {\n debugMessage({\n message: `AuthenticateOps.getTokens: Authenticating with service account ${state.getServiceAccountId()}`,\n state,\n });\n try {\n const token = await getAccessTokenForServiceAccount({ state });\n state.setBearerToken(token);\n state.setUseBearerTokenForAmApis(true);\n await determineDeploymentTypeAndDefaultRealmAndVersion(state);\n } catch (saErr) {\n debugMessage({ message: saErr.response?.data || saErr, state });\n debugMessage({ message: state, state });\n throw new Error(\n `Service account login error: ${\n saErr.response?.data?.error_description ||\n saErr.response?.data?.message ||\n saErr\n }`\n );\n }\n }\n // use user account to login\n else if (state.getUsername() && state.getPassword()) {\n debugMessage({\n message: `AuthenticateOps.getTokens: Authenticating with user account ${state.getUsername()}`,\n state,\n });\n const token = await authenticate(state);\n if (token) state.setCookieValue(token);\n await determineDeploymentTypeAndDefaultRealmAndVersion(state);\n if (\n state.getCookieValue() &&\n !state.getBearerToken() &&\n (state.getDeploymentType() === Constants.CLOUD_DEPLOYMENT_TYPE_KEY ||\n state.getDeploymentType() === Constants.FORGEOPS_DEPLOYMENT_TYPE_KEY)\n ) {\n const accessToken = await getAccessTokenForUser(state);\n if (accessToken) state.setBearerToken(accessToken);\n }\n }\n // incomplete or no credentials\n else {\n printMessage({\n message: `Incomplete or no credentials!`,\n type: 'error',\n state,\n });\n return false;\n }\n if (\n state.getCookieValue() ||\n (state.getUseBearerTokenForAmApis() && state.getBearerToken())\n ) {\n // https://github.com/rockcarver/frodo-cli/issues/102\n printMessage({\n message: `Connected to ${state.getHost()} [${\n state.getRealm() ? state.getRealm() : 'root'\n }] as ${await getLoggedInSubject(state)}`,\n type: 'info',\n state,\n });\n debugMessage({\n message: `AuthenticateOps.getTokens: end with tokens`,\n state,\n });\n return true;\n }\n } catch (error) {\n // regular error\n printMessage({ message: error.message, type: 'error', state });\n // axios error am api\n printMessage({\n message: error.response?.data?.message,\n type: 'error',\n state,\n });\n // axios error am oauth2 api\n printMessage({\n message: error.response?.data?.error_description,\n type: 'error',\n state,\n });\n // axios error data\n debugMessage({ message: error.response?.data, state });\n // stack trace\n debugMessage({ message: error.stack || new Error().stack, state });\n }\n debugMessage({\n message: `AuthenticateOps.getTokens: end without tokens`,\n state,\n });\n return false;\n}\n"],"mappings":"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"}
@@ -200,11 +200,11 @@ function _exportCircleOfTrust() {
200
200
  });
201
201
  var errors = [];
202
202
  try {
203
- var cotData = yield (0, _CirclesOfTrustApi.getCircleOfTrust)({
203
+ var _cotData = yield (0, _CirclesOfTrustApi.getCircleOfTrust)({
204
204
  cotId,
205
205
  state
206
206
  });
207
- exportData.saml.cot[cotData._id] = cotData;
207
+ exportData.saml.cot[_cotData._id] = _cotData;
208
208
  } catch (error) {
209
209
  errors.push(error);
210
210
  }
@@ -291,18 +291,18 @@ function _importCircleOfTrust() {
291
291
  for (var id of Object.keys(importData.saml.cot)) {
292
292
  if (id === cotId) {
293
293
  try {
294
- var cotData = importData.saml.cot[id];
295
- delete cotData._rev;
294
+ var _cotData2 = importData.saml.cot[id];
295
+ delete _cotData2._rev;
296
296
  try {
297
297
  response = yield (0, _CirclesOfTrustApi.createCircleOfTrust)({
298
- cotData,
298
+ cotData: _cotData2,
299
299
  state
300
300
  });
301
301
  } catch (createError) {
302
302
  var _createError$response;
303
303
  if (((_createError$response = createError.response) === null || _createError$response === void 0 ? void 0 : _createError$response.status) === 409) response = yield (0, _CirclesOfTrustApi.updateCircleOfTrust)({
304
304
  cotId: id,
305
- cotData,
305
+ cotData: _cotData2,
306
306
  state
307
307
  });else throw createError;
308
308
  }
@@ -344,18 +344,18 @@ function _importFirstCircleOfTrust() {
344
344
  var imported = [];
345
345
  for (var id of Object.keys(importData.saml.cot)) {
346
346
  try {
347
- var cotData = importData.saml.cot[id];
348
- delete cotData._rev;
347
+ var _cotData3 = importData.saml.cot[id];
348
+ delete _cotData3._rev;
349
349
  try {
350
350
  response = yield (0, _CirclesOfTrustApi.createCircleOfTrust)({
351
- cotData,
351
+ cotData: _cotData3,
352
352
  state
353
353
  });
354
354
  } catch (createError) {
355
355
  var _createError$response2;
356
356
  if (((_createError$response2 = createError.response) === null || _createError$response2 === void 0 ? void 0 : _createError$response2.status) === 409) response = yield (0, _CirclesOfTrustApi.updateCircleOfTrust)({
357
357
  cotId: id,
358
- cotData,
358
+ cotData: _cotData3,
359
359
  state
360
360
  });else throw createError;
361
361
  }
@@ -393,18 +393,18 @@ function _importCirclesOfTrust() {
393
393
  var imported = [];
394
394
  for (var id of Object.keys(importData.saml.cot)) {
395
395
  try {
396
- var cotData = importData.saml.cot[id];
397
- delete cotData._rev;
396
+ var _cotData4 = importData.saml.cot[id];
397
+ delete _cotData4._rev;
398
398
  try {
399
399
  response.push(yield (0, _CirclesOfTrustApi.createCircleOfTrust)({
400
- cotData,
400
+ cotData: _cotData4,
401
401
  state
402
402
  }));
403
403
  } catch (createError) {
404
404
  var _createError$response3;
405
405
  if (((_createError$response3 = createError.response) === null || _createError$response3 === void 0 ? void 0 : _createError$response3.status) === 409) response.push(yield (0, _CirclesOfTrustApi.updateCircleOfTrust)({
406
406
  cotId: id,
407
- cotData,
407
+ cotData: _cotData4,
408
408
  state
409
409
  }));else throw createError;
410
410
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CirclesOfTrustOps.js","names":["state","createCirclesOfTrustExportTemplate","getCircleOfTrust","cotId","_asyncToGenerator","getCirclesOfTrust","createCircleOfTrust","cotData","exportCircleOfTrust","exportCirclesOfTrust","importCircleOfTrust","importData","importFirstCircleOfTrust","importCirclesOfTrust","exports","default","_default","_ref","meta","getMetadata","script","saml","hosted","remote","metadata","cot","_x","_getCirclesOfTrust2","apply","arguments","_ref2","result","_getCirclesOfTrust","_x2","_exportCircleOfTrust","_ref3","debugMessage","message","exportData","errors","_id","error","push","length","errorMessages","map","_error$response","response","status","concat","getRealm","_error$response2","_error$response2$data","data","join","Error","_x3","_exportCirclesOfTrust","_ref4","cots","_x4","_importCircleOfTrust","_ref5","imported","id","Object","keys","_rev","createError","_createError$response","updateCircleOfTrust","_error$response3","_error$response3$data","_x5","_importFirstCircleOfTrust","_ref6","_createError$response2","_error$response4","_error$response4$data","_x6","_importCirclesOfTrust","_ref7","_createError$response3","_error$response5","_error$response5$data"],"sources":["../../src/ops/CirclesOfTrustOps.ts"],"sourcesContent":["import { debugMessage } from './utils/Console';\nimport {\n getCirclesOfTrust as _getCirclesOfTrust,\n getCircleOfTrust,\n createCircleOfTrust,\n updateCircleOfTrust,\n} from '../api/CirclesOfTrustApi';\nimport { getMetadata } from './utils/ExportImportUtils';\nimport State from '../shared/State';\nimport { CirclesOfTrustExportInterface } from './OpsTypes';\nimport { CircleOfTrustSkeleton } from '../api/ApiTypes';\n\nexport default (state: State) => {\n return {\n /**\n * Create an empty agent export template\n * @returns {CirclesOfTrustExportInterface} an empty agent export template\n */\n createCirclesOfTrustExportTemplate() {\n return createCirclesOfTrustExportTemplate({ state });\n },\n\n /**\n * Get SAML circle of trust\n * @param {String} cotId circle of trust id/name\n */\n async getCircleOfTrust(cotId: string) {\n return getCircleOfTrust({ cotId, state });\n },\n\n /**\n * Get SAML circles of trust\n */\n async getCirclesOfTrust() {\n return getCirclesOfTrust({ state });\n },\n\n async createCircleOfTrust(cotData: CircleOfTrustSkeleton) {\n return createCircleOfTrust({ cotData, state });\n },\n\n /**\n * Export SAML circle of trust\n * @param {String} cotId circle of trust id/name\n */\n async exportCircleOfTrust(cotId: string) {\n return exportCircleOfTrust({ cotId, state });\n },\n\n /**\n * Export all SAML circles of trust\n */\n async exportCirclesOfTrust() {\n return exportCirclesOfTrust({ state });\n },\n\n /**\n * Import a SAML circle of trust by id/name from file\n * @param {String} cotId Circle of trust id/name\n * @param {CirclesOfTrustExportInterface} importData Import data\n */\n async importCircleOfTrust(\n cotId: string,\n importData: CirclesOfTrustExportInterface\n ) {\n return importCircleOfTrust({ cotId, importData, state });\n },\n\n /**\n * Import first SAML circle of trust\n * @param {CirclesOfTrustExportInterface} importData Import data\n */\n async importFirstCircleOfTrust(importData: CirclesOfTrustExportInterface) {\n return importFirstCircleOfTrust({ importData, state });\n },\n\n /**\n * Import all SAML circles of trust\n * @param {CirclesOfTrustExportInterface} importData Import file name\n */\n async importCirclesOfTrust(importData: CirclesOfTrustExportInterface) {\n return importCirclesOfTrust({ importData, state });\n },\n };\n};\n\n/**\n * Create an empty agent export template\n * @returns {CirclesOfTrustExportInterface} an empty agent export template\n */\nexport function createCirclesOfTrustExportTemplate({\n state,\n}: {\n state: State;\n}) {\n return {\n meta: getMetadata({ state }),\n script: {},\n saml: {\n hosted: {},\n remote: {},\n metadata: {},\n cot: {},\n },\n } as CirclesOfTrustExportInterface;\n}\n\nexport { getCircleOfTrust, createCircleOfTrust };\n\n/**\n * Get circles of trust\n */\nexport async function getCirclesOfTrust({ state }: { state: State }) {\n const { result } = await _getCirclesOfTrust({ state });\n return result;\n}\n\n/**\n * Export circle of trust\n * @param {string} cotId circle of trust id/name\n * @returns {Promise<CirclesOfTrustExportInterface>} a promise that resolves to an CirclesOfTrustExportInterface object\n */\nexport async function exportCircleOfTrust({\n cotId,\n state,\n}: {\n cotId: string;\n state: State;\n}): Promise<CirclesOfTrustExportInterface> {\n debugMessage({\n message: `CirclesOfTrustOps.exportCircleOfTrust: start`,\n state,\n });\n const exportData = createCirclesOfTrustExportTemplate({ state });\n const errors = [];\n try {\n const cotData = await getCircleOfTrust({\n cotId,\n state,\n });\n exportData.saml.cot[cotData._id] = cotData;\n } catch (error) {\n errors.push(error);\n }\n if (errors.length) {\n const errorMessages = errors\n .map((error) => {\n if (error.response?.status === 404) {\n return `Circle of trust ${cotId} does not exist in realm ${state.getRealm()}`;\n } else {\n return error.response?.data?.message || error.message;\n }\n })\n .join('\\n');\n throw new Error(`Export error:\\n${errorMessages}`);\n }\n debugMessage({\n message: `CirclesOfTrustOps.exportCircleOfTrust: end`,\n state,\n });\n return exportData;\n}\n\n/**\n * Export circles of trust\n * @returns {Promise<CirclesOfTrustExportInterface>} a promise that resolves to an CirclesOfTrustExportInterface object\n */\nexport async function exportCirclesOfTrust({\n state,\n}: {\n state: State;\n}): Promise<CirclesOfTrustExportInterface> {\n debugMessage({\n message: `CirclesOfTrustOps.exportCirclesOfTrust: start`,\n state,\n });\n const exportData = createCirclesOfTrustExportTemplate({ state });\n const errors = [];\n try {\n const cots = await getCirclesOfTrust({ state });\n for (const cot of cots) {\n exportData.saml.cot[cot._id] = cot;\n }\n } catch (error) {\n errors.push(error);\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Export error:\\n${errorMessages}`);\n }\n debugMessage({\n message: `CirclesOfTrustOps.exportCirclesOfTrust: end`,\n state,\n });\n return exportData;\n}\n\n/**\n * Import a SAML circle of trust by id/name from file\n * @param {String} cotId Circle of trust id/name\n * @param {CirclesOfTrustExportInterface} importData import data\n */\nexport async function importCircleOfTrust({\n cotId,\n importData,\n state,\n}: {\n cotId: string;\n importData: CirclesOfTrustExportInterface;\n state: State;\n}) {\n let response = null;\n const errors = [];\n const imported = [];\n for (const id of Object.keys(importData.saml.cot)) {\n if (id === cotId) {\n try {\n const cotData = importData.saml.cot[id];\n delete cotData._rev;\n try {\n response = await createCircleOfTrust({ cotData, state });\n } catch (createError) {\n if (createError.response?.status === 409)\n response = await updateCircleOfTrust({\n cotId: id,\n cotData,\n state,\n });\n else throw createError;\n }\n imported.push(id);\n } catch (error) {\n errors.push(error);\n }\n }\n }\n if (errors.length) {\n const errorMessages = errors\n .map((error) => error.response?.data?.message || error.message)\n .join('\\n');\n throw new Error(`Import error:\\n${errorMessages}`);\n }\n if (0 === imported.length) {\n throw new Error(`Import error:\\n${cotId} not found in import data!`);\n }\n return response;\n}\n\n/**\n * Import first SAML circle of trust\n * @param {CirclesOfTrustExportInterface} importData import data\n */\nexport async function importFirstCircleOfTrust({\n importData,\n state,\n}: {\n importData: CirclesOfTrustExportInterface;\n state: State;\n}) {\n let response = null;\n const errors = [];\n const imported = [];\n for (const id of Object.keys(importData.saml.cot)) {\n try {\n const cotData = importData.saml.cot[id];\n delete cotData._rev;\n try {\n response = await createCircleOfTrust({ cotData, state });\n } catch (createError) {\n if (createError.response?.status === 409)\n response = await updateCircleOfTrust({\n cotId: id,\n cotData,\n state,\n });\n else throw createError;\n }\n imported.push(id);\n } catch (error) {\n errors.push(error);\n }\n break;\n }\n if (errors.length) {\n const errorMessages = errors\n .map((error) => error.response?.data?.message || error.message)\n .join('\\n');\n throw new Error(`Import error:\\n${errorMessages}`);\n }\n if (0 === imported.length) {\n throw new Error(`Import error:\\nNo circles of trust found in import data!`);\n }\n return response;\n}\n\n/**\n * Import SAML circles of trust\n * @param {CirclesOfTrustExportInterface} importData import data\n */\nexport async function importCirclesOfTrust({\n importData,\n state,\n}: {\n importData: CirclesOfTrustExportInterface;\n state: State;\n}) {\n const response = [];\n const errors = [];\n const imported = [];\n for (const id of Object.keys(importData.saml.cot)) {\n try {\n const cotData = importData.saml.cot[id];\n delete cotData._rev;\n try {\n response.push(await createCircleOfTrust({ cotData, state }));\n } catch (createError) {\n if (createError.response?.status === 409)\n response.push(\n await updateCircleOfTrust({\n cotId: id,\n cotData,\n state,\n })\n );\n else throw createError;\n }\n imported.push(id);\n } catch (error) {\n errors.push(error);\n }\n }\n if (errors.length) {\n const errorMessages = errors\n .map((error) => error.response?.data?.message || error.message)\n .join('\\n');\n throw new Error(`Import error:\\n${errorMessages}`);\n }\n if (0 === imported.length) {\n throw new Error(`Import error:\\nNo circles of trust found in import data!`);\n }\n return response;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"CirclesOfTrustOps.js","names":["state","createCirclesOfTrustExportTemplate","getCircleOfTrust","cotId","_asyncToGenerator","getCirclesOfTrust","createCircleOfTrust","cotData","exportCircleOfTrust","exportCirclesOfTrust","importCircleOfTrust","importData","importFirstCircleOfTrust","importCirclesOfTrust","exports","default","_default","_ref","meta","getMetadata","script","saml","hosted","remote","metadata","cot","_x","_getCirclesOfTrust2","apply","arguments","_ref2","result","_getCirclesOfTrust","_x2","_exportCircleOfTrust","_ref3","debugMessage","message","exportData","errors","_id","error","push","length","errorMessages","map","_error$response","response","status","concat","getRealm","_error$response2","_error$response2$data","data","join","Error","_x3","_exportCirclesOfTrust","_ref4","cots","_x4","_importCircleOfTrust","_ref5","imported","id","Object","keys","_rev","createError","_createError$response","updateCircleOfTrust","_error$response3","_error$response3$data","_x5","_importFirstCircleOfTrust","_ref6","_createError$response2","_error$response4","_error$response4$data","_x6","_importCirclesOfTrust","_ref7","_createError$response3","_error$response5","_error$response5$data"],"sources":["../../src/ops/CirclesOfTrustOps.ts"],"sourcesContent":["import { debugMessage } from './utils/Console';\nimport {\n getCirclesOfTrust as _getCirclesOfTrust,\n getCircleOfTrust,\n createCircleOfTrust,\n updateCircleOfTrust,\n} from '../api/CirclesOfTrustApi';\nimport { getMetadata } from './utils/ExportImportUtils';\nimport { State } from '../shared/State';\nimport { CirclesOfTrustExportInterface } from './OpsTypes';\nimport { CircleOfTrustSkeleton } from '../api/ApiTypes';\n\nexport type CirclesOfTrust = {\n /**\n * Create an empty agent export template\n * @returns {CirclesOfTrustExportInterface} an empty agent export template\n */\n createCirclesOfTrustExportTemplate(): CirclesOfTrustExportInterface;\n /**\n * Get SAML circle of trust\n * @param {String} cotId circle of trust id/name\n */\n getCircleOfTrust(cotId: string): Promise<any>;\n /**\n * Get SAML circles of trust\n */\n getCirclesOfTrust(): Promise<any>;\n createCircleOfTrust(cotData: CircleOfTrustSkeleton): Promise<any>;\n /**\n * Export SAML circle of trust\n * @param {String} cotId circle of trust id/name\n */\n exportCircleOfTrust(cotId: string): Promise<CirclesOfTrustExportInterface>;\n /**\n * Export all SAML circles of trust\n */\n exportCirclesOfTrust(): Promise<CirclesOfTrustExportInterface>;\n /**\n * Import a SAML circle of trust by id/name from file\n * @param {String} cotId Circle of trust id/name\n * @param {CirclesOfTrustExportInterface} importData Import data\n */\n importCircleOfTrust(\n cotId: string,\n importData: CirclesOfTrustExportInterface\n ): Promise<any>;\n /**\n * Import first SAML circle of trust\n * @param {CirclesOfTrustExportInterface} importData Import data\n */\n importFirstCircleOfTrust(\n importData: CirclesOfTrustExportInterface\n ): Promise<any>;\n /**\n * Import all SAML circles of trust\n * @param {CirclesOfTrustExportInterface} importData Import file name\n */\n importCirclesOfTrust(\n importData: CirclesOfTrustExportInterface\n ): Promise<any[]>;\n};\n\nexport default (state: State): CirclesOfTrust => {\n return {\n /**\n * Create an empty agent export template\n * @returns {CirclesOfTrustExportInterface} an empty agent export template\n */\n createCirclesOfTrustExportTemplate() {\n return createCirclesOfTrustExportTemplate({ state });\n },\n\n /**\n * Get SAML circle of trust\n * @param {String} cotId circle of trust id/name\n */\n async getCircleOfTrust(cotId: string) {\n return getCircleOfTrust({ cotId, state });\n },\n\n /**\n * Get SAML circles of trust\n */\n async getCirclesOfTrust() {\n return getCirclesOfTrust({ state });\n },\n\n async createCircleOfTrust(cotData: CircleOfTrustSkeleton) {\n return createCircleOfTrust({ cotData, state });\n },\n\n /**\n * Export SAML circle of trust\n * @param {String} cotId circle of trust id/name\n */\n async exportCircleOfTrust(cotId: string) {\n return exportCircleOfTrust({ cotId, state });\n },\n\n /**\n * Export all SAML circles of trust\n */\n async exportCirclesOfTrust() {\n return exportCirclesOfTrust({ state });\n },\n\n /**\n * Import a SAML circle of trust by id/name from file\n * @param {String} cotId Circle of trust id/name\n * @param {CirclesOfTrustExportInterface} importData Import data\n */\n async importCircleOfTrust(\n cotId: string,\n importData: CirclesOfTrustExportInterface\n ) {\n return importCircleOfTrust({ cotId, importData, state });\n },\n\n /**\n * Import first SAML circle of trust\n * @param {CirclesOfTrustExportInterface} importData Import data\n */\n async importFirstCircleOfTrust(importData: CirclesOfTrustExportInterface) {\n return importFirstCircleOfTrust({ importData, state });\n },\n\n /**\n * Import all SAML circles of trust\n * @param {CirclesOfTrustExportInterface} importData Import file name\n */\n async importCirclesOfTrust(importData: CirclesOfTrustExportInterface) {\n return importCirclesOfTrust({ importData, state });\n },\n };\n};\n\n/**\n * Create an empty agent export template\n * @returns {CirclesOfTrustExportInterface} an empty agent export template\n */\nexport function createCirclesOfTrustExportTemplate({\n state,\n}: {\n state: State;\n}) {\n return {\n meta: getMetadata({ state }),\n script: {},\n saml: {\n hosted: {},\n remote: {},\n metadata: {},\n cot: {},\n },\n } as CirclesOfTrustExportInterface;\n}\n\nexport { getCircleOfTrust, createCircleOfTrust };\n\n/**\n * Get circles of trust\n */\nexport async function getCirclesOfTrust({ state }: { state: State }) {\n const { result } = await _getCirclesOfTrust({ state });\n return result;\n}\n\n/**\n * Export circle of trust\n * @param {string} cotId circle of trust id/name\n * @returns {Promise<CirclesOfTrustExportInterface>} a promise that resolves to an CirclesOfTrustExportInterface object\n */\nexport async function exportCircleOfTrust({\n cotId,\n state,\n}: {\n cotId: string;\n state: State;\n}): Promise<CirclesOfTrustExportInterface> {\n debugMessage({\n message: `CirclesOfTrustOps.exportCircleOfTrust: start`,\n state,\n });\n const exportData = createCirclesOfTrustExportTemplate({ state });\n const errors = [];\n try {\n const cotData = await getCircleOfTrust({\n cotId,\n state,\n });\n exportData.saml.cot[cotData._id] = cotData;\n } catch (error) {\n errors.push(error);\n }\n if (errors.length) {\n const errorMessages = errors\n .map((error) => {\n if (error.response?.status === 404) {\n return `Circle of trust ${cotId} does not exist in realm ${state.getRealm()}`;\n } else {\n return error.response?.data?.message || error.message;\n }\n })\n .join('\\n');\n throw new Error(`Export error:\\n${errorMessages}`);\n }\n debugMessage({\n message: `CirclesOfTrustOps.exportCircleOfTrust: end`,\n state,\n });\n return exportData;\n}\n\n/**\n * Export circles of trust\n * @returns {Promise<CirclesOfTrustExportInterface>} a promise that resolves to an CirclesOfTrustExportInterface object\n */\nexport async function exportCirclesOfTrust({\n state,\n}: {\n state: State;\n}): Promise<CirclesOfTrustExportInterface> {\n debugMessage({\n message: `CirclesOfTrustOps.exportCirclesOfTrust: start`,\n state,\n });\n const exportData = createCirclesOfTrustExportTemplate({ state });\n const errors = [];\n try {\n const cots = await getCirclesOfTrust({ state });\n for (const cot of cots) {\n exportData.saml.cot[cot._id] = cot;\n }\n } catch (error) {\n errors.push(error);\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Export error:\\n${errorMessages}`);\n }\n debugMessage({\n message: `CirclesOfTrustOps.exportCirclesOfTrust: end`,\n state,\n });\n return exportData;\n}\n\n/**\n * Import a SAML circle of trust by id/name from file\n * @param {String} cotId Circle of trust id/name\n * @param {CirclesOfTrustExportInterface} importData import data\n */\nexport async function importCircleOfTrust({\n cotId,\n importData,\n state,\n}: {\n cotId: string;\n importData: CirclesOfTrustExportInterface;\n state: State;\n}) {\n let response = null;\n const errors = [];\n const imported = [];\n for (const id of Object.keys(importData.saml.cot)) {\n if (id === cotId) {\n try {\n const cotData = importData.saml.cot[id];\n delete cotData._rev;\n try {\n response = await createCircleOfTrust({ cotData, state });\n } catch (createError) {\n if (createError.response?.status === 409)\n response = await updateCircleOfTrust({\n cotId: id,\n cotData,\n state,\n });\n else throw createError;\n }\n imported.push(id);\n } catch (error) {\n errors.push(error);\n }\n }\n }\n if (errors.length) {\n const errorMessages = errors\n .map((error) => error.response?.data?.message || error.message)\n .join('\\n');\n throw new Error(`Import error:\\n${errorMessages}`);\n }\n if (0 === imported.length) {\n throw new Error(`Import error:\\n${cotId} not found in import data!`);\n }\n return response;\n}\n\n/**\n * Import first SAML circle of trust\n * @param {CirclesOfTrustExportInterface} importData import data\n */\nexport async function importFirstCircleOfTrust({\n importData,\n state,\n}: {\n importData: CirclesOfTrustExportInterface;\n state: State;\n}) {\n let response = null;\n const errors = [];\n const imported = [];\n for (const id of Object.keys(importData.saml.cot)) {\n try {\n const cotData = importData.saml.cot[id];\n delete cotData._rev;\n try {\n response = await createCircleOfTrust({ cotData, state });\n } catch (createError) {\n if (createError.response?.status === 409)\n response = await updateCircleOfTrust({\n cotId: id,\n cotData,\n state,\n });\n else throw createError;\n }\n imported.push(id);\n } catch (error) {\n errors.push(error);\n }\n break;\n }\n if (errors.length) {\n const errorMessages = errors\n .map((error) => error.response?.data?.message || error.message)\n .join('\\n');\n throw new Error(`Import error:\\n${errorMessages}`);\n }\n if (0 === imported.length) {\n throw new Error(`Import error:\\nNo circles of trust found in import data!`);\n }\n return response;\n}\n\n/**\n * Import SAML circles of trust\n * @param {CirclesOfTrustExportInterface} importData import data\n */\nexport async function importCirclesOfTrust({\n importData,\n state,\n}: {\n importData: CirclesOfTrustExportInterface;\n state: State;\n}) {\n const response = [];\n const errors = [];\n const imported = [];\n for (const id of Object.keys(importData.saml.cot)) {\n try {\n const cotData = importData.saml.cot[id];\n delete cotData._rev;\n try {\n response.push(await createCircleOfTrust({ cotData, state }));\n } catch (createError) {\n if (createError.response?.status === 409)\n response.push(\n await updateCircleOfTrust({\n cotId: id,\n cotData,\n state,\n })\n );\n else throw createError;\n }\n imported.push(id);\n } catch (error) {\n errors.push(error);\n }\n }\n if (errors.length) {\n const errorMessages = errors\n .map((error) => error.response?.data?.message || error.message)\n .join('\\n');\n throw new Error(`Import error:\\n${errorMessages}`);\n }\n if (0 === imported.length) {\n throw new Error(`Import error:\\nNo circles of trust found in import data!`);\n }\n return response;\n}\n"],"mappings":"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"}
@@ -16,7 +16,7 @@ var _os = _interopRequireDefault(require("os"));
16
16
  var _path = _interopRequireDefault(require("path"));
17
17
  var _DataProtection = _interopRequireDefault(require("./utils/DataProtection.js"));
18
18
  var _Console = require("./utils/Console.js");
19
- var _StaticStorage = require("../storage/StaticStorage.js");
19
+ var _Constants = _interopRequireDefault(require("../shared/Constants.js"));
20
20
  var _JoseOps = require("./JoseOps.js");
21
21
  var _ServiceAccountOps = require("./cloud/ServiceAccountOps.js");
22
22
  var _ExportImportUtils = require("./utils/ExportImportUtils.js");
@@ -142,7 +142,7 @@ function getConnectionProfilesPath(_ref) {
142
142
  var {
143
143
  state
144
144
  } = _ref;
145
- return state.getConnectionProfilesPath() || process.env[_StaticStorage.FRODO_CONNECTION_PROFILES_PATH_KEY] || "".concat(_os.default.homedir(), "/.frodo/").concat(newProfileFilename);
145
+ return state.getConnectionProfilesPath() || process.env[_Constants.default.FRODO_CONNECTION_PROFILES_PATH_KEY] || "".concat(_os.default.homedir(), "/.frodo/").concat(newProfileFilename);
146
146
  }
147
147
 
148
148
  /**