@affinidi/cli 2.0.0-beta.3 → 2.0.0-beta.5

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 (362) hide show
  1. package/README.md +881 -637
  2. package/dist/commands/generate/app.d.ts +10 -0
  3. package/dist/commands/generate/app.js +57 -0
  4. package/dist/commands/generate/app.js.map +1 -0
  5. package/dist/commands/iam/add-principal.d.ts +11 -0
  6. package/dist/commands/iam/add-principal.js +48 -0
  7. package/dist/commands/iam/add-principal.js.map +1 -0
  8. package/dist/commands/iam/get-policies.d.ts +12 -0
  9. package/dist/commands/iam/get-policies.js +50 -0
  10. package/dist/commands/iam/get-policies.js.map +1 -0
  11. package/dist/commands/iam/list-principals.d.ts +8 -0
  12. package/dist/commands/iam/list-principals.js +24 -0
  13. package/dist/commands/iam/list-principals.js.map +1 -0
  14. package/dist/commands/iam/remove-principal.d.ts +14 -0
  15. package/dist/commands/iam/remove-principal.js +49 -0
  16. package/dist/commands/iam/remove-principal.js.map +1 -0
  17. package/dist/commands/iam/update-policies.d.ts +13 -0
  18. package/dist/commands/iam/update-policies.js +108 -0
  19. package/dist/commands/iam/update-policies.js.map +1 -0
  20. package/dist/commands/login/add-user-to-group.d.ts +11 -0
  21. package/dist/commands/login/add-user-to-group.js +32 -0
  22. package/dist/commands/login/add-user-to-group.js.map +1 -0
  23. package/dist/commands/login/create-config.d.ts +17 -0
  24. package/dist/commands/login/create-config.js +131 -0
  25. package/dist/commands/login/create-config.js.map +1 -0
  26. package/dist/commands/login/create-group.d.ts +10 -0
  27. package/dist/commands/login/create-group.js +35 -0
  28. package/dist/commands/login/create-group.js.map +1 -0
  29. package/dist/commands/login/delete-config.d.ts +11 -0
  30. package/dist/commands/login/delete-config.js +33 -0
  31. package/dist/commands/login/delete-config.js.map +1 -0
  32. package/dist/commands/login/delete-group.d.ts +11 -0
  33. package/dist/commands/login/delete-group.js +33 -0
  34. package/dist/commands/login/delete-group.js.map +1 -0
  35. package/dist/commands/login/get-config.d.ts +10 -0
  36. package/dist/commands/login/get-config.js +33 -0
  37. package/dist/commands/login/get-config.js.map +1 -0
  38. package/dist/commands/login/get-group.d.ts +10 -0
  39. package/dist/commands/login/get-group.js +33 -0
  40. package/dist/commands/login/get-group.js.map +1 -0
  41. package/dist/commands/login/list-configs.d.ts +7 -0
  42. package/dist/commands/login/list-configs.js +21 -0
  43. package/dist/commands/login/list-configs.js.map +1 -0
  44. package/dist/commands/login/list-groups.d.ts +7 -0
  45. package/dist/commands/login/list-groups.js +21 -0
  46. package/dist/commands/login/list-groups.js.map +1 -0
  47. package/dist/commands/login/list-users-in-group.d.ts +10 -0
  48. package/dist/commands/login/list-users-in-group.js +29 -0
  49. package/dist/commands/login/list-users-in-group.js.map +1 -0
  50. package/dist/commands/login/remove-user-from-group.d.ts +13 -0
  51. package/dist/commands/login/remove-user-from-group.js +33 -0
  52. package/dist/commands/login/remove-user-from-group.js.map +1 -0
  53. package/dist/commands/login/update-config.d.ts +17 -0
  54. package/dist/commands/login/update-config.js +120 -0
  55. package/dist/commands/login/update-config.js.map +1 -0
  56. package/dist/commands/project/create-project.d.ts +10 -0
  57. package/dist/commands/project/create-project.js +35 -0
  58. package/dist/commands/project/create-project.js.map +1 -0
  59. package/dist/commands/project/get-active-project.d.ts +7 -0
  60. package/dist/commands/project/get-active-project.js +21 -0
  61. package/dist/commands/project/get-active-project.js.map +1 -0
  62. package/dist/commands/project/list-projects.d.ts +7 -0
  63. package/dist/commands/project/list-projects.js +21 -0
  64. package/dist/commands/project/list-projects.js.map +1 -0
  65. package/dist/commands/project/select-project.d.ts +10 -0
  66. package/dist/commands/project/select-project.js +70 -0
  67. package/dist/commands/project/select-project.js.map +1 -0
  68. package/dist/commands/start.d.ts +4 -34
  69. package/dist/commands/start.js +20 -409
  70. package/dist/commands/start.js.map +1 -1
  71. package/dist/commands/stop.d.ts +6 -0
  72. package/dist/commands/stop.js +30 -0
  73. package/dist/commands/stop.js.map +1 -0
  74. package/dist/commands/token/create-token.d.ts +13 -0
  75. package/dist/commands/token/create-token.js +78 -0
  76. package/dist/commands/token/create-token.js.map +1 -0
  77. package/dist/commands/token/delete-token.d.ts +11 -0
  78. package/dist/commands/token/delete-token.js +36 -0
  79. package/dist/commands/token/delete-token.js.map +1 -0
  80. package/dist/commands/token/get-token.d.ts +10 -0
  81. package/dist/commands/token/get-token.js +36 -0
  82. package/dist/commands/token/get-token.js.map +1 -0
  83. package/dist/commands/token/list-tokens.d.ts +7 -0
  84. package/dist/commands/token/list-tokens.js +21 -0
  85. package/dist/commands/token/list-tokens.js.map +1 -0
  86. package/dist/commands/token/update-token.d.ts +14 -0
  87. package/dist/commands/token/update-token.js +83 -0
  88. package/dist/commands/token/update-token.js.map +1 -0
  89. package/dist/common/base-command.d.ts +28 -0
  90. package/dist/common/base-command.js +61 -0
  91. package/dist/common/base-command.js.map +1 -0
  92. package/dist/common/constants.d.ts +18 -0
  93. package/dist/common/constants.js +26 -0
  94. package/dist/common/constants.js.map +1 -0
  95. package/dist/common/index.d.ts +2 -0
  96. package/dist/common/index.js +8 -0
  97. package/dist/common/index.js.map +1 -0
  98. package/dist/helpers/index.d.ts +2 -0
  99. package/dist/helpers/index.js +9 -0
  100. package/dist/helpers/index.js.map +1 -0
  101. package/dist/helpers/jwk.d.ts +4 -0
  102. package/dist/helpers/jwk.js +29 -0
  103. package/dist/helpers/jwk.js.map +1 -0
  104. package/dist/helpers/prompt-required-flags.d.ts +1 -0
  105. package/dist/helpers/prompt-required-flags.js +14 -0
  106. package/dist/helpers/prompt-required-flags.js.map +1 -0
  107. package/dist/hooks/check/{checkVersion.d.ts → check-version.d.ts} +3 -2
  108. package/dist/hooks/check/{checkVersion.js → check-version.js} +7 -6
  109. package/dist/hooks/check/check-version.js.map +1 -0
  110. package/dist/index.d.ts +0 -1
  111. package/dist/index.js +1 -3
  112. package/dist/index.js.map +1 -1
  113. package/dist/services/affinidi/adapters/index.d.ts +1 -0
  114. package/dist/services/affinidi/adapters/index.js +5 -0
  115. package/dist/services/affinidi/adapters/index.js.map +1 -0
  116. package/dist/services/affinidi/adapters/logger/console-logger-adapter.d.ts +12 -0
  117. package/dist/services/affinidi/adapters/logger/console-logger-adapter.js +56 -0
  118. package/dist/services/affinidi/adapters/logger/console-logger-adapter.js.map +1 -0
  119. package/dist/services/affinidi/adapters/logger/index.d.ts +2 -0
  120. package/dist/services/affinidi/adapters/logger/index.js +6 -0
  121. package/dist/services/affinidi/adapters/logger/index.js.map +1 -0
  122. package/dist/services/affinidi/adapters/logger/logger-adapter.d.ts +10 -0
  123. package/dist/services/affinidi/adapters/logger/logger-adapter.js +3 -0
  124. package/dist/services/affinidi/adapters/logger/logger-adapter.js.map +1 -0
  125. package/dist/services/affinidi/auth/index.d.ts +62 -0
  126. package/dist/services/affinidi/auth/index.js +136 -0
  127. package/dist/services/affinidi/auth/index.js.map +1 -0
  128. package/dist/services/affinidi/auth/providers/config.d.ts +15 -0
  129. package/dist/services/affinidi/auth/providers/config.js +33 -0
  130. package/dist/services/affinidi/auth/providers/config.js.map +1 -0
  131. package/dist/services/affinidi/auth/providers/error-login-page.d.ts +1 -0
  132. package/dist/services/affinidi/auth/providers/error-login-page.js +111 -0
  133. package/dist/services/affinidi/auth/providers/error-login-page.js.map +1 -0
  134. package/dist/services/affinidi/auth/providers/index.d.ts +3 -0
  135. package/dist/services/affinidi/auth/providers/index.js +8 -0
  136. package/dist/services/affinidi/auth/providers/index.js.map +1 -0
  137. package/dist/services/affinidi/auth/providers/ory-pkce.d.ts +47 -0
  138. package/dist/services/affinidi/auth/providers/ory-pkce.js +216 -0
  139. package/dist/services/affinidi/auth/providers/ory-pkce.js.map +1 -0
  140. package/dist/services/affinidi/auth/providers/ory.d.ts +22 -0
  141. package/dist/services/affinidi/auth/providers/ory.js +154 -0
  142. package/dist/services/affinidi/auth/providers/ory.js.map +1 -0
  143. package/dist/services/affinidi/auth/providers/successful-login-page.d.ts +1 -0
  144. package/dist/services/affinidi/auth/providers/successful-login-page.js +110 -0
  145. package/dist/services/affinidi/auth/providers/successful-login-page.js.map +1 -0
  146. package/dist/services/affinidi/auth/providers/types.d.ts +10 -0
  147. package/dist/services/affinidi/auth/providers/types.js +3 -0
  148. package/dist/services/affinidi/auth/providers/types.js.map +1 -0
  149. package/dist/services/affinidi/auth/token.d.ts +50 -0
  150. package/dist/services/affinidi/auth/token.js +117 -0
  151. package/dist/services/affinidi/auth/token.js.map +1 -0
  152. package/dist/services/affinidi/config.d.ts +12 -0
  153. package/dist/services/affinidi/config.js +3 -0
  154. package/dist/services/affinidi/config.js.map +1 -0
  155. package/dist/services/affinidi/errors/index.d.ts +1 -0
  156. package/dist/services/affinidi/errors/index.js +74 -0
  157. package/dist/services/affinidi/errors/index.js.map +1 -0
  158. package/dist/services/affinidi/iam/iam.api.d.ts +446 -0
  159. package/dist/services/affinidi/iam/iam.api.js +423 -0
  160. package/dist/services/affinidi/iam/iam.api.js.map +1 -0
  161. package/dist/services/affinidi/iam/index.d.ts +21 -0
  162. package/dist/services/affinidi/iam/index.js +226 -0
  163. package/dist/services/affinidi/iam/index.js.map +1 -0
  164. package/dist/services/affinidi/index.d.ts +24 -0
  165. package/dist/services/affinidi/index.js +52 -0
  166. package/dist/services/affinidi/index.js.map +1 -0
  167. package/dist/services/affinidi/vp-adapter/index.d.ts +20 -0
  168. package/dist/services/affinidi/vp-adapter/index.js +188 -0
  169. package/dist/services/affinidi/vp-adapter/index.js.map +1 -0
  170. package/dist/services/affinidi/vp-adapter/vp-adapter.api.d.ts +602 -0
  171. package/dist/services/affinidi/vp-adapter/vp-adapter.api.js +484 -0
  172. package/dist/services/affinidi/vp-adapter/vp-adapter.api.js.map +1 -0
  173. package/dist/services/auth0/index.d.ts +7 -0
  174. package/dist/services/auth0/index.js +104 -0
  175. package/dist/services/auth0/index.js.map +1 -0
  176. package/dist/services/config/index.d.ts +10 -30
  177. package/dist/services/config/index.js +29 -163
  178. package/dist/services/config/index.js.map +1 -1
  179. package/dist/services/index.d.ts +0 -6
  180. package/dist/services/index.js +1 -14
  181. package/dist/services/index.js.map +1 -1
  182. package/dist/services/urls.d.ts +3 -0
  183. package/dist/services/urls.js +15 -0
  184. package/dist/services/urls.js.map +1 -0
  185. package/package.json +73 -74
  186. package/bin/inject-secrets.js +0 -16
  187. package/bin/postinstall.js +0 -31
  188. package/dist/commands/analytics.d.ts +0 -21
  189. package/dist/commands/analytics.js +0 -74
  190. package/dist/commands/analytics.js.map +0 -1
  191. package/dist/commands/config/index.d.ts +0 -15
  192. package/dist/commands/config/index.js +0 -71
  193. package/dist/commands/config/index.js.map +0 -1
  194. package/dist/commands/config/username.d.ts +0 -17
  195. package/dist/commands/config/username.js +0 -87
  196. package/dist/commands/config/username.js.map +0 -1
  197. package/dist/commands/config/view.d.ts +0 -16
  198. package/dist/commands/config/view.js +0 -59
  199. package/dist/commands/config/view.js.map +0 -1
  200. package/dist/commands/create/project.d.ts +0 -16
  201. package/dist/commands/create/project.js +0 -82
  202. package/dist/commands/create/project.js.map +0 -1
  203. package/dist/commands/create/schema.d.ts +0 -18
  204. package/dist/commands/create/schema.js +0 -149
  205. package/dist/commands/create/schema.js.map +0 -1
  206. package/dist/commands/generate-application/index.d.ts +0 -28
  207. package/dist/commands/generate-application/index.js +0 -94
  208. package/dist/commands/generate-application/index.js.map +0 -1
  209. package/dist/commands/issue-vc.d.ts +0 -21
  210. package/dist/commands/issue-vc.js +0 -159
  211. package/dist/commands/issue-vc.js.map +0 -1
  212. package/dist/commands/list/projects.d.ts +0 -17
  213. package/dist/commands/list/projects.js +0 -110
  214. package/dist/commands/list/projects.js.map +0 -1
  215. package/dist/commands/list/schemas.d.ts +0 -26
  216. package/dist/commands/list/schemas.js +0 -164
  217. package/dist/commands/list/schemas.js.map +0 -1
  218. package/dist/commands/login/index.d.ts +0 -17
  219. package/dist/commands/login/index.js +0 -142
  220. package/dist/commands/login/index.js.map +0 -1
  221. package/dist/commands/logout/index.d.ts +0 -13
  222. package/dist/commands/logout/index.js +0 -72
  223. package/dist/commands/logout/index.js.map +0 -1
  224. package/dist/commands/rename/project.d.ts +0 -17
  225. package/dist/commands/rename/project.js +0 -100
  226. package/dist/commands/rename/project.js.map +0 -1
  227. package/dist/commands/show/project.d.ts +0 -16
  228. package/dist/commands/show/project.js +0 -121
  229. package/dist/commands/show/project.js.map +0 -1
  230. package/dist/commands/show/schema.d.ts +0 -17
  231. package/dist/commands/show/schema.js +0 -111
  232. package/dist/commands/show/schema.js.map +0 -1
  233. package/dist/commands/show/user.d.ts +0 -14
  234. package/dist/commands/show/user.js +0 -61
  235. package/dist/commands/show/user.js.map +0 -1
  236. package/dist/commands/sign-up/index.d.ts +0 -13
  237. package/dist/commands/sign-up/index.js +0 -83
  238. package/dist/commands/sign-up/index.js.map +0 -1
  239. package/dist/commands/use/project.d.ts +0 -15
  240. package/dist/commands/use/project.js +0 -103
  241. package/dist/commands/use/project.js.map +0 -1
  242. package/dist/commands/verify-vc.d.ts +0 -15
  243. package/dist/commands/verify-vc.js +0 -88
  244. package/dist/commands/verify-vc.js.map +0 -1
  245. package/dist/constants.d.ts +0 -44
  246. package/dist/constants.js +0 -78
  247. package/dist/constants.js.map +0 -1
  248. package/dist/customFlags/outputFlag.d.ts +0 -2
  249. package/dist/customFlags/outputFlag.js +0 -10
  250. package/dist/customFlags/outputFlag.js.map +0 -1
  251. package/dist/errors/index.d.ts +0 -37
  252. package/dist/errors/index.js +0 -118
  253. package/dist/errors/index.js.map +0 -1
  254. package/dist/exposedFunctions/genApp.d.ts +0 -27
  255. package/dist/exposedFunctions/genApp.js +0 -186
  256. package/dist/exposedFunctions/genApp.js.map +0 -1
  257. package/dist/fixtures/mock-projects.d.ts +0 -8
  258. package/dist/fixtures/mock-projects.js +0 -65
  259. package/dist/fixtures/mock-projects.js.map +0 -1
  260. package/dist/fixtures/mock-schemas.d.ts +0 -5
  261. package/dist/fixtures/mock-schemas.js +0 -47
  262. package/dist/fixtures/mock-schemas.js.map +0 -1
  263. package/dist/fixtures/mock-status.d.ts +0 -7
  264. package/dist/fixtures/mock-status.js +0 -88
  265. package/dist/fixtures/mock-status.js.map +0 -1
  266. package/dist/hooks/check/checkVersion.js.map +0 -1
  267. package/dist/middleware/authentication.d.ts +0 -2
  268. package/dist/middleware/authentication.js +0 -24
  269. package/dist/middleware/authentication.js.map +0 -1
  270. package/dist/middleware/display.d.ts +0 -7
  271. package/dist/middleware/display.js +0 -72
  272. package/dist/middleware/display.js.map +0 -1
  273. package/dist/render/functions.d.ts +0 -30
  274. package/dist/render/functions.js +0 -138
  275. package/dist/render/functions.js.map +0 -1
  276. package/dist/render/texts.d.ts +0 -19
  277. package/dist/render/texts.js +0 -102
  278. package/dist/render/texts.js.map +0 -1
  279. package/dist/services/analytics/analytics.api.d.ts +0 -79
  280. package/dist/services/analytics/analytics.api.js +0 -134
  281. package/dist/services/analytics/analytics.api.js.map +0 -1
  282. package/dist/services/analytics/index.d.ts +0 -21
  283. package/dist/services/analytics/index.js +0 -80
  284. package/dist/services/analytics/index.js.map +0 -1
  285. package/dist/services/git/index.d.ts +0 -5
  286. package/dist/services/git/index.js +0 -32
  287. package/dist/services/git/index.js.map +0 -1
  288. package/dist/services/iam/iam.api.d.ts +0 -158
  289. package/dist/services/iam/iam.api.js +0 -219
  290. package/dist/services/iam/iam.api.js.map +0 -1
  291. package/dist/services/iam/index.d.ts +0 -12
  292. package/dist/services/iam/index.js +0 -77
  293. package/dist/services/iam/index.js.map +0 -1
  294. package/dist/services/issuance/bulkIssuance.api.d.ts +0 -23
  295. package/dist/services/issuance/bulkIssuance.api.js +0 -43
  296. package/dist/services/issuance/bulkIssuance.api.js.map +0 -1
  297. package/dist/services/issuance/index.d.ts +0 -14
  298. package/dist/services/issuance/index.js +0 -63
  299. package/dist/services/issuance/index.js.map +0 -1
  300. package/dist/services/issuance/issuance.api.d.ts +0 -226
  301. package/dist/services/issuance/issuance.api.js +0 -247
  302. package/dist/services/issuance/issuance.api.js.map +0 -1
  303. package/dist/services/issuance/parse.schema.url.d.ts +0 -5
  304. package/dist/services/issuance/parse.schema.url.js +0 -73
  305. package/dist/services/issuance/parse.schema.url.js.map +0 -1
  306. package/dist/services/schema-manager/generator/context-generator.d.ts +0 -2
  307. package/dist/services/schema-manager/generator/context-generator.js +0 -42
  308. package/dist/services/schema-manager/generator/context-generator.js.map +0 -1
  309. package/dist/services/schema-manager/generator/helpers.d.ts +0 -22
  310. package/dist/services/schema-manager/generator/helpers.js +0 -29
  311. package/dist/services/schema-manager/generator/helpers.js.map +0 -1
  312. package/dist/services/schema-manager/generator/mapping.d.ts +0 -6
  313. package/dist/services/schema-manager/generator/mapping.js +0 -22
  314. package/dist/services/schema-manager/generator/mapping.js.map +0 -1
  315. package/dist/services/schema-manager/generator/schema-generator.d.ts +0 -2
  316. package/dist/services/schema-manager/generator/schema-generator.js +0 -103
  317. package/dist/services/schema-manager/generator/schema-generator.js.map +0 -1
  318. package/dist/services/schema-manager/generator/types.d.ts +0 -87
  319. package/dist/services/schema-manager/generator/types.js +0 -15
  320. package/dist/services/schema-manager/generator/types.js.map +0 -1
  321. package/dist/services/schema-manager/index.d.ts +0 -29
  322. package/dist/services/schema-manager/index.js +0 -68
  323. package/dist/services/schema-manager/index.js.map +0 -1
  324. package/dist/services/schema-manager/schema-manager.api.d.ts +0 -279
  325. package/dist/services/schema-manager/schema-manager.api.js +0 -171
  326. package/dist/services/schema-manager/schema-manager.api.js.map +0 -1
  327. package/dist/services/schema-manager/schemaParser/schema-parser.d.ts +0 -5
  328. package/dist/services/schema-manager/schemaParser/schema-parser.js +0 -35
  329. package/dist/services/schema-manager/schemaParser/schema-parser.js.map +0 -1
  330. package/dist/services/user-management/index.d.ts +0 -38
  331. package/dist/services/user-management/index.js +0 -126
  332. package/dist/services/user-management/index.js.map +0 -1
  333. package/dist/services/user-management/user-management.api.d.ts +0 -110
  334. package/dist/services/user-management/user-management.api.js +0 -185
  335. package/dist/services/user-management/user-management.api.js.map +0 -1
  336. package/dist/services/vault/index.d.ts +0 -23
  337. package/dist/services/vault/index.js +0 -69
  338. package/dist/services/vault/index.js.map +0 -1
  339. package/dist/services/vault/typedVaultService.d.ts +0 -54
  340. package/dist/services/vault/typedVaultService.js +0 -136
  341. package/dist/services/vault/typedVaultService.js.map +0 -1
  342. package/dist/services/verification/index.d.ts +0 -9
  343. package/dist/services/verification/index.js +0 -32
  344. package/dist/services/verification/index.js.map +0 -1
  345. package/dist/services/verification/verifier.api.d.ts +0 -202
  346. package/dist/services/verification/verifier.api.js +0 -187
  347. package/dist/services/verification/verifier.api.js.map +0 -1
  348. package/dist/services/writer/index.d.ts +0 -3
  349. package/dist/services/writer/index.js +0 -17
  350. package/dist/services/writer/index.js.map +0 -1
  351. package/dist/user-actions/index.d.ts +0 -2
  352. package/dist/user-actions/index.js +0 -27
  353. package/dist/user-actions/index.js.map +0 -1
  354. package/dist/user-actions/inquirer.d.ts +0 -9
  355. package/dist/user-actions/inquirer.js +0 -131
  356. package/dist/user-actions/inquirer.js.map +0 -1
  357. package/dist/user-actions/prompts.d.ts +0 -20
  358. package/dist/user-actions/prompts.js +0 -94
  359. package/dist/user-actions/prompts.js.map +0 -1
  360. package/dist/wizard/helpers.d.ts +0 -8
  361. package/dist/wizard/helpers.js +0 -59
  362. package/dist/wizard/helpers.js.map +0 -1
