@p0security/cli 0.16.3 → 0.17.1

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 (385) hide show
  1. package/CONTRIBUTING.md +7 -0
  2. package/README.md +3 -3
  3. package/build/dist/commands/__tests__/grant.test.js.map +1 -0
  4. package/{dist → build/dist}/commands/__tests__/login.test.js +99 -21
  5. package/build/dist/commands/__tests__/login.test.js.map +1 -0
  6. package/build/dist/commands/__tests__/ls.test.js.map +1 -0
  7. package/build/dist/commands/__tests__/request.test.js.map +1 -0
  8. package/build/dist/commands/__tests__/ssh.test.js.map +1 -0
  9. package/build/dist/commands/allow.js.map +1 -0
  10. package/build/dist/commands/aws/__tests__/__input__/saml-response.js.map +1 -0
  11. package/build/dist/commands/aws/__tests__/__input__/sts-response.js.map +1 -0
  12. package/build/dist/commands/aws/__tests__/role.test.js.map +1 -0
  13. package/build/dist/commands/aws/files.js.map +1 -0
  14. package/build/dist/commands/aws/index.js.map +1 -0
  15. package/build/dist/commands/aws/permission-set.js.map +1 -0
  16. package/build/dist/commands/aws/role.js.map +1 -0
  17. package/{dist/plugins/azure → build/dist/commands/aws}/types.js.map +1 -1
  18. package/build/dist/commands/grant.js.map +1 -0
  19. package/{dist → build/dist}/commands/index.js +19 -1
  20. package/build/dist/commands/index.js.map +1 -0
  21. package/build/dist/commands/kubeconfig.js.map +1 -0
  22. package/{dist → build/dist}/commands/login.d.ts +3 -1
  23. package/{dist → build/dist}/commands/login.js +67 -18
  24. package/build/dist/commands/login.js.map +1 -0
  25. package/build/dist/commands/ls.js.map +1 -0
  26. package/build/dist/commands/request.js.map +1 -0
  27. package/{dist → build/dist}/commands/scp.js +1 -1
  28. package/build/dist/commands/scp.js.map +1 -0
  29. package/build/dist/commands/shared/index.js.map +1 -0
  30. package/build/dist/commands/shared/request.js.map +1 -0
  31. package/{dist → build/dist}/commands/shared/ssh.js +2 -1
  32. package/build/dist/commands/shared/ssh.js.map +1 -0
  33. package/build/dist/commands/ssh-keygen.js.map +1 -0
  34. package/{dist → build/dist}/commands/ssh-proxy.js +1 -1
  35. package/build/dist/commands/ssh-proxy.js.map +1 -0
  36. package/{dist → build/dist}/commands/ssh-resolve.js +6 -4
  37. package/build/dist/commands/ssh-resolve.js.map +1 -0
  38. package/{dist → build/dist}/commands/ssh.js +1 -1
  39. package/build/dist/commands/ssh.js.map +1 -0
  40. package/build/dist/common/__mocks__/keys.js.map +1 -0
  41. package/build/dist/common/auth/oidc.js.map +1 -0
  42. package/{dist → build/dist}/common/auth/server.js +31 -3
  43. package/build/dist/common/auth/server.js.map +1 -0
  44. package/build/dist/common/destination.js.map +1 -0
  45. package/build/dist/common/fetch.js.map +1 -0
  46. package/build/dist/common/install.js.map +1 -0
  47. package/build/dist/common/keys.js.map +1 -0
  48. package/build/dist/common/mime.js.map +1 -0
  49. package/build/dist/common/retry.js.map +1 -0
  50. package/build/dist/common/subprocess.js.map +1 -0
  51. package/build/dist/common/xml.js.map +1 -0
  52. package/build/dist/drivers/__mocks__/stdio.js.map +1 -0
  53. package/build/dist/drivers/ansi.js.map +1 -0
  54. package/build/dist/drivers/api.js.map +1 -0
  55. package/build/dist/drivers/auth/__mocks__/index.js.map +1 -0
  56. package/{dist → build/dist}/drivers/auth/index.d.ts +4 -1
  57. package/{dist → build/dist}/drivers/auth/index.js +25 -17
  58. package/build/dist/drivers/auth/index.js.map +1 -0
  59. package/build/dist/drivers/auth/path.js.map +1 -0
  60. package/{dist → build/dist}/drivers/config.d.ts +2 -0
  61. package/{dist → build/dist}/drivers/config.js +6 -2
  62. package/build/dist/drivers/config.js.map +1 -0
  63. package/build/dist/drivers/env.d.ts +12 -0
  64. package/{dist → build/dist}/drivers/env.js +4 -13
  65. package/build/dist/drivers/env.js.map +1 -0
  66. package/{dist → build/dist}/drivers/firestore.d.ts +8 -12
  67. package/build/dist/drivers/firestore.js +137 -0
  68. package/build/dist/drivers/firestore.js.map +1 -0
  69. package/build/dist/drivers/stdio.js.map +1 -0
  70. package/build/dist/drivers/util.d.ts +11 -0
  71. package/build/dist/drivers/util.js +15 -0
  72. package/build/dist/drivers/util.js.map +1 -0
  73. package/{dist → build/dist}/index.js +13 -0
  74. package/build/dist/index.js.map +1 -0
  75. package/build/dist/middlewares/version.js.map +1 -0
  76. package/build/dist/plugins/__mocks__/login.js.map +1 -0
  77. package/build/dist/plugins/aws/__mocks__/assumeRole.js.map +1 -0
  78. package/build/dist/plugins/aws/__tests__/utils.test.js.map +1 -0
  79. package/build/dist/plugins/aws/api.js.map +1 -0
  80. package/build/dist/plugins/aws/assumeRole.js.map +1 -0
  81. package/build/dist/plugins/aws/config.js.map +1 -0
  82. package/build/dist/plugins/aws/idc/index.js.map +1 -0
  83. package/build/dist/plugins/aws/ssh.js.map +1 -0
  84. package/build/dist/plugins/aws/ssm/install.js.map +1 -0
  85. package/{dist/commands → build/dist/plugins}/aws/types.js.map +1 -1
  86. package/build/dist/plugins/aws/utils.js.map +1 -0
  87. package/{dist → build/dist}/plugins/azure/auth.d.ts +0 -1
  88. package/{dist → build/dist}/plugins/azure/auth.js +4 -4
  89. package/build/dist/plugins/azure/auth.js.map +1 -0
  90. package/build/dist/plugins/azure/install.js.map +1 -0
  91. package/build/dist/plugins/azure/keygen.js.map +1 -0
  92. package/build/dist/plugins/azure/ssh.js.map +1 -0
  93. package/build/dist/plugins/azure/tunnel.js.map +1 -0
  94. package/{dist/plugins/google → build/dist/plugins/azure}/types.js.map +1 -1
  95. package/build/dist/plugins/email/login.d.ts +4 -0
  96. package/build/dist/plugins/email/login.js +51 -0
  97. package/build/dist/plugins/email/login.js.map +1 -0
  98. package/build/dist/plugins/google/install.js.map +1 -0
  99. package/{dist → build/dist}/plugins/google/login.js +2 -2
  100. package/build/dist/plugins/google/login.js.map +1 -0
  101. package/build/dist/plugins/google/ssh-key.js.map +1 -0
  102. package/build/dist/plugins/google/ssh.js.map +1 -0
  103. package/build/dist/plugins/google/types.js.map +1 -0
  104. package/build/dist/plugins/kubeconfig/index.js.map +1 -0
  105. package/build/dist/plugins/kubeconfig/install.js.map +1 -0
  106. package/build/dist/plugins/kubeconfig/types.js.map +1 -0
  107. package/{dist → build/dist}/plugins/login.js +9 -7
  108. package/build/dist/plugins/login.js.map +1 -0
  109. package/build/dist/plugins/oidc/login.js.map +1 -0
  110. package/build/dist/plugins/okta/aws.js.map +1 -0
  111. package/{dist → build/dist}/plugins/okta/login.js +27 -4
  112. package/build/dist/plugins/okta/login.js.map +1 -0
  113. package/build/dist/plugins/ping/login.js.map +1 -0
  114. package/{dist → build/dist}/plugins/ssh/index.d.ts +0 -6
  115. package/{dist → build/dist}/plugins/ssh/index.js +21 -10
  116. package/build/dist/plugins/ssh/index.js.map +1 -0
  117. package/{dist/plugins/aws → build/dist/plugins/ssh}/types.js.map +1 -1
  118. package/build/dist/testing/firestore.js.map +1 -0
  119. package/build/dist/testing/yargs.js.map +1 -0
  120. package/{dist → build/dist}/types/allow.js.map +1 -1
  121. package/build/dist/types/aws/oidc.js.map +1 -0
  122. package/{dist → build/dist}/types/identity.js.map +1 -1
  123. package/build/dist/types/index.js.map +1 -0
  124. package/{dist → build/dist}/types/oidc.d.ts +4 -4
  125. package/{dist → build/dist}/types/oidc.js.map +1 -1
  126. package/{dist → build/dist}/types/org.d.ts +4 -1
  127. package/build/dist/types/org.js.map +1 -0
  128. package/build/dist/types/request.js.map +1 -0
  129. package/build/dist/types/ssh.js.map +1 -0
  130. package/{dist → build/dist}/util.d.ts +1 -0
  131. package/{dist → build/dist}/util.js +4 -1
  132. package/build/dist/util.js.map +1 -0
  133. package/build/tsconfig.tsbuildinfo +1 -0
  134. package/p0 +1 -1
  135. package/package.json +10 -8
  136. package/dist/commands/__tests__/grant.test.js.map +0 -1
  137. package/dist/commands/__tests__/login.test.js.map +0 -1
  138. package/dist/commands/__tests__/ls.test.js.map +0 -1
  139. package/dist/commands/__tests__/request.test.js.map +0 -1
  140. package/dist/commands/__tests__/ssh.test.js.map +0 -1
  141. package/dist/commands/allow.js.map +0 -1
  142. package/dist/commands/aws/__tests__/__input__/saml-response.js.map +0 -1
  143. package/dist/commands/aws/__tests__/__input__/sts-response.js.map +0 -1
  144. package/dist/commands/aws/__tests__/role.test.js.map +0 -1
  145. package/dist/commands/aws/files.js.map +0 -1
  146. package/dist/commands/aws/index.js.map +0 -1
  147. package/dist/commands/aws/permission-set.js.map +0 -1
  148. package/dist/commands/aws/role.js.map +0 -1
  149. package/dist/commands/grant.js.map +0 -1
  150. package/dist/commands/index.js.map +0 -1
  151. package/dist/commands/kubeconfig.js.map +0 -1
  152. package/dist/commands/login.js.map +0 -1
  153. package/dist/commands/ls.js.map +0 -1
  154. package/dist/commands/request.js.map +0 -1
  155. package/dist/commands/scp.js.map +0 -1
  156. package/dist/commands/shared/index.js.map +0 -1
  157. package/dist/commands/shared/request.js.map +0 -1
  158. package/dist/commands/shared/ssh.js.map +0 -1
  159. package/dist/commands/ssh-keygen.js.map +0 -1
  160. package/dist/commands/ssh-proxy.js.map +0 -1
  161. package/dist/commands/ssh-resolve.js.map +0 -1
  162. package/dist/commands/ssh.js.map +0 -1
  163. package/dist/common/__mocks__/keys.js.map +0 -1
  164. package/dist/common/auth/oidc.js.map +0 -1
  165. package/dist/common/auth/server.js.map +0 -1
  166. package/dist/common/destination.js.map +0 -1
  167. package/dist/common/fetch.js.map +0 -1
  168. package/dist/common/install.js.map +0 -1
  169. package/dist/common/keys.js.map +0 -1
  170. package/dist/common/mime.js.map +0 -1
  171. package/dist/common/retry.js.map +0 -1
  172. package/dist/common/subprocess.js.map +0 -1
  173. package/dist/common/xml.js.map +0 -1
  174. package/dist/drivers/__mocks__/stdio.js.map +0 -1
  175. package/dist/drivers/ansi.js.map +0 -1
  176. package/dist/drivers/api.js.map +0 -1
  177. package/dist/drivers/auth/__mocks__/index.js.map +0 -1
  178. package/dist/drivers/auth/index.js.map +0 -1
  179. package/dist/drivers/auth/path.js.map +0 -1
  180. package/dist/drivers/config.js.map +0 -1
  181. package/dist/drivers/env.d.ts +0 -17
  182. package/dist/drivers/env.js.map +0 -1
  183. package/dist/drivers/firestore.js +0 -95
  184. package/dist/drivers/firestore.js.map +0 -1
  185. package/dist/drivers/stdio.js.map +0 -1
  186. package/dist/index.js.map +0 -1
  187. package/dist/middlewares/version.js.map +0 -1
  188. package/dist/plugins/__mocks__/login.js.map +0 -1
  189. package/dist/plugins/aws/__mocks__/assumeRole.js.map +0 -1
  190. package/dist/plugins/aws/__tests__/utils.test.js.map +0 -1
  191. package/dist/plugins/aws/api.js.map +0 -1
  192. package/dist/plugins/aws/assumeRole.js.map +0 -1
  193. package/dist/plugins/aws/config.js.map +0 -1
  194. package/dist/plugins/aws/idc/index.js.map +0 -1
  195. package/dist/plugins/aws/ssh.js.map +0 -1
  196. package/dist/plugins/aws/ssm/install.js.map +0 -1
  197. package/dist/plugins/aws/utils.js.map +0 -1
  198. package/dist/plugins/azure/auth.js.map +0 -1
  199. package/dist/plugins/azure/install.js.map +0 -1
  200. package/dist/plugins/azure/keygen.js.map +0 -1
  201. package/dist/plugins/azure/ssh.js.map +0 -1
  202. package/dist/plugins/azure/tunnel.js.map +0 -1
  203. package/dist/plugins/google/install.js.map +0 -1
  204. package/dist/plugins/google/login.js.map +0 -1
  205. package/dist/plugins/google/ssh-key.js.map +0 -1
  206. package/dist/plugins/google/ssh.js.map +0 -1
  207. package/dist/plugins/kubeconfig/index.js.map +0 -1
  208. package/dist/plugins/kubeconfig/install.js.map +0 -1
  209. package/dist/plugins/kubeconfig/types.js.map +0 -1
  210. package/dist/plugins/login.js.map +0 -1
  211. package/dist/plugins/oidc/login.js.map +0 -1
  212. package/dist/plugins/okta/aws.js.map +0 -1
  213. package/dist/plugins/okta/login.js.map +0 -1
  214. package/dist/plugins/ping/login.js.map +0 -1
  215. package/dist/plugins/ssh/index.js.map +0 -1
  216. package/dist/plugins/ssh/types.js.map +0 -1
  217. package/dist/testing/firestore.js.map +0 -1
  218. package/dist/testing/yargs.js.map +0 -1
  219. package/dist/types/aws/oidc.js.map +0 -1
  220. package/dist/types/index.js.map +0 -1
  221. package/dist/types/org.js.map +0 -1
  222. package/dist/types/request.js.map +0 -1
  223. package/dist/types/ssh.js.map +0 -1
  224. package/dist/util.js.map +0 -1
  225. /package/{dist → build/dist}/commands/__tests__/grant.test.d.ts +0 -0
  226. /package/{dist → build/dist}/commands/__tests__/grant.test.js +0 -0
  227. /package/{dist → build/dist}/commands/__tests__/login.test.d.ts +0 -0
  228. /package/{dist → build/dist}/commands/__tests__/ls.test.d.ts +0 -0
  229. /package/{dist → build/dist}/commands/__tests__/ls.test.js +0 -0
  230. /package/{dist → build/dist}/commands/__tests__/request.test.d.ts +0 -0
  231. /package/{dist → build/dist}/commands/__tests__/request.test.js +0 -0
  232. /package/{dist → build/dist}/commands/__tests__/ssh.test.d.ts +0 -0
  233. /package/{dist → build/dist}/commands/__tests__/ssh.test.js +0 -0
  234. /package/{dist → build/dist}/commands/allow.d.ts +0 -0
  235. /package/{dist → build/dist}/commands/allow.js +0 -0
  236. /package/{dist → build/dist}/commands/aws/__tests__/__input__/saml-response.d.ts +0 -0
  237. /package/{dist → build/dist}/commands/aws/__tests__/__input__/saml-response.js +0 -0
  238. /package/{dist → build/dist}/commands/aws/__tests__/__input__/sts-response.d.ts +0 -0
  239. /package/{dist → build/dist}/commands/aws/__tests__/__input__/sts-response.js +0 -0
  240. /package/{dist → build/dist}/commands/aws/__tests__/role.test.d.ts +0 -0
  241. /package/{dist → build/dist}/commands/aws/__tests__/role.test.js +0 -0
  242. /package/{dist → build/dist}/commands/aws/files.d.ts +0 -0
  243. /package/{dist → build/dist}/commands/aws/files.js +0 -0
  244. /package/{dist → build/dist}/commands/aws/index.d.ts +0 -0
  245. /package/{dist → build/dist}/commands/aws/index.js +0 -0
  246. /package/{dist → build/dist}/commands/aws/permission-set.d.ts +0 -0
  247. /package/{dist → build/dist}/commands/aws/permission-set.js +0 -0
  248. /package/{dist → build/dist}/commands/aws/role.d.ts +0 -0
  249. /package/{dist → build/dist}/commands/aws/role.js +0 -0
  250. /package/{dist → build/dist}/commands/aws/types.d.ts +0 -0
  251. /package/{dist → build/dist}/commands/aws/types.js +0 -0
  252. /package/{dist → build/dist}/commands/grant.d.ts +0 -0
  253. /package/{dist → build/dist}/commands/grant.js +0 -0
  254. /package/{dist → build/dist}/commands/index.d.ts +0 -0
  255. /package/{dist → build/dist}/commands/kubeconfig.d.ts +0 -0
  256. /package/{dist → build/dist}/commands/kubeconfig.js +0 -0
  257. /package/{dist → build/dist}/commands/ls.d.ts +0 -0
  258. /package/{dist → build/dist}/commands/ls.js +0 -0
  259. /package/{dist → build/dist}/commands/request.d.ts +0 -0
  260. /package/{dist → build/dist}/commands/request.js +0 -0
  261. /package/{dist → build/dist}/commands/scp.d.ts +0 -0
  262. /package/{dist → build/dist}/commands/shared/index.d.ts +0 -0
  263. /package/{dist → build/dist}/commands/shared/index.js +0 -0
  264. /package/{dist → build/dist}/commands/shared/request.d.ts +0 -0
  265. /package/{dist → build/dist}/commands/shared/request.js +0 -0
  266. /package/{dist → build/dist}/commands/shared/ssh.d.ts +0 -0
  267. /package/{dist → build/dist}/commands/ssh-keygen.d.ts +0 -0
  268. /package/{dist → build/dist}/commands/ssh-keygen.js +0 -0
  269. /package/{dist → build/dist}/commands/ssh-proxy.d.ts +0 -0
  270. /package/{dist → build/dist}/commands/ssh-resolve.d.ts +0 -0
  271. /package/{dist → build/dist}/commands/ssh.d.ts +0 -0
  272. /package/{dist → build/dist}/common/__mocks__/keys.d.ts +0 -0
  273. /package/{dist → build/dist}/common/__mocks__/keys.js +0 -0
  274. /package/{dist → build/dist}/common/auth/oidc.d.ts +0 -0
  275. /package/{dist → build/dist}/common/auth/oidc.js +0 -0
  276. /package/{dist → build/dist}/common/auth/server.d.ts +0 -0
  277. /package/{dist → build/dist}/common/destination.d.ts +0 -0
  278. /package/{dist → build/dist}/common/destination.js +0 -0
  279. /package/{dist → build/dist}/common/fetch.d.ts +0 -0
  280. /package/{dist → build/dist}/common/fetch.js +0 -0
  281. /package/{dist → build/dist}/common/install.d.ts +0 -0
  282. /package/{dist → build/dist}/common/install.js +0 -0
  283. /package/{dist → build/dist}/common/keys.d.ts +0 -0
  284. /package/{dist → build/dist}/common/keys.js +0 -0
  285. /package/{dist → build/dist}/common/mime.d.ts +0 -0
  286. /package/{dist → build/dist}/common/mime.js +0 -0
  287. /package/{dist → build/dist}/common/retry.d.ts +0 -0
  288. /package/{dist → build/dist}/common/retry.js +0 -0
  289. /package/{dist → build/dist}/common/subprocess.d.ts +0 -0
  290. /package/{dist → build/dist}/common/subprocess.js +0 -0
  291. /package/{dist → build/dist}/common/xml.d.ts +0 -0
  292. /package/{dist → build/dist}/common/xml.js +0 -0
  293. /package/{dist → build/dist}/drivers/__mocks__/stdio.d.ts +0 -0
  294. /package/{dist → build/dist}/drivers/__mocks__/stdio.js +0 -0
  295. /package/{dist → build/dist}/drivers/ansi.d.ts +0 -0
  296. /package/{dist → build/dist}/drivers/ansi.js +0 -0
  297. /package/{dist → build/dist}/drivers/api.d.ts +0 -0
  298. /package/{dist → build/dist}/drivers/api.js +0 -0
  299. /package/{dist → build/dist}/drivers/auth/__mocks__/index.d.ts +0 -0
  300. /package/{dist → build/dist}/drivers/auth/__mocks__/index.js +0 -0
  301. /package/{dist → build/dist}/drivers/auth/path.d.ts +0 -0
  302. /package/{dist → build/dist}/drivers/auth/path.js +0 -0
  303. /package/{dist → build/dist}/drivers/stdio.d.ts +0 -0
  304. /package/{dist → build/dist}/drivers/stdio.js +0 -0
  305. /package/{dist → build/dist}/index.d.ts +0 -0
  306. /package/{dist → build/dist}/middlewares/version.d.ts +0 -0
  307. /package/{dist → build/dist}/middlewares/version.js +0 -0
  308. /package/{dist → build/dist}/plugins/__mocks__/login.d.ts +0 -0
  309. /package/{dist → build/dist}/plugins/__mocks__/login.js +0 -0
  310. /package/{dist → build/dist}/plugins/aws/__mocks__/assumeRole.d.ts +0 -0
  311. /package/{dist → build/dist}/plugins/aws/__mocks__/assumeRole.js +0 -0
  312. /package/{dist → build/dist}/plugins/aws/__tests__/utils.test.d.ts +0 -0
  313. /package/{dist → build/dist}/plugins/aws/__tests__/utils.test.js +0 -0
  314. /package/{dist → build/dist}/plugins/aws/api.d.ts +0 -0
  315. /package/{dist → build/dist}/plugins/aws/api.js +0 -0
  316. /package/{dist → build/dist}/plugins/aws/assumeRole.d.ts +0 -0
  317. /package/{dist → build/dist}/plugins/aws/assumeRole.js +0 -0
  318. /package/{dist → build/dist}/plugins/aws/config.d.ts +0 -0
  319. /package/{dist → build/dist}/plugins/aws/config.js +0 -0
  320. /package/{dist → build/dist}/plugins/aws/idc/index.d.ts +0 -0
  321. /package/{dist → build/dist}/plugins/aws/idc/index.js +0 -0
  322. /package/{dist → build/dist}/plugins/aws/ssh.d.ts +0 -0
  323. /package/{dist → build/dist}/plugins/aws/ssh.js +0 -0
  324. /package/{dist → build/dist}/plugins/aws/ssm/install.d.ts +0 -0
  325. /package/{dist → build/dist}/plugins/aws/ssm/install.js +0 -0
  326. /package/{dist → build/dist}/plugins/aws/types.d.ts +0 -0
  327. /package/{dist → build/dist}/plugins/aws/types.js +0 -0
  328. /package/{dist → build/dist}/plugins/aws/utils.d.ts +0 -0
  329. /package/{dist → build/dist}/plugins/aws/utils.js +0 -0
  330. /package/{dist → build/dist}/plugins/azure/install.d.ts +0 -0
  331. /package/{dist → build/dist}/plugins/azure/install.js +0 -0
  332. /package/{dist → build/dist}/plugins/azure/keygen.d.ts +0 -0
  333. /package/{dist → build/dist}/plugins/azure/keygen.js +0 -0
  334. /package/{dist → build/dist}/plugins/azure/ssh.d.ts +0 -0
  335. /package/{dist → build/dist}/plugins/azure/ssh.js +0 -0
  336. /package/{dist → build/dist}/plugins/azure/tunnel.d.ts +0 -0
  337. /package/{dist → build/dist}/plugins/azure/tunnel.js +0 -0
  338. /package/{dist → build/dist}/plugins/azure/types.d.ts +0 -0
  339. /package/{dist → build/dist}/plugins/azure/types.js +0 -0
  340. /package/{dist → build/dist}/plugins/google/install.d.ts +0 -0
  341. /package/{dist → build/dist}/plugins/google/install.js +0 -0
  342. /package/{dist → build/dist}/plugins/google/login.d.ts +0 -0
  343. /package/{dist → build/dist}/plugins/google/ssh-key.d.ts +0 -0
  344. /package/{dist → build/dist}/plugins/google/ssh-key.js +0 -0
  345. /package/{dist → build/dist}/plugins/google/ssh.d.ts +0 -0
  346. /package/{dist → build/dist}/plugins/google/ssh.js +0 -0
  347. /package/{dist → build/dist}/plugins/google/types.d.ts +0 -0
  348. /package/{dist → build/dist}/plugins/google/types.js +0 -0
  349. /package/{dist → build/dist}/plugins/kubeconfig/index.d.ts +0 -0
  350. /package/{dist → build/dist}/plugins/kubeconfig/index.js +0 -0
  351. /package/{dist → build/dist}/plugins/kubeconfig/install.d.ts +0 -0
  352. /package/{dist → build/dist}/plugins/kubeconfig/install.js +0 -0
  353. /package/{dist → build/dist}/plugins/kubeconfig/types.d.ts +0 -0
  354. /package/{dist → build/dist}/plugins/kubeconfig/types.js +0 -0
  355. /package/{dist → build/dist}/plugins/login.d.ts +0 -0
  356. /package/{dist → build/dist}/plugins/oidc/login.d.ts +0 -0
  357. /package/{dist → build/dist}/plugins/oidc/login.js +0 -0
  358. /package/{dist → build/dist}/plugins/okta/aws.d.ts +0 -0
  359. /package/{dist → build/dist}/plugins/okta/aws.js +0 -0
  360. /package/{dist → build/dist}/plugins/okta/login.d.ts +0 -0
  361. /package/{dist → build/dist}/plugins/ping/login.d.ts +0 -0
  362. /package/{dist → build/dist}/plugins/ping/login.js +0 -0
  363. /package/{dist → build/dist}/plugins/ssh/types.d.ts +0 -0
  364. /package/{dist → build/dist}/plugins/ssh/types.js +0 -0
  365. /package/{dist → build/dist}/public/favicon.ico +0 -0
  366. /package/{dist → build/dist}/public/p0.jpg +0 -0
  367. /package/{dist → build/dist}/public/redirect-landing.html +0 -0
  368. /package/{dist → build/dist}/testing/firestore.d.ts +0 -0
  369. /package/{dist → build/dist}/testing/firestore.js +0 -0
  370. /package/{dist → build/dist}/testing/yargs.d.ts +0 -0
  371. /package/{dist → build/dist}/testing/yargs.js +0 -0
  372. /package/{dist → build/dist}/types/allow.d.ts +0 -0
  373. /package/{dist → build/dist}/types/allow.js +0 -0
  374. /package/{dist → build/dist}/types/aws/oidc.d.ts +0 -0
  375. /package/{dist → build/dist}/types/aws/oidc.js +0 -0
  376. /package/{dist → build/dist}/types/identity.d.ts +0 -0
  377. /package/{dist → build/dist}/types/identity.js +0 -0
  378. /package/{dist → build/dist}/types/index.d.ts +0 -0
  379. /package/{dist → build/dist}/types/index.js +0 -0
  380. /package/{dist → build/dist}/types/oidc.js +0 -0
  381. /package/{dist → build/dist}/types/org.js +0 -0
  382. /package/{dist → build/dist}/types/request.d.ts +0 -0
  383. /package/{dist → build/dist}/types/request.js +0 -0
  384. /package/{dist → build/dist}/types/ssh.d.ts +0 -0
  385. /package/{dist → build/dist}/types/ssh.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ssh-proxy.js","sourceRoot":"","sources":["../../../src/commands/ssh-proxy.ts"],"names":[],"mappings":"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"}
@@ -26,7 +26,6 @@ You should have received a copy of the GNU General Public License along with @p0
26
26
  const destination_1 = require("../common/destination");
27
27
  const keys_1 = require("../common/keys");
28
28
  const auth_1 = require("../drivers/auth");
29
- const env_1 = require("../drivers/env");
30
29
  const firestore_1 = require("../drivers/firestore");
31
30
  const stdio_1 = require("../drivers/stdio");
32
31
  const util_1 = require("../util");
@@ -82,7 +81,10 @@ const sshResolveAction = (args) => __awaiter(void 0, void 0, void 0, function* (
82
81
  }
83
82
  return silentlyExit(err);
84
83
  };
85
- const authn = yield (0, auth_1.authenticate)({ noRefresh: true }).catch(silentlyExit);
84
+ const authn = yield (0, auth_1.authenticate)({
85
+ noRefresh: true,
86
+ debug: args.debug,
87
+ }).catch(silentlyExit);
86
88
  const { request, provisionedRequest } = yield (0, ssh_1.prepareRequest)(authn, args, args.destination, true, args.quiet).catch(requestErrorHandler);
87
89
  const sshProvider = ssh_1.SSH_PROVIDERS[provisionedRequest.permission.provider];
88
90
  if (args.debug) {
@@ -100,7 +102,7 @@ const sshResolveAction = (args) => __awaiter(void 0, void 0, void 0, function* (
100
102
  const certificateInfo = (keys === null || keys === void 0 ? void 0 : keys.certificatePath)
101
103
  ? `CertificateFile ${keys.certificatePath}`
102
104
  : "";
103
- const p0Executable = env_1.bootstrapConfig.appPath;
105
+ const appPath = (0, util_1.getAppPath)();
104
106
  // The config file name must be a valid file name (without forward slashes) so we can create it.
105
107
  // The config file will be deleted by the ssh-proxy command. Sanitization here and upon deletion must match.
106
108
  const configFile = (0, destination_1.sanitizeAsFileName)(args.destination);
@@ -115,7 +117,7 @@ const sshResolveAction = (args) => __awaiter(void 0, void 0, void 0, function* (
115
117
  IdentityFile ${identityFile}
116
118
  ${certificateInfo}
117
119
  PasswordAuthentication no
118
- ProxyCommand ${p0Executable} ssh-proxy %h --port %p --provider ${provisionedRequest.permission.provider} --identity-file ${identityFile} --request-json ${tmpFile.name} ${args.debug ? "--debug" : ""}`;
120
+ ProxyCommand ${appPath} ssh-proxy %h --port %p --provider ${provisionedRequest.permission.provider} --identity-file ${identityFile} --request-json ${tmpFile.name} ${args.debug ? "--debug" : ""}`;
119
121
  yield fs_1.default.promises.mkdir(path_1.default.join(util_1.P0_PATH, "ssh", "configs"), {
120
122
  recursive: true,
121
123
  });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ssh-resolve.js","sourceRoot":"","sources":["../../../src/commands/ssh-resolve.ts"],"names":[],"mappings":"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"}
@@ -81,7 +81,7 @@ exports.sshCommand = sshCommand;
81
81
  */
82
82
  const sshAction = (args) => __awaiter(void 0, void 0, void 0, function* () {
83
83
  // Prefix is required because the backend uses it to determine that this is an AWS request
84
- const authn = yield (0, auth_1.authenticate)();
84
+ const authn = yield (0, auth_1.authenticate)(args);
85
85
  const sshOptions = Array.isArray(args["--"])
86
86
  ? args["--"].map(String)
87
87
  : [];
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ssh.js","sourceRoot":"","sources":["../../../src/commands/ssh.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,0CAA+C;AAC/C,oDAAuD;AACvD,wCAA0C;AAC1C,sCAA8D;AAGvD,MAAM,UAAU,GAAG,CAAC,KAAiB,EAAE,EAAE,CAC9C,KAAK,CAAC,OAAO,CACX,2CAA2C,EAC3C,4BAA4B,EAC5B,CAAC,KAAK,EAAE,EAAE,CACR,KAAK;KACF,UAAU,CAAC,aAAa,EAAE;IACzB,IAAI,EAAE,QAAQ;IACd,YAAY,EAAE,IAAI;CACnB,CAAC;KACD,UAAU,CAAC,SAAS,EAAE;IACrB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,2BAA2B;CACtC,CAAC;KACD,UAAU,CAAC,WAAW,EAAE;IACvB,QAAQ,EAAE,mBAAmB;IAC7B,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI;IACZ,OAAO,EAAE,EAAc;CACxB,CAAC;KACD,MAAM,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,0BAA0B;CACrC,CAAC;IACF,8BAA8B;KAC7B,MAAM,CAAC,QAAQ,EAAE;IAChB,QAAQ,EAAE,yBAAyB;IACnC,IAAI,EAAE,QAAQ;CACf,CAAC;KACD,MAAM,CAAC,QAAQ,EAAE;IAChB,IAAI,EAAE,QAAQ;IACd,QAAQ,EACN,qGAAqG;CACxG,CAAC;KACD,MAAM,CAAC,UAAU,EAAE;IAClB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,iDAAiD;IAC3D,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC;CACpC,CAAC;KACD,MAAM,CAAC,OAAO,EAAE;IACf,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,0BAA0B;CACrC,CAAC;KACD,KAAK,CAAC,gEAAgE,CAAC;IACxE,+DAA+D;KAC9D,mBAAmB,CAAC;IACnB,YAAY,EAAE,IAAI;CACnB,CAAC;KACD,QAAQ,CACP;;;;mGAIyF,CAC1F,EAEL,IAAA,2BAAe,EAAC,SAAS,CAAC,CAC3B,CAAC;AAzDS,QAAA,UAAU,cAyDnB;AAEJ;;;;;;GAMG;AACH,MAAM,SAAS,GAAG,CAAO,IAA8C,EAAE,EAAE;IACzE,0FAA0F;IAC1F,MAAM,KAAK,GAAG,MAAM,IAAA,mBAAY,EAAC,IAAI,CAAC,CAAC;IAEvC,MAAM,UAAU,GAAa,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;QACxB,CAAC,CAAC,EAAE,CAAC;IACP,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAE7B,uGAAuG;IACvG,IACE,IAAI,CAAC,QAAQ,KAAK,OAAO;QACzB,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAC9C;QACA,MAAM,wHAAwH,CAAC;KAChI;IAED,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,MAAM,IAAA,oBAAc,EAC/D,KAAK,EACL,IAAI,EACJ,IAAI,CAAC,WAAW,CACjB,CAAC;IAEF,MAAM,IAAA,cAAQ,EAAC;QACb,KAAK;QACL,OAAO;QACP,OAAO,EAAE,IAAI;QACb,UAAU;QACV,WAAW;KACZ,CAAC,CAAC;AACL,CAAC,CAAA,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../../src/common/__mocks__/keys.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;GASG;AACU,QAAA,eAAe,GAAG,iBAAiB,CAAC;AACpC,QAAA,aAAa,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/D,SAAS,EAAE,iBAAiB;IAC5B,UAAU,EAAE,kBAAkB;CAC/B,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oidc.js","sourceRoot":"","sources":["../../../../src/common/auth/oidc.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;GASG;AACH,kCAAsC;AAEzB,QAAA,YAAY,GAAG;IAC1B,MAAM,EAAE,kBAAW,CAAC,IAAI;IACxB,cAAc,EAAE,kBAAW,CAAC,qBAAqB;CAClD,CAAC"}
@@ -26,17 +26,37 @@ exports.withRedirectServer = void 0;
26
26
  /** Implements a local auth server, which can receive auth tokens from an OIDC app */
27
27
  const util_1 = require("../../util");
28
28
  const express_1 = __importDefault(require("express"));
29
+ const promises_1 = require("node:fs/promises");
29
30
  const node_path_1 = require("node:path");
30
- const ROOT_PATH = `${(0, node_path_1.dirname)(require.main.filename)}/dist`;
31
+ const node_sea_1 = require("node:sea");
32
+ const node_stream_1 = require("node:stream");
33
+ const ASSETS_PATH = (0, node_path_1.resolve)(`${(0, node_path_1.join)(__dirname, "..", "..")}/public`);
34
+ const LANDING_HTML_PATH = "redirect-landing.html";
35
+ const FAVICON_PATH = "favicon.ico";
31
36
  /** A small amount of time is necessary prior to shutting down the redirect server to
32
37
  * properly render the redirect-landing page
33
38
  */
34
39
  const SERVER_SHUTDOWN_WAIT_MILLIS = 2e3;
40
+ const pipeToResponse = (bytes, res, contentType) => {
41
+ const stream = node_stream_1.Readable.from(bytes);
42
+ res.status(200);
43
+ res.setHeader("Content-Type", contentType);
44
+ res.setHeader("Content-Length", bytes.length);
45
+ stream.pipe(res);
46
+ };
47
+ const loadStaticAsset = (path) => __awaiter(void 0, void 0, void 0, function* () {
48
+ if ((0, node_sea_1.isSea)()) {
49
+ const blob = (0, node_sea_1.getAssetAsBlob)(path);
50
+ return Buffer.from(yield blob.arrayBuffer());
51
+ }
52
+ const filePath = (0, node_path_1.join)(ASSETS_PATH, path);
53
+ const bytes = yield (0, promises_1.readFile)(filePath);
54
+ return bytes;
55
+ });
35
56
  /** Waits for an OIDC authorization redirect using a locally mounted server */
36
57
  const withRedirectServer = (start, complete, options) => __awaiter(void 0, void 0, void 0, function* () {
37
58
  var _a;
38
59
  const app = (0, express_1.default)();
39
- app.use(express_1.default.static(`${ROOT_PATH}/public`));
40
60
  let redirectResolve;
41
61
  let redirectReject;
42
62
  let value;
@@ -44,12 +64,20 @@ const withRedirectServer = (start, complete, options) => __awaiter(void 0, void
44
64
  redirectResolve = resolve;
45
65
  redirectReject = reject;
46
66
  });
67
+ // load static assets
68
+ const pageBytes = yield loadStaticAsset(LANDING_HTML_PATH);
69
+ const faviconBytes = yield loadStaticAsset(FAVICON_PATH);
70
+ // handle favicon
71
+ app.get("/favicon.ico", (_, res) => {
72
+ pipeToResponse(faviconBytes, res, "image/x-icon");
73
+ });
74
+ // handle redirect
47
75
  const redirectRouter = express_1.default.Router();
48
76
  redirectRouter.get("/", (req, res) => {
49
77
  const token = req.query;
50
78
  complete(value, token)
51
79
  .then((result) => {
52
- res.status(200).sendFile(`${ROOT_PATH}/public/redirect-landing.html`);
80
+ pipeToResponse(pageBytes, res, "text/html; charset=utf-8");
53
81
  redirectResolve(result);
54
82
  })
55
83
  .catch((error) => {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../../src/common/auth/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"destination.js","sourceRoot":"","sources":["../../../src/common/destination.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAEH,+CAA+C;AACxC,MAAM,kBAAkB,GAAG,CAAC,WAAmB,EAAE,EAAE,CACxD,WAAW,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;AADjC,QAAA,kBAAkB,sBACe"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/common/fetch.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,iDAAiD;AAC1C,MAAM,SAAS,GAAG,CAAC,IAA4B,EAAE,EAAE,CACxD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;KACjB,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACjD,IAAI,CAAC,GAAG,CAAC,CAAC;AAHF,QAAA,SAAS,aAGP;AAEf;;GAEG;AACI,MAAM,gBAAgB,GAAG,CAAO,QAAkB,EAAE,EAAE;IAC3D,IAAI,QAAQ,CAAC,EAAE;QAAE,OAAO,QAAQ,CAAC;IACjC,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;EACvE,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU;;EAEtC,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAC3B,CAAC,CAAA,CAAC;AANW,QAAA,gBAAgB,oBAM3B"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/common/install.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../src/common/keys.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,kCAAkC;AAClC,gDAAkC;AAClC,4DAA+B;AAC/B,2CAA6B;AAEhB,QAAA,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,cAAO,EAAE,KAAK,CAAC,CAAC;AAC1C,QAAA,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,qBAAa,EAAE,YAAY,CAAC,CAAC;AACzD,QAAA,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,qBAAa,EAAE,QAAQ,CAAC,CAAC;AAEnE;;GAEG;AACI,MAAM,aAAa,GAAG,GAG1B,EAAE;IACH,IACE,CAAC,MAAM,UAAU,CAAC,uBAAe,CAAC,CAAC;QACnC,CAAC,MAAM,UAAU,CAAC,wBAAgB,CAAC,CAAC,EACpC;QACA,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAe,EAAE,MAAM,CAAC,CAAC;QAC7D,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAgB,EAAE,MAAM,CAAC,CAAC;QAE/D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;KAClC;SAAM;QACL,MAAM,UAAU,GAAG,oBAAK,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,MAAM,UAAU,GAAG,oBAAK,CAAC,GAAG,CAAC,eAAe,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACpE,MAAM,SAAS,GAAG,oBAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAErE,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,uBAAe,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACnE,MAAM,EAAE,CAAC,SAAS,CAAC,uBAAe,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAChE,MAAM,EAAE,CAAC,SAAS,CAAC,wBAAgB,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAClE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;KAClC;AACH,CAAC,CAAA,CAAC;AAtBW,QAAA,aAAa,iBAsBxB;AAEF,MAAM,UAAU,GAAG,CAAO,IAAY,EAAE,EAAE;IACxC,IAAI;QACF,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;KACb;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,KAAK,CAAC;KACd;AACH,CAAC,CAAA,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mime.js","sourceRoot":"","sources":["../../../src/common/mime.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;GASG;AACU,QAAA,WAAW,GAAG;IACzB,IAAI,EAAE,kBAAkB;IACxB,qBAAqB,EAAE,mCAAmC;CAClD,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../../src/common/retry.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,kCAAgC;AAEhC,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,uBAAuB,GAAG,KAAK,CAAC;AAEtC;;;;;;;GAOG;AACH,SAAsB,cAAc,CAClC,SAA2B,EAC3B,WAAwC,EACxC,OAAO,GAAG,WAAW,EACrB,UAAkB,uBAAuB;;QAEzC,IAAI;YACF,OAAO,MAAM,SAAS,EAAE,CAAC;SAC1B;QAAC,OAAO,KAAU,EAAE;YACnB,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE;gBACtB,IAAI,OAAO,GAAG,CAAC,EAAE;oBACf,MAAM,IAAA,YAAK,EAAC,OAAO,CAAC,CAAC;oBACrB,OAAO,MAAM,cAAc,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;iBAClE;aACF;YACD,MAAM,KAAK,CAAC;SACb;IACH,CAAC;CAAA;AAjBD,wCAiBC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subprocess.js","sourceRoot":"","sources":["../../../src/common/subprocess.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,4CAA0C;AAC1C,2DAAqE;AAMrE;;;;;;+DAM+D;AACxD,MAAM,UAAU,GAAG,CACxB,EAAE,KAAK,EAAkB,EACzB,OAAe,EACf,IAA4B,EAC5B,OAAkC,EAClC,UAAmB,EACnB,EAAE;IACF,OAAA,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;;QACtC,MAAM,KAAK,GAAG,IAAA,0BAAK,EAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAE5C,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;YACjC,IAAI,KAAK,EAAE;gBACT,IAAA,cAAM,EAAC,iBAAiB,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;aAC3C;YACD,OAAO,MAAM,CAAC,kBAAkB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,IAAI,UAAU,EAAE;YACd,IAAI,CAAC,KAAK,CAAC,KAAK;gBAAE,OAAO,MAAM,CAAC,4BAA4B,CAAC,CAAC;YAC9D,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;SAC/B;QAED,gCAAgC;QAChC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACnC,MAAM,IAAI,GAAG,CAAC;YACd,IAAI,KAAK,EAAE;gBACT,IAAA,cAAM,EAAC,GAAG,CAAC,CAAC;aACb;QACH,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACnC,MAAM,IAAI,GAAG,CAAC;YACd,IAAI,KAAK,EAAE;gBACT,IAAA,cAAM,EAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;aAChC;QACH,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACxB,IAAI,KAAK,EAAE;gBACT,IAAA,cAAM,EAAC,2BAA2B,GAAG,IAAI,CAAC,CAAC;aAC5C;YACD,IAAI,IAAI,KAAK,CAAC,EAAE;gBACd,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;aACvB;YACD,OAAO,CAAC,MAAM,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,IAAI,UAAU,EAAE;YACd,MAAA,KAAK,CAAC,KAAK,0CAAE,GAAG,EAAE,CAAC;SACpB;IACH,CAAC,CAAC,CAAA;EAAA,CAAC;AAvDQ,QAAA,UAAU,cAuDlB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xml.js","sourceRoot":"","sources":["../../../src/common/xml.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;GASG;AACH,iEAAiE;AACjE,iDAAqE;AACrE,mCAA4C;AAE5C,MAAM,YAAY,GAAG,CAAC,IAAS,EAAsB,EAAE,CACrD,IAAI,YAAY,sBAAU,CAAC;AAE7B,MAAM,eAAe,GAAG,CAAC,EAAc,EAAO,EAAE;IAC9C,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,sBAAU,CAAC,EAAE;QACpD,MAAM,MAAM,GAAG,IAAA,kBAAS,EACtB,IAAA,gBAAO,EAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,EAC1D,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,MAAM,KAAK,CAAC;YAChB,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;YAC5B,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CACjC,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,WAAW,oBAAO,EAAE,CAAC,UAAU,CAAE,EAAE,CAAC,CAAC;QAC7D,OAAO,MAAM,CAAC;KACf;IACD,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AACxB,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACI,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,EAAE;IACtC,MAAM,MAAM,GAAG,IAAA,oBAAQ,EAAC,GAAG,CAAC,CAAC;IAC7B,OAAO,eAAe,CAAC,MAA2B,CAAC,CAAC;AACtD,CAAC,CAAC;AAHW,QAAA,QAAQ,YAGnB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stdio.js","sourceRoot":"","sources":["../../../../src/drivers/__mocks__/stdio.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;AAEU,QAAA,MAAM,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AACnB,QAAA,MAAM,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AAEnB,QAAA,SAAS,GAAG,IAAI,CAAC,EAAE,CAC9B,CAAU,QAAgB,EAAE,OAAmB,EAAE,EAAE,kDAAC,OAAA,MAAM,OAAO,CAAA,GAAA,CAClE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ansi.js","sourceRoot":"","sources":["../../../src/drivers/ansi.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;GASG;AACH,mCAAmC;AAEnC,MAAM,SAAS,GAAG;IAChB,KAAK,EAAE,IAAI;IACX,GAAG,EAAE,IAAI;IACT,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI;CACJ,CAAC;AAEJ,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,UAAU,KAAK,EAAE,CAAC;AAA5C,QAAA,IAAI,QAAwC;AAEzD,oDAAoD;AACvC,QAAA,OAAO,GAAG,IAAA,kBAAS,EAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,YAAI,EAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/drivers/api.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,qCAA2C;AAC3C,gDAAkC;AAGlC,MAAM,SAAS,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,GAAG,IAAA,wBAAe,GAAE,CAAC,MAAM,MAAM,MAAM,EAAE,CAAC;AAChF,MAAM,aAAa,GAAG,CAAC,MAAc,EAAE,EAAE,CACvC,GAAG,SAAS,CAAC,MAAM,CAAC,+BAA+B,CAAC;AACtD,MAAM,UAAU,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC;AAEhE,MAAM,YAAY,GAAG,CAC1B,KAAY,EACZ,IAA8B,EAC9B,IAAc,EACd,EAAE;IACF,OAAA,IAAA,iBAAS,EACP,KAAK,EACL,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EACnC,MAAM,EACN,IAAI,CAAC,SAAS,CAAC;QACb,IAAI;QACJ,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;KACnC,CAAC,CACH,CAAA;EAAA,CAAC;AAbS,QAAA,YAAY,gBAarB;AAEG,MAAM,eAAe,GAAG,CAC7B,KAAY,EACZ,IAA8C,EAC9C,EAAE;IACF,OAAA,IAAA,iBAAS,EACP,KAAK,EACL,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EACtC,MAAM,EACN,IAAI,CAAC,SAAS,CAAC;QACb,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B,CAAC,CACH,CAAA;EAAA,CAAC;AAZS,QAAA,eAAe,mBAYxB;AAEG,MAAM,SAAS,GAAG,CACvB,KAAY,EACZ,GAAW,EACX,MAAc,EACd,IAAY,EACZ,EAAE;IACF,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;IAE3D,IAAI;QACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM;YACN,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,KAAK,EAAE;gBAChC,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI;SACL,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,OAAO,IAAI,IAAI,EAAE;YACnB,MAAM,IAAI,CAAC,KAAK,CAAC;SAClB;QACD,OAAO,IAAS,CAAC;KAClB;IAAC,OAAO,KAAK,EAAE;QACd,IAAI,KAAK,YAAY,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,cAAc,EAAE;YAClE,MAAM,gDAAgD,GAAG,GAAG,CAAC;SAC9D;aAAM;YACL,MAAM,KAAK,CAAC;SACb;KACF;AACH,CAAC,CAAA,CAAC;AA9BW,QAAA,SAAS,aA8BpB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/drivers/auth/__mocks__/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACI,MAAM,YAAY,GAAG,GAAS,EAAE;IAAC,OAAA,CAAC;QACvC,QAAQ,EAAE;YACR,UAAU,EAAE;gBACV,YAAY,EAAE,mBAAmB;aAClC;YACD,GAAG,EAAE;gBACH,WAAW,EAAE,WAAW;gBACxB,cAAc,EAAE,eAAe;gBAC/B,YAAY,EAAE,MAAM;gBACpB,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,aAAa;aACxB;SACF;QACD,cAAc,EAAE;YACd,IAAI,EAAE;gBACJ,QAAQ,EAAE,aAAa;aACxB;SACF;KACF,CAAC,CAAA;EAAA,CAAC;AAlBU,QAAA,YAAY,gBAkBtB;AAEI,MAAM,MAAM,GAAG,CAAO,MAAc,EAAE,QAA4B,EAAE,EAAE,kDAC3E,OAAA,MAAM,QAAQ,EAAE,CAAA,GAAA,CAAC;AADN,QAAA,MAAM,UACA"}
@@ -1,11 +1,14 @@
1
- import { Authn } from "../../types/identity";
1
+ import { Authn, Identity } from "../../types/identity";
2
2
  import { TokenResponse } from "../../types/oidc";
3
3
  import { OrgData } from "../../types/org";
4
4
  export declare const cached: <T>(name: string, loader: () => Promise<T>, options: {
5
5
  duration: number;
6
6
  }, hasExpired?: ((data: T) => boolean) | undefined) => Promise<T>;
7
+ export declare const loadCredentials: () => Promise<Identity>;
8
+ export declare const remainingTokenTime: (identity: Identity) => number;
7
9
  export declare const writeIdentity: (org: OrgData, credential: TokenResponse) => Promise<void>;
8
10
  export declare const deleteIdentity: () => Promise<void>;
9
11
  export declare const authenticate: (options?: {
10
12
  noRefresh?: boolean;
13
+ debug?: boolean;
11
14
  }) => Promise<Authn>;
@@ -32,7 +32,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
32
32
  });
33
33
  };
34
34
  Object.defineProperty(exports, "__esModule", { value: true });
35
- exports.authenticate = exports.deleteIdentity = exports.writeIdentity = exports.cached = void 0;
35
+ exports.authenticate = exports.deleteIdentity = exports.writeIdentity = exports.remainingTokenTime = exports.loadCredentials = exports.cached = void 0;
36
36
  /** Copyright © 2024-present P0 Security
37
37
 
38
38
  This file is part of @p0security/cli
@@ -46,9 +46,11 @@ You should have received a copy of the GNU General Public License along with @p0
46
46
  const login_1 = require("../../commands/login");
47
47
  const firestore_1 = require("../firestore");
48
48
  const stdio_1 = require("../stdio");
49
+ const util_1 = require("../util");
49
50
  const path_1 = require("./path");
50
51
  const fs = __importStar(require("fs/promises"));
51
52
  const path = __importStar(require("path"));
53
+ const MIN_REMAINING_TOKEN_TIME_SECONDS = 60;
52
54
  const cached = (name, loader, options, hasExpired) => __awaiter(void 0, void 0, void 0, function* () {
53
55
  var _a;
54
56
  const identityCachePath = (0, path_1.getIdentityCachePath)();
@@ -108,17 +110,10 @@ const clearIdentityCache = () => __awaiter(void 0, void 0, void 0, function* ()
108
110
  return;
109
111
  }
110
112
  });
111
- const loadCredentialsWithAutoLogin = (options) => __awaiter(void 0, void 0, void 0, function* () {
113
+ const loadCredentials = () => __awaiter(void 0, void 0, void 0, function* () {
112
114
  try {
113
115
  const buffer = yield fs.readFile((0, path_1.getIdentityFilePath)());
114
- const identity = JSON.parse(buffer.toString());
115
- if (!(options === null || options === void 0 ? void 0 : options.noRefresh) &&
116
- identity.credential.expires_at < Date.now() * 1e-3) {
117
- yield (0, login_1.login)({ org: identity.org.slug }, { skipAuthenticate: true });
118
- (0, stdio_1.print2)("\u200B"); // Force a new line
119
- return loadCredentialsWithAutoLogin({ noRefresh: true });
120
- }
121
- return identity;
116
+ return JSON.parse(buffer.toString());
122
117
  }
123
118
  catch (error) {
124
119
  if ((error === null || error === void 0 ? void 0 : error.code) === "ENOENT") {
@@ -127,6 +122,21 @@ const loadCredentialsWithAutoLogin = (options) => __awaiter(void 0, void 0, void
127
122
  throw error;
128
123
  }
129
124
  });
125
+ exports.loadCredentials = loadCredentials;
126
+ const remainingTokenTime = (identity) => identity.credential.expires_at - Date.now() * 1e-3;
127
+ exports.remainingTokenTime = remainingTokenTime;
128
+ const loadCredentialsWithAutoLogin = (options) => __awaiter(void 0, void 0, void 0, function* () {
129
+ const identity = yield (0, exports.loadCredentials)();
130
+ if ((0, exports.remainingTokenTime)(identity) > MIN_REMAINING_TOKEN_TIME_SECONDS) {
131
+ return identity;
132
+ }
133
+ if (options === null || options === void 0 ? void 0 : options.noRefresh) {
134
+ throw util_1.EXPIRED_CREDENTIALS_MESSAGE;
135
+ }
136
+ yield (0, login_1.login)({ org: identity.org.slug }, { debug: options === null || options === void 0 ? void 0 : options.debug, skipAuthenticate: true });
137
+ (0, stdio_1.print2)("\u200B"); // Force a new line
138
+ return loadCredentialsWithAutoLogin({ noRefresh: true });
139
+ });
130
140
  const writeIdentity = (org, credential) => __awaiter(void 0, void 0, void 0, function* () {
131
141
  yield clearIdentityCache();
132
142
  const identityFilePath = (0, path_1.getIdentityFilePath)();
@@ -134,12 +144,7 @@ const writeIdentity = (org, credential) => __awaiter(void 0, void 0, void 0, fun
134
144
  (0, stdio_1.print2)(`Saving authorization to ${identityFilePath}.`);
135
145
  const dir = path.dirname(identityFilePath);
136
146
  yield fs.mkdir(dir, { recursive: true });
137
- yield fs.writeFile(identityFilePath, JSON.stringify({
138
- credential: Object.assign(Object.assign({}, credential), { expires_at }),
139
- org,
140
- }, null, 2), {
141
- mode: "600",
142
- });
147
+ yield fs.writeFile(identityFilePath, JSON.stringify({ credential: Object.assign(Object.assign({}, credential), { expires_at }), org }, null, 2), { mode: "600" });
143
148
  });
144
149
  exports.writeIdentity = writeIdentity;
145
150
  const deleteIdentity = () => __awaiter(void 0, void 0, void 0, function* () {
@@ -149,7 +154,10 @@ const deleteIdentity = () => __awaiter(void 0, void 0, void 0, function* () {
149
154
  exports.deleteIdentity = deleteIdentity;
150
155
  const authenticate = (options) => __awaiter(void 0, void 0, void 0, function* () {
151
156
  const identity = yield loadCredentialsWithAutoLogin(options);
152
- const userCredential = yield (0, firestore_1.authenticateToFirebase)(identity);
157
+ // Note: if the `providerId` is "password", we already actually already
158
+ // retrieved the UserCredential object in `loadCredentialsWithAutoLogin`.
159
+ // This following call to `authenticateToFirebase` could be omitted.
160
+ const userCredential = yield (0, firestore_1.authenticateToFirebase)(identity, options);
153
161
  return { userCredential, identity };
154
162
  });
155
163
  exports.authenticate = authenticate;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/drivers/auth/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path.js","sourceRoot":"","sources":["../../../../src/drivers/auth/path.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,qCAAqC;AACrC,2CAA6B;AAEtB,MAAM,mBAAmB,GAAG,GAAG,EAAE,CACtC,OAAO,CAAC,GAAG,CAAC,MAAM;IAChB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,cAAO,EAAE,YAAY,OAAO,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC;IAC3D,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,cAAO,EAAE,eAAe,CAAC,CAAC;AAH7B,QAAA,mBAAmB,uBAGU;AAEnC,MAAM,oBAAoB,GAAG,GAAG,EAAE,CACvC,OAAO,CAAC,GAAG,CAAC,MAAM;IAChB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,cAAO,EAAE,SAAS,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;IACnD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,cAAO,EAAE,OAAO,CAAC,CAAC;AAHrB,QAAA,oBAAoB,wBAGC"}
@@ -10,6 +10,8 @@ You should have received a copy of the GNU General Public License along with @p0
10
10
  **/
11
11
  import { Config } from "../types/org";
12
12
  export declare const getTenantConfig: () => Config;
13
+ export declare const getContactMessage: () => string;
14
+ export declare const getHelpMessage: () => string;
13
15
  /** Use only if the organization is configured with Google login to P0 */
14
16
  export declare const getGoogleTenantConfig: () => import("../types/org").GoogleApplicationConfig;
15
17
  export declare const saveConfig: (orgId: string) => Promise<void>;
@@ -12,7 +12,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.loadConfig = exports.saveConfig = exports.getGoogleTenantConfig = exports.getTenantConfig = void 0;
15
+ exports.loadConfig = exports.saveConfig = exports.getGoogleTenantConfig = exports.getHelpMessage = exports.getContactMessage = exports.getTenantConfig = void 0;
16
16
  const util_1 = require("../util");
17
17
  const env_1 = require("./env");
18
18
  const firestore_1 = require("./firestore");
@@ -27,12 +27,16 @@ const getConfigFilePath = () => process_1.default.env.P0_ORG
27
27
  let tenantConfig;
28
28
  const getTenantConfig = () => tenantConfig;
29
29
  exports.getTenantConfig = getTenantConfig;
30
+ const getContactMessage = () => { var _a; return (_a = tenantConfig === null || tenantConfig === void 0 ? void 0 : tenantConfig.contactMessage) !== null && _a !== void 0 ? _a : env_1.bootstrapConfig.contactMessage; };
31
+ exports.getContactMessage = getContactMessage;
32
+ const getHelpMessage = () => { var _a; return (_a = tenantConfig === null || tenantConfig === void 0 ? void 0 : tenantConfig.helpMessage) !== null && _a !== void 0 ? _a : env_1.bootstrapConfig.helpMessage; };
33
+ exports.getHelpMessage = getHelpMessage;
30
34
  /** Use only if the organization is configured with Google login to P0 */
31
35
  const getGoogleTenantConfig = () => {
32
36
  if ("google" in tenantConfig) {
33
37
  return tenantConfig;
34
38
  }
35
- throw "Login failed!\nThis organization is configured to use Google login but the required OAuth client parameters are missing.\nPlease contact support@p0.dev to properly configure your organization login.";
39
+ throw `Login failed!\nThis organization is configured to use Google login but the required OAuth client parameters are missing.\n${(0, exports.getContactMessage)()}`;
36
40
  };
37
41
  exports.getGoogleTenantConfig = getGoogleTenantConfig;
38
42
  const saveConfig = (orgId) => __awaiter(void 0, void 0, void 0, function* () {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/drivers/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAWA,kCAAkC;AAClC,+BAAwC;AACxC,2CAA2C;AAC3C,mCAAiC;AACjC,kDAA4C;AAC5C,2DAA6B;AAC7B,gDAAwB;AACxB,sDAA8B;AAE9B,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAC7B,iBAAO,CAAC,GAAG,CAAC,MAAM;IAChB,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,cAAO,EAAE,eAAe,iBAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;IACzD,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,cAAO,EAAE,aAAa,CAAC,CAAC;AAExC,IAAI,YAAoB,CAAC;AAElB,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC;AAArC,QAAA,eAAe,mBAAsB;AAE3C,MAAM,iBAAiB,GAAG,GAAG,EAAE,WACpC,OAAA,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,cAAc,mCAAI,qBAAe,CAAC,cAAc,CAAA,EAAA,CAAC;AADpD,QAAA,iBAAiB,qBACmC;AAE1D,MAAM,cAAc,GAAG,GAAG,EAAE,WACjC,OAAA,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,WAAW,mCAAI,qBAAe,CAAC,WAAW,CAAA,EAAA,CAAC;AAD9C,QAAA,cAAc,kBACgC;AAE3D,yEAAyE;AAClE,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACxC,IAAI,QAAQ,IAAI,YAAY,EAAE;QAC5B,OAAO,YAAY,CAAC;KACrB;IACD,MAAM,6HAA6H,IAAA,yBAAiB,GAAE,EAAE,CAAC;AAC3J,CAAC,CAAC;AALW,QAAA,qBAAqB,yBAKhC;AAEK,MAAM,UAAU,GAAG,CAAO,KAAa,EAAE,EAAE;;IAChD,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAM,EACzB,IAAA,wBAAY,EAAC,QAAQ,KAAK,EAAE,CAAC,CAC9B,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAE9B,IAAI,CAAC,OAAO;QAAE,MAAM,6BAA6B,CAAC;IAElD,MAAM,MAAM,GAAG,MAAA,OAAO,CAAC,MAAM,mCAAI,qBAAe,CAAC;IAEjD,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAE3C,IAAA,cAAM,EAAC,oBAAoB,cAAc,GAAG,CAAC,CAAC;IAE9C,MAAM,GAAG,GAAG,cAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACzC,MAAM,kBAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,MAAM,kBAAE,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAE5E,YAAY,GAAG,MAAM,CAAC;AACxB,CAAC,CAAA,CAAC;AAnBW,QAAA,UAAU,cAmBrB;AAEK,MAAM,UAAU,GAAG,GAAS,EAAE;IACnC,MAAM,MAAM,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACtD,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC7C,OAAO,YAAY,CAAC;AACtB,CAAC,CAAA,CAAC;AAJW,QAAA,UAAU,cAIrB"}
@@ -0,0 +1,12 @@
1
+ /** Copyright © 2024-present P0 Security
2
+
3
+ This file is part of @p0security/cli
4
+
5
+ @p0security/cli is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3 of the License.
6
+
7
+ @p0security/cli is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
8
+
9
+ You should have received a copy of the GNU General Public License along with @p0security/cli. If not, see <https://www.gnu.org/licenses/>.
10
+ **/
11
+ import { GoogleApplicationConfig } from "../types/org";
12
+ export declare const bootstrapConfig: GoogleApplicationConfig;
@@ -2,19 +2,9 @@
2
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
5
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.bootstrapConfig = void 0;
8
- /** Copyright © 2024-present P0 Security
9
-
10
- This file is part of @p0security/cli
11
-
12
- @p0security/cli is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3 of the License.
13
-
14
- @p0security/cli is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
15
-
16
- You should have received a copy of the GNU General Public License along with @p0security/cli. If not, see <https://www.gnu.org/licenses/>.
17
- **/
18
8
  const dotenv_1 = __importDefault(require("dotenv"));
19
9
  dotenv_1.default.config();
20
10
  const { env } = process;
@@ -41,7 +31,8 @@ exports.bootstrapConfig = {
41
31
  publicClientSecretForPkce: (_h = env.P0_GOOGLE_OIDC_CLIENT_SECRET) !== null && _h !== void 0 ? _h : "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",
42
32
  },
43
33
  appUrl: (_j = env.P0_APP_URL) !== null && _j !== void 0 ? _j : "https://api.p0.app",
44
- appPath: (_k = env.P0_APP_PATH) !== null && _k !== void 0 ? _k : "p0",
45
- environment: (_l = env.P0_ENV) !== null && _l !== void 0 ? _l : "production",
34
+ environment: (_k = env.P0_ENV) !== null && _k !== void 0 ? _k : "production",
35
+ contactMessage: "Please contact support@p0.dev for assistance.",
36
+ helpMessage: "For additional support, please contact support@p0.dev.",
46
37
  };
47
38
  //# sourceMappingURL=env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../../src/drivers/env.ts"],"names":[],"mappings":";;;;;;;AAWA,oDAA4B;AAE5B,gBAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;AAEX,QAAA,eAAe,GAA4B;IACtD,EAAE,EAAE;QACF,wDAAwD;QACxD,MAAM,EAAE,MAAA,GAAG,CAAC,aAAa,mCAAI,yCAAyC;QACtE,UAAU,EAAE,MAAA,GAAG,CAAC,iBAAiB,mCAAI,yBAAyB;QAC9D,SAAS,EAAE,MAAA,GAAG,CAAC,gBAAgB,mCAAI,SAAS;QAC5C,aAAa,EAAE,MAAA,GAAG,CAAC,oBAAoB,mCAAI,qBAAqB;QAChE,iBAAiB,EAAE,MAAA,GAAG,CAAC,yBAAyB,mCAAI,cAAc;QAClE,KAAK,EAAE,MAAA,GAAG,CAAC,YAAY,mCAAI,2CAA2C;KACvE;IACD,MAAM,EAAE;QACN,QAAQ,EACN,MAAA,GAAG,CAAC,wBAAwB,mCAC5B,0EAA0E;QAC5E,4EAA4E;QAC5E,qFAAqF;QACrF,kFAAkF;QAClF,2FAA2F;QAC3F,uHAAuH;QACvH,iFAAiF;QACjF,uEAAuE;QACvE,wFAAwF;QACxF,yBAAyB,EACvB,MAAA,GAAG,CAAC,4BAA4B,mCAAI,qCAAqC;KAC5E;IACD,MAAM,EAAE,MAAA,GAAG,CAAC,UAAU,mCAAI,oBAAoB;IAC9C,WAAW,EAAE,MAAA,GAAG,CAAC,MAAM,mCAAI,YAAY;IACvC,cAAc,EAAE,+CAA+C;IAC/D,WAAW,EAAE,wDAAwD;CACtE,CAAC"}
@@ -1,18 +1,14 @@
1
- /** Copyright © 2024-present P0 Security
2
-
3
- This file is part of @p0security/cli
4
-
5
- @p0security/cli is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3 of the License.
6
-
7
- @p0security/cli is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
8
-
9
- You should have received a copy of the GNU General Public License along with @p0security/cli. If not, see <https://www.gnu.org/licenses/>.
10
- **/
11
1
  import { Identity } from "../types/identity";
12
- import { UserCredential } from "firebase/auth";
2
+ import { OrgData } from "../types/org";
3
+ import { EmailAuthCredential, OAuthCredential, UserCredential } from "firebase/auth";
13
4
  import { CollectionReference, DocumentReference } from "firebase/firestore";
14
5
  export declare function initializeFirebase(): Promise<void>;
15
- export declare function authenticateToFirebase(identity: Identity): Promise<UserCredential>;
6
+ export declare const signInToTenant: (org: OrgData, firebaseCredential: EmailAuthCredential | OAuthCredential, options?: {
7
+ debug?: boolean;
8
+ }) => Promise<UserCredential>;
9
+ export declare const authenticateToFirebase: (identity: Identity, options?: {
10
+ debug?: boolean;
11
+ }) => Promise<UserCredential>;
16
12
  export declare const collection: <T>(path: string, ...pathSegments: string[]) => CollectionReference<T, import("@firebase/firestore").DocumentData>;
17
13
  export declare const doc: <T>(path: string) => DocumentReference<T, import("@firebase/firestore").DocumentData>;
18
14
  export declare const bootstrapDoc: <T>(path: string) => DocumentReference<T, import("@firebase/firestore").DocumentData>;
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.shutdownFirebase = exports.fsShutdownGuard = exports.bootstrapDoc = exports.doc = exports.collection = exports.authenticateToFirebase = exports.signInToTenant = exports.initializeFirebase = void 0;
13
+ /** Copyright © 2024-present P0 Security
14
+
15
+ This file is part of @p0security/cli
16
+
17
+ @p0security/cli is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3 of the License.
18
+
19
+ @p0security/cli is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
20
+
21
+ You should have received a copy of the GNU General Public License along with @p0security/cli. If not, see <https://www.gnu.org/licenses/>.
22
+ **/
23
+ const login_1 = require("../plugins/email/login");
24
+ const config_1 = require("./config");
25
+ const env_1 = require("./env");
26
+ const stdio_1 = require("./stdio");
27
+ const util_1 = require("./util");
28
+ const app_1 = require("firebase/app");
29
+ const auth_1 = require("firebase/auth");
30
+ const firestore_1 = require("firebase/firestore");
31
+ const bootstrapApp = (0, app_1.initializeApp)(env_1.bootstrapConfig.fs, "bootstrapApp");
32
+ const bootstrapFirestore = (0, firestore_1.getFirestore)(bootstrapApp);
33
+ let app;
34
+ let firestore;
35
+ function initializeFirebase() {
36
+ return __awaiter(this, void 0, void 0, function* () {
37
+ if (!firestore) {
38
+ const tenantConfig = yield (0, config_1.loadConfig)();
39
+ app = (0, app_1.initializeApp)(tenantConfig.fs, "authFirebase");
40
+ firestore = (0, firestore_1.getFirestore)(app);
41
+ }
42
+ });
43
+ }
44
+ exports.initializeFirebase = initializeFirebase;
45
+ const findProviderId = (org) => {
46
+ switch (org.ssoProvider) {
47
+ case "google":
48
+ return auth_1.ProviderId.GOOGLE;
49
+ case "google-oidc":
50
+ return "oidc.google-oidc";
51
+ // Assumes password login if no provider present
52
+ // This could also be email magic link sign-in,
53
+ // which is not supported in the P0 CLI.
54
+ case undefined:
55
+ return auth_1.ProviderId.PASSWORD;
56
+ default:
57
+ return org.providerId;
58
+ }
59
+ };
60
+ const signInToTenant = (org, firebaseCredential, options) => __awaiter(void 0, void 0, void 0, function* () {
61
+ var _a;
62
+ const { tenantId } = org;
63
+ yield initializeFirebase();
64
+ const auth = (0, auth_1.getAuth)(app);
65
+ auth.tenantId = tenantId;
66
+ let userCredential;
67
+ try {
68
+ userCredential = yield (0, auth_1.signInWithCredential)(auth, firebaseCredential);
69
+ }
70
+ catch (error) {
71
+ if (error instanceof app_1.FirebaseError &&
72
+ error.code === "auth/invalid-credential") {
73
+ throw util_1.EXPIRED_CREDENTIALS_MESSAGE;
74
+ }
75
+ else {
76
+ if (options === null || options === void 0 ? void 0 : options.debug) {
77
+ if (error instanceof Error) {
78
+ (0, stdio_1.print2)(`Authentication error: ${error.message}`);
79
+ }
80
+ else {
81
+ (0, stdio_1.print2)(`Authentication error: ${String(error)}`);
82
+ }
83
+ }
84
+ throw `An unexpected error occurred during authentication.\n${(0, config_1.getContactMessage)()}`;
85
+ }
86
+ }
87
+ if (!((_a = userCredential === null || userCredential === void 0 ? void 0 : userCredential.user) === null || _a === void 0 ? void 0 : _a.email)) {
88
+ throw `Can not sign in: this user has previously signed in with a different identity provider.\n${(0, config_1.getContactMessage)()}`;
89
+ }
90
+ return userCredential;
91
+ });
92
+ exports.signInToTenant = signInToTenant;
93
+ const authenticateToFirebase = (identity, options) => __awaiter(void 0, void 0, void 0, function* () {
94
+ const { credential, org } = identity;
95
+ const providerId = findProviderId(org);
96
+ const firebaseCredential = providerId === auth_1.ProviderId.PASSWORD
97
+ ? (0, login_1.getPasswordCredential)()
98
+ : new auth_1.OAuthProvider(providerId).credential({
99
+ accessToken: credential.access_token,
100
+ idToken: credential.id_token,
101
+ });
102
+ return yield (0, exports.signInToTenant)(org, firebaseCredential, options);
103
+ });
104
+ exports.authenticateToFirebase = authenticateToFirebase;
105
+ const collection = (path, ...pathSegments) => {
106
+ return (0, firestore_1.collection)(firestore, path, ...pathSegments);
107
+ };
108
+ exports.collection = collection;
109
+ const doc = (path) => {
110
+ return (0, firestore_1.doc)(firestore, path);
111
+ };
112
+ exports.doc = doc;
113
+ const bootstrapDoc = (path) => {
114
+ return (0, firestore_1.doc)(bootstrapFirestore, path);
115
+ };
116
+ exports.bootstrapDoc = bootstrapDoc;
117
+ /** Ensures that Firestore is shutdown at command termination
118
+ *
119
+ * This prevents Firestore from holding the command on execution completion or failure.
120
+ */
121
+ const fsShutdownGuard = (cb) => (args) => __awaiter(void 0, void 0, void 0, function* () {
122
+ try {
123
+ yield cb(args);
124
+ }
125
+ finally {
126
+ (0, exports.shutdownFirebase)();
127
+ }
128
+ });
129
+ exports.fsShutdownGuard = fsShutdownGuard;
130
+ const shutdownFirebase = () => {
131
+ if (bootstrapFirestore)
132
+ void (0, firestore_1.terminate)(bootstrapFirestore);
133
+ if (firestore)
134
+ void (0, firestore_1.terminate)(firestore);
135
+ };
136
+ exports.shutdownFirebase = shutdownFirebase;
137
+ //# sourceMappingURL=firestore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"firestore.js","sourceRoot":"","sources":["../../../src/drivers/firestore.ts"],"names":[],"mappings":"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"}