@@ -0,0 +1,484 @@
1
+ "use strict";
2
+ /* eslint-disable */
3
+ /* tslint:disable */
4
+ /*
5
+ * ---------------------------------------------------------------
6
+ * ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API ##
7
+ * ## ##
8
+ * ## AUTHOR: acacode ##
9
+ * ## SOURCE: https://github.com/acacode/swagger-typescript-api ##
10
+ * ---------------------------------------------------------------
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.Api = exports.HttpClient = exports.ContentType = exports.TokenEndpointAuthMethod = void 0;
14
+ const tslib_1 = require("tslib");
15
+ /** Requested Client Authentication method for the Token Endpoint. The options are: `client_secret_post`: (default) Send client_id and client_secret as application/x-www-form-urlencoded in the HTTP body. `client_secret_basic`: Send client_id and client_secret as application/x-www-form-urlencoded encoded in the HTTP Authorization header. `none`: For public clients (native/mobile apps) which can not have secret. */
16
+ var TokenEndpointAuthMethod;
17
+ (function (TokenEndpointAuthMethod) {
18
+ TokenEndpointAuthMethod["ClientSecretBasic"] = "client_secret_basic";
19
+ TokenEndpointAuthMethod["ClientSecretPost"] = "client_secret_post";
20
+ TokenEndpointAuthMethod["None"] = "none";
21
+ })(TokenEndpointAuthMethod = exports.TokenEndpointAuthMethod || (exports.TokenEndpointAuthMethod = {}));
22
+ const axios_1 = tslib_1.__importDefault(require("axios"));
23
+ var ContentType;
24
+ (function (ContentType) {
25
+ ContentType["Json"] = "application/json";
26
+ ContentType["FormData"] = "multipart/form-data";
27
+ ContentType["UrlEncoded"] = "application/x-www-form-urlencoded";
28
+ ContentType["Text"] = "text/plain";
29
+ })(ContentType = exports.ContentType || (exports.ContentType = {}));
30
+ class HttpClient {
31
+ constructor({ securityWorker, secure, format, ...axiosConfig } = {}) {
32
+ this.securityData = null;
33
+ this.setSecurityData = (data) => {
34
+ this.securityData = data;
35
+ };
36
+ this.request = async ({ secure, path, type, query, format, body, ...params }) => {
37
+ const secureParams = ((typeof secure === 'boolean' ? secure : this.secure) &&
38
+ this.securityWorker &&
39
+ (await this.securityWorker(this.securityData))) ||
40
+ {};
41
+ const requestParams = this.mergeRequestParams(params, secureParams);
42
+ const responseFormat = format || this.format || undefined;
43
+ if (type === ContentType.FormData && body && body !== null && typeof body === 'object') {
44
+ body = this.createFormData(body);
45
+ }
46
+ if (type === ContentType.Text && body && body !== null && typeof body !== 'string') {
47
+ body = JSON.stringify(body);
48
+ }
49
+ return this.instance.request({
50
+ ...requestParams,
51
+ headers: {
52
+ ...(requestParams.headers || {}),
53
+ ...(type && type !== ContentType.FormData ? { 'Content-Type': type } : {}),
54
+ },
55
+ params: query,
56
+ responseType: responseFormat,
57
+ data: body,
58
+ url: path,
59
+ });
60
+ };
61
+ this.instance = axios_1.default.create({ ...axiosConfig, baseURL: axiosConfig.baseURL || '/' });
62
+ this.secure = secure;
63
+ this.format = format;
64
+ this.securityWorker = securityWorker;
65
+ }
66
+ mergeRequestParams(params1, params2) {
67
+ const method = params1.method || (params2 && params2.method);
68
+ return {
69
+ ...this.instance.defaults,
70
+ ...params1,
71
+ ...(params2 || {}),
72
+ headers: {
73
+ ...((method && this.instance.defaults.headers[method.toLowerCase()]) || {}),
74
+ ...(params1.headers || {}),
75
+ ...((params2 && params2.headers) || {}),
76
+ },
77
+ };
78
+ }
79
+ stringifyFormItem(formItem) {
80
+ if (typeof formItem === 'object' && formItem !== null) {
81
+ return JSON.stringify(formItem);
82
+ }
83
+ else {
84
+ return `${formItem}`;
85
+ }
86
+ }
87
+ createFormData(input) {
88
+ return Object.keys(input || {}).reduce((formData, key) => {
89
+ const property = input[key];
90
+ const propertyContent = property instanceof Array ? property : [property];
91
+ for (const formItem of propertyContent) {
92
+ const isFileType = formItem instanceof Blob || formItem instanceof File;
93
+ formData.append(key, isFileType ? formItem : this.stringifyFormItem(formItem));
94
+ }
95
+ return formData;
96
+ }, new FormData());
97
+ }
98
+ }
99
+ exports.HttpClient = HttpClient;
100
+ /**
101
+ * @title OidcVpAdapterBackend
102
+ * @version 1.0.0
103
+ * @baseUrl /
104
+ * @contact nucleus <nucleus.team@affinidi.com>
105
+ *
106
+ * Affinidi OIDC VP Adapter Backend
107
+ *
108
+ * An authorization token is necessary to create or obtain a project Access Token and access Admin APIs. Follow these step-by-step [instructions](https://lemmatree.atlassian.net/wiki/spaces/NETCORE/pages/2735317648020/ASA+Developer+Flow#Instructions-on-how-to-create-the-Project.) to set up an authorization token
109
+ */
110
+ class Api extends HttpClient {
111
+ constructor() {
112
+ super(...arguments);
113
+ this.v1 = {
114
+ /**
115
+ * @description IDP consent request automated by adapter frontend
116
+ *
117
+ * @tags consent
118
+ * @name ConsentRequest
119
+ * @summary IDP consent request automated by adapter frontend
120
+ * @request GET:/v1/consent/request
121
+ */
122
+ consentRequest: (query, params = {}) => this.request({
123
+ path: `/v1/consent/request`,
124
+ method: 'GET',
125
+ query: query,
126
+ ...params,
127
+ }),
128
+ /**
129
+ * @description Creates Login Session for IDP Login by using the Login Challenge
130
+ *
131
+ * @tags session
132
+ * @name LoginSessionForIdp
133
+ * @summary Create Login Session for IDP Login
134
+ * @request POST:/v1/login/sessions/for-idp
135
+ */
136
+ loginSessionForIdp: (data, params = {}) => this.request({
137
+ path: `/v1/login/sessions/for-idp`,
138
+ method: 'POST',
139
+ body: data,
140
+ ...params,
141
+ }),
142
+ /**
143
+ * @description Enable CORS by returning correct headers
144
+ *
145
+ * @tags cors
146
+ * @name CorsLoginSessionForIdp
147
+ * @summary CORS Support
148
+ * @request OPTIONS:/v1/login/sessions/for-idp
149
+ */
150
+ corsLoginSessionForIdp: (params = {}) => this.request({
151
+ path: `/v1/login/sessions/for-idp`,
152
+ method: 'OPTIONS',
153
+ ...params,
154
+ }),
155
+ /**
156
+ * @description Accepts and Validates the OIDC VP Response sent by the Wallet
157
+ *
158
+ * @tags session
159
+ * @name LoginSessionAcceptResponse
160
+ * @summary Accept OIDC VP Response for Login Session
161
+ * @request POST:/v1/login/sessions/{sessionId}/accept-response
162
+ */
163
+ loginSessionAcceptResponse: (sessionId, data, params = {}) => this.request({
164
+ path: `/v1/login/sessions/${sessionId}/accept-response`,
165
+ method: 'POST',
166
+ body: data,
167
+ ...params,
168
+ }),
169
+ /**
170
+ * @description Enable CORS by returning correct headers
171
+ *
172
+ * @tags cors
173
+ * @name CorsLoginSessionAcceptResponse
174
+ * @summary CORS Support
175
+ * @request OPTIONS:/v1/login/sessions/{sessionId}/accept-response
176
+ */
177
+ corsLoginSessionAcceptResponse: (sessionId, params = {}) => this.request({
178
+ path: `/v1/login/sessions/${sessionId}/accept-response`,
179
+ method: 'OPTIONS',
180
+ ...params,
181
+ }),
182
+ /**
183
+ * @description The user declines the request for access to their data
184
+ *
185
+ * @tags session
186
+ * @name LoginSessionRejectResponse
187
+ * @summary Reject Response for Login Session
188
+ * @request POST:/v1/login/sessions/{sessionId}/reject-response
189
+ */
190
+ loginSessionRejectResponse: (sessionId, data, params = {}) => this.request({
191
+ path: `/v1/login/sessions/${sessionId}/reject-response`,
192
+ method: 'POST',
193
+ body: data,
194
+ ...params,
195
+ }),
196
+ /**
197
+ * @description Enable CORS by returning correct headers
198
+ *
199
+ * @tags cors
200
+ * @name CorsLoginSessionRejectResponse
201
+ * @summary CORS Support
202
+ * @request OPTIONS:/v1/login/sessions/{sessionId}/reject-response
203
+ */
204
+ corsLoginSessionRejectResponse: (sessionId, params = {}) => this.request({
205
+ path: `/v1/login/sessions/${sessionId}/reject-response`,
206
+ method: 'OPTIONS',
207
+ ...params,
208
+ }),
209
+ /**
210
+ * @description Endpoint to retrieve list of login configurations
211
+ *
212
+ * @tags configuration
213
+ * @name ListLoginConfigurations
214
+ * @summary List login configurations
215
+ * @request GET:/v1/login/configurations
216
+ * @secure
217
+ */
218
+ listLoginConfigurations: (params = {}) => this.request({
219
+ path: `/v1/login/configurations`,
220
+ method: 'GET',
221
+ secure: true,
222
+ ...params,
223
+ }),
224
+ /**
225
+ * @description Create a new login configuration `vpDefinition` and `idTokenMapping` have default settings that provide user email VP presentation definitions. An essential default definition is in place when it comes to the login process for end users using the Chrome extension. This definition requires users to input their email address as OIDCVP compliant, which is then verified by the Affinidi verification service.
226
+ *
227
+ * @tags configuration
228
+ * @name CreateLoginConfigurations
229
+ * @summary Create a new login configuration
230
+ * @request POST:/v1/login/configurations
231
+ * @secure
232
+ */
233
+ createLoginConfigurations: (data, params = {}) => this.request({
234
+ path: `/v1/login/configurations`,
235
+ method: 'POST',
236
+ body: data,
237
+ secure: true,
238
+ ...params,
239
+ }),
240
+ /**
241
+ * @description Get login configuration by ID
242
+ *
243
+ * @tags configuration
244
+ * @name GetLoginConfigurationsById
245
+ * @summary Get login configuration by ID
246
+ * @request GET:/v1/login/configurations/{configurationId}
247
+ * @secure
248
+ */
249
+ getLoginConfigurationsById: (configurationId, params = {}) => this.request({
250
+ path: `/v1/login/configurations/${configurationId}`,
251
+ method: 'GET',
252
+ secure: true,
253
+ ...params,
254
+ }),
255
+ /**
256
+ * @description Update login configurations by ID
257
+ *
258
+ * @tags configuration
259
+ * @name UpdateLoginConfigurationsById
260
+ * @summary Update login configurations by ID
261
+ * @request PATCH:/v1/login/configurations/{configurationId}
262
+ * @secure
263
+ */
264
+ updateLoginConfigurationsById: (configurationId, data, params = {}) => this.request({
265
+ path: `/v1/login/configurations/${configurationId}`,
266
+ method: 'PATCH',
267
+ body: data,
268
+ secure: true,
269
+ ...params,
270
+ }),
271
+ /**
272
+ * @description Delete login configurations by ID
273
+ *
274
+ * @tags configuration
275
+ * @name DeleteLoginConfigurationsById
276
+ * @summary Delete login configurations by ID
277
+ * @request DELETE:/v1/login/configurations/{configurationId}
278
+ * @secure
279
+ */
280
+ deleteLoginConfigurationsById: (configurationId, params = {}) => this.request({
281
+ path: `/v1/login/configurations/${configurationId}`,
282
+ method: 'DELETE',
283
+ secure: true,
284
+ ...params,
285
+ }),
286
+ /**
287
+ * @description Get Client Metadata By OAuth 2.0 Client ID
288
+ *
289
+ * @tags configuration
290
+ * @name GetClientMetadataByClientId
291
+ * @summary Get Client Metadata By OAuth 2.0 Client ID
292
+ * @request GET:/v1/login/configurations/metadata/{clientId}
293
+ * @secure
294
+ */
295
+ getClientMetadataByClientId: (clientId, params = {}) => this.request({
296
+ path: `/v1/login/configurations/metadata/${clientId}`,
297
+ method: 'GET',
298
+ secure: true,
299
+ ...params,
300
+ }),
301
+ /**
302
+ * No description
303
+ *
304
+ * @tags group
305
+ * @name ListGroups
306
+ * @request GET:/v1/groups
307
+ * @secure
308
+ */
309
+ listGroups: (params = {}) => this.request({
310
+ path: `/v1/groups`,
311
+ method: 'GET',
312
+ secure: true,
313
+ ...params,
314
+ }),
315
+ /**
316
+ * No description
317
+ *
318
+ * @tags group
319
+ * @name CreateGroup
320
+ * @request POST:/v1/groups
321
+ * @secure
322
+ */
323
+ createGroup: (data, params = {}) => this.request({
324
+ path: `/v1/groups`,
325
+ method: 'POST',
326
+ body: data,
327
+ secure: true,
328
+ ...params,
329
+ }),
330
+ /**
331
+ * No description
332
+ *
333
+ * @tags group
334
+ * @name GetGroupById
335
+ * @request GET:/v1/groups/{groupName}
336
+ * @secure
337
+ */
338
+ getGroupById: (groupName, params = {}) => this.request({
339
+ path: `/v1/groups/${groupName}`,
340
+ method: 'GET',
341
+ secure: true,
342
+ ...params,
343
+ }),
344
+ /**
345
+ * No description
346
+ *
347
+ * @tags group
348
+ * @name DeleteGroup
349
+ * @request DELETE:/v1/groups/{groupName}
350
+ * @secure
351
+ */
352
+ deleteGroup: (groupName, params = {}) => this.request({
353
+ path: `/v1/groups/${groupName}`,
354
+ method: 'DELETE',
355
+ secure: true,
356
+ ...params,
357
+ }),
358
+ /**
359
+ * No description
360
+ *
361
+ * @tags group
362
+ * @name ListGroupUserMappings
363
+ * @request GET:/v1/groups/{groupName}/users
364
+ * @secure
365
+ */
366
+ listGroupUserMappings: (groupName, params = {}) => this.request({
367
+ path: `/v1/groups/${groupName}/users`,
368
+ method: 'GET',
369
+ secure: true,
370
+ ...params,
371
+ }),
372
+ /**
373
+ * No description
374
+ *
375
+ * @tags group
376
+ * @name AddUserToGroup
377
+ * @request POST:/v1/groups/{groupName}/users
378
+ * @secure
379
+ */
380
+ addUserToGroup: (groupName, data, params = {}) => this.request({
381
+ path: `/v1/groups/${groupName}/users`,
382
+ method: 'POST',
383
+ body: data,
384
+ secure: true,
385
+ ...params,
386
+ }),
387
+ /**
388
+ * No description
389
+ *
390
+ * @tags group
391
+ * @name RemoveUserFromGroup
392
+ * @request DELETE:/v1/groups/{groupName}/users/{groupUserMappingId}
393
+ * @secure
394
+ */
395
+ removeUserFromGroup: (groupName, groupUserMappingId, params = {}) => this.request({
396
+ path: `/v1/groups/${groupName}/users/${groupUserMappingId}`,
397
+ method: 'DELETE',
398
+ secure: true,
399
+ ...params,
400
+ }),
401
+ /**
402
+ * No description
403
+ *
404
+ * @name LoginAdminProxyList
405
+ * @request GET:/v1/login/admin/{proxy+}
406
+ */
407
+ loginAdminProxyList: (proxy, params = {}) => this.request({
408
+ path: `/v1/login/admin/{proxy+}`,
409
+ method: 'GET',
410
+ ...params,
411
+ }),
412
+ /**
413
+ * No description
414
+ *
415
+ * @name LoginAdminProxyCreate
416
+ * @request POST:/v1/login/admin/{proxy+}
417
+ */
418
+ loginAdminProxyCreate: (proxy, params = {}) => this.request({
419
+ path: `/v1/login/admin/{proxy+}`,
420
+ method: 'POST',
421
+ ...params,
422
+ }),
423
+ /**
424
+ * No description
425
+ *
426
+ * @name LoginAdminProxyDelete
427
+ * @request DELETE:/v1/login/admin/{proxy+}
428
+ */
429
+ loginAdminProxyDelete: (proxy, params = {}) => this.request({
430
+ path: `/v1/login/admin/{proxy+}`,
431
+ method: 'DELETE',
432
+ ...params,
433
+ }),
434
+ /**
435
+ * No description
436
+ *
437
+ * @name LoginAdminProxyUpdate
438
+ * @request PUT:/v1/login/admin/{proxy+}
439
+ */
440
+ loginAdminProxyUpdate: (proxy, params = {}) => this.request({
441
+ path: `/v1/login/admin/{proxy+}`,
442
+ method: 'PUT',
443
+ ...params,
444
+ }),
445
+ /**
446
+ * No description
447
+ *
448
+ * @name LoginAdminProxyPartialUpdate
449
+ * @request PATCH:/v1/login/admin/{proxy+}
450
+ */
451
+ loginAdminProxyPartialUpdate: (proxy, params = {}) => this.request({
452
+ path: `/v1/login/admin/{proxy+}`,
453
+ method: 'PATCH',
454
+ ...params,
455
+ }),
456
+ /**
457
+ * No description
458
+ *
459
+ * @tags idp
460
+ * @name LoginProxyList
461
+ * @request GET:/v1/login/{proxy+}
462
+ */
463
+ loginProxyList: (proxy, params = {}) => this.request({
464
+ path: `/v1/login/{proxy+}`,
465
+ method: 'GET',
466
+ ...params,
467
+ }),
468
+ /**
469
+ * No description
470
+ *
471
+ * @tags idp
472
+ * @name LoginProxyCreate
473
+ * @request POST:/v1/login/{proxy+}
474
+ */
475
+ loginProxyCreate: (proxy, params = {}) => this.request({
476
+ path: `/v1/login/{proxy+}`,
477
+ method: 'POST',
478
+ ...params,
479
+ }),
480
+ };
481
+ }
482
+ }
483
+ exports.Api = Api;
484
+ //# sourceMappingURL=vp-adapter.api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vp-adapter.api.js","sourceRoot":"","sources":["../../../../src/services/affinidi/vp-adapter/vp-adapter.api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ declare class Auth0Service {
2
+ generateAuth0Application: (accessToken: string, domain: string, clientId: string, clientSecret: string, appPath: string) => Promise<void>;
3
+ createApplication: (accessToken: string, domain: string) => Promise<any>;
4
+ creatingSocialConnection: (accessToken: string, domain: string, auth0ClientId: string, clientId: string, clientSecret: string) => Promise<void>;
5
+ }
6
+ declare const auth0Service: Auth0Service;
7
+ export { auth0Service };
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.auth0Service = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const chalk_1 = tslib_1.__importDefault(require("chalk"));
6
+ const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
7
+ const urls_1 = require("../urls");
8
+ class Auth0Service {
9
+ constructor() {
10
+ this.generateAuth0Application = async (accessToken, domain, clientId, clientSecret, appPath) => {
11
+ const donEnv = `${appPath}/.env`;
12
+ const donEnvExample = `${appPath}/.env.example`;
13
+ if (!fs_extra_1.default.pathExistsSync(donEnvExample)) {
14
+ throw new Error(`Unable to locate file .env.example in provided directory: ${appPath}`);
15
+ }
16
+ fs_extra_1.default.copyFile(donEnvExample, donEnv, (error) => {
17
+ if (error)
18
+ throw error;
19
+ });
20
+ // Creating Application
21
+ const { auth0ClientId, auth0ClientSecret } = await auth0Service.createApplication(accessToken, domain);
22
+ fs_extra_1.default.readFile(donEnv, 'utf-8', function (err, contents) {
23
+ const updatedClientId = contents.replace(/AUTH0_CLIENT_ID=".*"/, `AUTH0_CLIENT_ID="${auth0ClientId}"`);
24
+ const updatedClientSecret = updatedClientId.replace(/AUTH0_CLIENT_SECRET=".*"/, `AUTH0_CLIENT_SECRET="${auth0ClientSecret}"`);
25
+ const updatedIssuer = updatedClientSecret.replace(/AUTH0_ISSUER=".*"/, `AUTH0_ISSUER="${domain}"`);
26
+ // eslint-disable-next-line @typescript-eslint/no-floating-promises
27
+ fs_extra_1.default.writeFile(donEnv, updatedIssuer, 'utf-8');
28
+ });
29
+ //Creating Social Connection
30
+ await auth0Service.creatingSocialConnection(accessToken, domain, auth0ClientId, clientId, clientSecret);
31
+ };
32
+ this.createApplication = async (accessToken, domain) => {
33
+ const myHeaders = new Headers();
34
+ myHeaders.append('Authorization', `Bearer ${accessToken}`);
35
+ myHeaders.append('Content-Type', 'application/json');
36
+ const body = JSON.stringify({
37
+ name: 'Affinidi Reference App',
38
+ description: 'Generated Reference Application from Affinidi CLI',
39
+ logo_uri: '',
40
+ callbacks: ['http://localhost:3000/api/auth/callback/auth0'],
41
+ web_origins: ['http://localhost:3000'],
42
+ allowed_logout_urls: ['http://localhost:3000'],
43
+ jwt_configuration: {
44
+ alg: 'RS256',
45
+ },
46
+ token_endpoint_auth_method: 'client_secret_post',
47
+ app_type: 'regular_web',
48
+ is_first_party: true,
49
+ organization_usage: 'deny',
50
+ oidc_conformant: true,
51
+ organization_require_behavior: 'no_prompt',
52
+ });
53
+ const requestOptions = {
54
+ method: 'POST',
55
+ headers: myHeaders,
56
+ body,
57
+ };
58
+ const response = await fetch(`${domain}/api/v2/clients`, requestOptions);
59
+ const reponseBody = await response.json();
60
+ if (!reponseBody.client_id || !reponseBody.client_secret) {
61
+ throw new Error(`Failed to create Auth0 Application. Response from Auth0: ${reponseBody.message}`);
62
+ }
63
+ return {
64
+ auth0ClientId: reponseBody.client_id,
65
+ auth0ClientSecret: reponseBody.client_secret,
66
+ };
67
+ };
68
+ this.creatingSocialConnection = async (accessToken, domain, auth0ClientId, clientId, clientSecret) => {
69
+ const myHeaders = new Headers();
70
+ myHeaders.append('Authorization', `Bearer ${accessToken}`);
71
+ myHeaders.append('Content-Type', 'application/json');
72
+ const body = JSON.stringify({
73
+ name: 'Affinidi',
74
+ display_name: 'Affinidi',
75
+ strategy: 'oauth2',
76
+ options: {
77
+ scope: 'openid',
78
+ scripts: {
79
+ fetchUserProfile: "function fetchUserProfile(accessToken, context, callback) { \n const idToken = JSON.parse(Buffer.from(context.id_token.split('.')[1], 'base64').toString()); \n const profile = { \n user_id: idToken.sub, \n email: idToken.custom.find(c => c.email).email, \n }; \n callback(null, profile, context); \n }\n",
80
+ },
81
+ tokenURL: `${urls_1.AUTH_URL}/oauth2/token`,
82
+ client_id: clientId,
83
+ client_secret: clientSecret,
84
+ customHeaders: '',
85
+ authorizationURL: `${urls_1.AUTH_URL}/oauth2/auth`,
86
+ },
87
+ enabled_clients: [auth0ClientId],
88
+ });
89
+ const requestOptions = {
90
+ method: 'POST',
91
+ headers: myHeaders,
92
+ body,
93
+ };
94
+ const response = await fetch(`${domain}/api/v2/connections`, requestOptions);
95
+ if (response.status !== 201) {
96
+ const responseBody = await response.json();
97
+ throw new Error(`Failed to create Auth0 Social Connection. Response from Auth0: ${chalk_1.default.red.bold(responseBody.message)}`);
98
+ }
99
+ };
100
+ }
101
+ }
102
+ const auth0Service = new Auth0Service();
103
+ exports.auth0Service = auth0Service;
104
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/auth0/index.ts"],"names":[],"mappings":"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"}