@affinidi/cli 2.0.0-beta.4 → 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,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConsoleLoggerAdapter = void 0;
4
+ class ConsoleLoggerAdapter {
5
+ constructor(logLevel) {
6
+ this.logLevel = logLevel;
7
+ }
8
+ log(level, message) {
9
+ switch (level) {
10
+ case 'trace':
11
+ return this.trace(message);
12
+ case 'debug':
13
+ return this.debug(message);
14
+ case 'info':
15
+ return this.info(message);
16
+ case 'warn':
17
+ return this.warn(message);
18
+ case 'error':
19
+ return this.error(message);
20
+ case 'fatal':
21
+ return this.fatal(message);
22
+ }
23
+ }
24
+ trace(message) {
25
+ if (['trace'].includes(this.logLevel)) {
26
+ console.log(message);
27
+ }
28
+ }
29
+ debug(message) {
30
+ if (['trace', 'debug'].includes(this.logLevel)) {
31
+ console.log(message);
32
+ }
33
+ }
34
+ info(message) {
35
+ if (['trace', 'debug', 'info'].includes(this.logLevel)) {
36
+ console.log(message);
37
+ }
38
+ }
39
+ warn(message) {
40
+ if (['trace', 'debug', 'info', 'warn'].includes(this.logLevel)) {
41
+ console.log(message);
42
+ }
43
+ }
44
+ error(message) {
45
+ if (['trace', 'debug', 'info', 'warn', 'error'].includes(this.logLevel)) {
46
+ console.log(message);
47
+ }
48
+ }
49
+ fatal(message) {
50
+ if (['trace', 'debug', 'info', 'warn', 'error', 'fatal'].includes(this.logLevel)) {
51
+ console.log(message);
52
+ }
53
+ }
54
+ }
55
+ exports.ConsoleLoggerAdapter = ConsoleLoggerAdapter;
56
+ //# sourceMappingURL=console-logger-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"console-logger-adapter.js","sourceRoot":"","sources":["../../../../../src/services/affinidi/adapters/logger/console-logger-adapter.ts"],"names":[],"mappings":";;;AAEA,MAAa,oBAAoB;IAG/B,YAAY,QAAkB;QAC5B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;IACD,GAAG,CAAC,KAAe,EAAE,OAAe;QAClC,QAAQ,KAAK,EAAE;YACb,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAC5B,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAC5B,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC3B,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC3B,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAC5B,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;SAC7B;IACH,CAAC;IACD,KAAK,CAAC,OAAe;QACnB,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACrC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;SACrB;IACH,CAAC;IAED,KAAK,CAAC,OAAe;QACnB,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC9C,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;SACrB;IACH,CAAC;IAED,IAAI,CAAC,OAAe;QAClB,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACtD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;SACrB;IACH,CAAC;IAED,IAAI,CAAC,OAAe;QAClB,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC9D,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;SACrB;IACH,CAAC;IAED,KAAK,CAAC,OAAe;QACnB,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACvE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;SACrB;IACH,CAAC;IAED,KAAK,CAAC,OAAe;QACnB,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAChF,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;SACrB;IACH,CAAC;CACF;AAzDD,oDAyDC"}
@@ -0,0 +1,2 @@
1
+ export { LoggerAdapter, LogLevel } from './logger-adapter';
2
+ export { ConsoleLoggerAdapter } from './console-logger-adapter';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConsoleLoggerAdapter = void 0;
4
+ var console_logger_adapter_1 = require("./console-logger-adapter");
5
+ Object.defineProperty(exports, "ConsoleLoggerAdapter", { enumerable: true, get: function () { return console_logger_adapter_1.ConsoleLoggerAdapter; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/affinidi/adapters/logger/index.ts"],"names":[],"mappings":";;;AACA,mEAA+D;AAAtD,8HAAA,oBAAoB,OAAA"}
@@ -0,0 +1,10 @@
1
+ export type LogLevel = 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'fatal';
2
+ export interface LoggerAdapter {
3
+ log(level: LogLevel, message: string): void;
4
+ trace(message: string): void;
5
+ debug(message: string): void;
6
+ info(message: string): void;
7
+ warn(message: string): void;
8
+ error(message: string): void;
9
+ fatal(message: string): void;
10
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=logger-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger-adapter.js","sourceRoot":"","sources":["../../../../../src/services/affinidi/adapters/logger/logger-adapter.ts"],"names":[],"mappings":""}
@@ -0,0 +1,62 @@
1
+ import { AuthProviderConfig } from './providers';
2
+ import { ProjectDto } from '../iam/iam.api';
3
+ export type AuthResult = {
4
+ projectScopedToken: string;
5
+ activeProject: ProjectDto;
6
+ projects: ProjectDto[];
7
+ principalId: string;
8
+ };
9
+ export interface AuthSDK {
10
+ login(params: {
11
+ projectId?: string;
12
+ userAccessToken?: string;
13
+ }): Promise<AuthResult>;
14
+ logout(): Promise<void>;
15
+ getPrincipalId(): string;
16
+ getActiveProject(projects: Array<ProjectDto>): ProjectDto;
17
+ }
18
+ /**
19
+ * A class representing an authentication model that implements the AuthSDK interface.
20
+ * It provides functionalities to authenticate, fetch user projects, and log out.
21
+ */
22
+ export declare class Auth implements AuthSDK {
23
+ private readonly authProvider;
24
+ private readonly logger;
25
+ /**
26
+ * Construct an Auth instance.
27
+ *
28
+ * @param {AuthProviderConfig} config - The configuration object for the AuthProvider.
29
+ */
30
+ constructor(config: AuthProviderConfig);
31
+ private authenticate;
32
+ private receivePrincipalId;
33
+ private fetchProjects;
34
+ getActiveProject(projects: Array<ProjectDto>): ProjectDto;
35
+ private createProject;
36
+ private createProjectScopedToken;
37
+ /**
38
+ * Authenticate a user and return an object containing the user's active project,
39
+ * a list of the user's projects, the user's principalId, and a project-scoped token.
40
+ *
41
+ * @returns {Promise<AuthResult>} - A Promise that resolves to an AuthResult object.
42
+ * @throws Will throw an error if the authentication fails.
43
+ */
44
+ login(param: {
45
+ projectId?: string;
46
+ userAccessToken?: string;
47
+ hideProjectHints?: boolean;
48
+ }): Promise<AuthResult>;
49
+ /**
50
+ * Logs out the user.
51
+ *
52
+ * @returns {Promise<void>} - A Promise that resolves when the logout operation has completed.
53
+ * @throws Will throw an error if the logout operation fails.
54
+ */
55
+ logout(): Promise<void>;
56
+ /**
57
+ * Returns PrincipalId
58
+ *
59
+ * @returns {string} - A value of PrincipalId
60
+ */
61
+ getPrincipalId(): string;
62
+ }
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Auth = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const process_1 = tslib_1.__importDefault(require("process"));
6
+ const errors_1 = require("@oclif/core/lib/errors");
7
+ const chalk_1 = tslib_1.__importDefault(require("chalk"));
8
+ const providers_1 = require("./providers");
9
+ const token_1 = require("./token");
10
+ const iam_1 = require("../iam");
11
+ const DEFAULT_PROJECT_NAME = 'Default Project';
12
+ /**
13
+ * A class representing an authentication model that implements the AuthSDK interface.
14
+ * It provides functionalities to authenticate, fetch user projects, and log out.
15
+ */
16
+ class Auth {
17
+ /**
18
+ * Construct an Auth instance.
19
+ *
20
+ * @param {AuthProviderConfig} config - The configuration object for the AuthProvider.
21
+ */
22
+ constructor(config) {
23
+ this.logger = config.logger;
24
+ // Ory project for prod uses PKCE, meanwhile for dev - doesn't
25
+ this.authProvider =
26
+ process_1.default.env.AFFINIDI_CLI_ENVIRONMENT === 'dev' ? new providers_1.OryAuthenticator(config) : new providers_1.OryAuthenticatorPKCE(config);
27
+ }
28
+ async authenticate() {
29
+ this.logger.debug('Authenticating');
30
+ const accessToken = await this.authProvider.authenticate();
31
+ this.logger.debug(`Authenticated successfully!`);
32
+ return accessToken;
33
+ }
34
+ async receivePrincipalId(accessToken) {
35
+ this.logger.debug('Receiving principalId');
36
+ const principalId = await iam_1.iamService.whoAmI(accessToken);
37
+ this.logger.debug(`PrincipalId has been received: ${principalId}`);
38
+ return principalId;
39
+ }
40
+ async fetchProjects(accessToken) {
41
+ this.logger.debug('Fetching the list of projects');
42
+ const projects = await iam_1.iamService.listProjects(accessToken);
43
+ this.logger.debug(`Successfully fetched the list of projects`);
44
+ this.logger.debug(`Projects: ${JSON.stringify(projects)}`);
45
+ return projects;
46
+ }
47
+ getActiveProject(projects) {
48
+ const savedProjectId = token_1.tokenService.getProjectToken()?.projectId;
49
+ this.logger.debug(`Saved projectId: ${savedProjectId}`);
50
+ const savedProject = savedProjectId && projects.find((project) => project.id === savedProjectId);
51
+ return savedProject || projects[0];
52
+ }
53
+ async createProject(accessToken) {
54
+ this.logger.debug(`User doesn't have any project. Creating a project with default name: ${DEFAULT_PROJECT_NAME}`);
55
+ const project = await iam_1.iamService.createProject(accessToken, {
56
+ name: DEFAULT_PROJECT_NAME,
57
+ });
58
+ this.logger.debug(`Default project successfully created: ${JSON.stringify(project)}`);
59
+ return project;
60
+ }
61
+ async createProjectScopedToken(accessToken, projectId) {
62
+ this.logger.debug(`Creating a project-scoped token for project ${chalk_1.default.underline(projectId)}`);
63
+ const projectScopedToken = await iam_1.iamService.createProjectScopedToken(accessToken, projectId);
64
+ this.logger.debug(`project-scoped token for project ${chalk_1.default.underline(projectId)} has been successfully created`);
65
+ return projectScopedToken;
66
+ }
67
+ /**
68
+ * Authenticate a user and return an object containing the user's active project,
69
+ * a list of the user's projects, the user's principalId, and a project-scoped token.
70
+ *
71
+ * @returns {Promise<AuthResult>} - A Promise that resolves to an AuthResult object.
72
+ * @throws Will throw an error if the authentication fails.
73
+ */
74
+ async login(param) {
75
+ const { projectId, userAccessToken } = param;
76
+ const accessToken = (userAccessToken ?? (await this.authenticate()));
77
+ if (!param.hideProjectHints) {
78
+ this.logger.info('\nSetting your active project...');
79
+ }
80
+ const principalId = await this.receivePrincipalId(accessToken);
81
+ let projects = await this.fetchProjects(accessToken);
82
+ let activeProject;
83
+ // check if specific projectId is provided
84
+ if (projectId) {
85
+ activeProject = projects.find((project) => project.id === projectId);
86
+ if (!activeProject) {
87
+ throw new errors_1.CLIError(`Cannot find project with id ${chalk_1.default.underline(projectId)}. Available projects are ${JSON.stringify(projects)}`);
88
+ }
89
+ }
90
+ // choose project from available list
91
+ // NOTE: Show project hints only if user has more than 1 project.
92
+ if (!activeProject && projects.length > 0) {
93
+ activeProject = this.getActiveProject(projects);
94
+ }
95
+ // no project available, creating one.
96
+ if (!activeProject) {
97
+ activeProject = await this.createProject(accessToken);
98
+ this.logger.info(`\nCreated default project with ID ${chalk_1.default.underline(activeProject.id)}`);
99
+ projects = [activeProject];
100
+ }
101
+ const projectScopedToken = await this.createProjectScopedToken(accessToken, activeProject.id);
102
+ token_1.tokenService.setProjectToken(projectScopedToken, activeProject.id, activeProject.name);
103
+ token_1.tokenService.setPrincipalId(principalId);
104
+ if (!param.hideProjectHints) {
105
+ this.logger.info(`\nYour active project has been set to the project ${chalk_1.default.underline(activeProject.name)} with ID ${chalk_1.default.underline(activeProject.id)}` +
106
+ '\n\nIf you want to change the active project, please follow these steps:' +
107
+ `\n\n💡 To list all your projects run: ${chalk_1.default.inverse('affinidi project list-projects')}` +
108
+ `\n\n💡 To change the active project run: ${chalk_1.default.inverse('affinidi project select-project -i <project-id>')}\n`);
109
+ }
110
+ return {
111
+ projectScopedToken: projectScopedToken.accessToken,
112
+ activeProject,
113
+ principalId,
114
+ projects,
115
+ };
116
+ }
117
+ /**
118
+ * Logs out the user.
119
+ *
120
+ * @returns {Promise<void>} - A Promise that resolves when the logout operation has completed.
121
+ * @throws Will throw an error if the logout operation fails.
122
+ */
123
+ async logout() {
124
+ return this.authProvider.logout();
125
+ }
126
+ /**
127
+ * Returns PrincipalId
128
+ *
129
+ * @returns {string} - A value of PrincipalId
130
+ */
131
+ getPrincipalId() {
132
+ return token_1.tokenService.getPrincipalId();
133
+ }
134
+ }
135
+ exports.Auth = Auth;
136
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/affinidi/auth/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ export declare const isOryAuthCallbackPortInUse: () => Promise<boolean>;
2
+ export declare const config: {
3
+ redirectHost: string;
4
+ expressPort: number;
5
+ redirectPath: string;
6
+ redirectTimeoutMs: number;
7
+ codeChallengeMethod: string;
8
+ stateBytes: number;
9
+ PKCEBytes: number;
10
+ scope: string;
11
+ getSSOMessage: (ssoUrl: string) => string;
12
+ successHTML: string;
13
+ erroredLoginPage: (title?: string, context?: string) => string;
14
+ oryAuthCallbackPortUnavailableMessage: string;
15
+ };
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.config = exports.isOryAuthCallbackPortInUse = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const chalk_1 = tslib_1.__importDefault(require("chalk"));
6
+ const tcp_port_used_1 = require("tcp-port-used");
7
+ const error_login_page_1 = require("./error-login-page");
8
+ const successful_login_page_1 = require("./successful-login-page");
9
+ const oryAuthCallbackPort = 2777;
10
+ const isOryAuthCallbackPortInUse = async () => {
11
+ return (0, tcp_port_used_1.check)(oryAuthCallbackPort);
12
+ };
13
+ exports.isOryAuthCallbackPortInUse = isOryAuthCallbackPortInUse;
14
+ exports.config = {
15
+ redirectHost: 'http://127.0.0.1',
16
+ expressPort: oryAuthCallbackPort,
17
+ redirectPath: '/callback',
18
+ redirectTimeoutMs: 5 * 60 * 1000,
19
+ codeChallengeMethod: 'S256',
20
+ stateBytes: 32,
21
+ PKCEBytes: 64,
22
+ scope: 'openid offline_access',
23
+ getSSOMessage: (ssoUrl) => {
24
+ return (`\nAttempting to automatically open the SSO authorization page in your default browser.\n` +
25
+ `\nIf the browser doesn't open automatically, or if your default browser isn't Google Chrome, please open the following URL in the Chrome browser:\n` +
26
+ `\n${chalk_1.default.underline(ssoUrl)}\n`);
27
+ },
28
+ successHTML: successful_login_page_1.successfulLoginPage,
29
+ erroredLoginPage: error_login_page_1.erroredLoginPage,
30
+ oryAuthCallbackPortUnavailableMessage: `\n💥 Port [${oryAuthCallbackPort}] is unavailable. Affinidi CLI is currently relying on it.\n` +
31
+ `Please close the process that is using port [${oryAuthCallbackPort}] and try again.`,
32
+ };
33
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../src/services/affinidi/auth/providers/config.ts"],"names":[],"mappings":";;;;AAAA,0DAAyB;AACzB,iDAAqC;AACrC,yDAAqD;AACrD,mEAA6D;AAE7D,MAAM,mBAAmB,GAAG,IAAI,CAAA;AAEzB,MAAM,0BAA0B,GAAG,KAAK,IAAI,EAAE;IACnD,OAAO,IAAA,qBAAK,EAAC,mBAAmB,CAAC,CAAA;AACnC,CAAC,CAAA;AAFY,QAAA,0BAA0B,8BAEtC;AAEY,QAAA,MAAM,GAAG;IACpB,YAAY,EAAE,kBAAkB;IAChC,WAAW,EAAE,mBAAmB;IAChC,YAAY,EAAE,WAAW;IACzB,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;IAEhC,mBAAmB,EAAE,MAAM;IAC3B,UAAU,EAAE,EAAE;IACd,SAAS,EAAE,EAAE;IACb,KAAK,EAAE,uBAAuB;IAE9B,aAAa,EAAE,CAAC,MAAc,EAAE,EAAE;QAChC,OAAO,CACL,0FAA0F;YAC1F,qJAAqJ;YACrJ,KAAK,eAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CACjC,CAAA;IACH,CAAC;IACD,WAAW,EAAE,2CAAmB;IAChC,gBAAgB,EAAE,mCAAgB;IAClC,qCAAqC,EACnC,cAAc,mBAAmB,8DAA8D;QAC/F,gDAAgD,mBAAmB,kBAAkB;CACxF,CAAA"}
@@ -0,0 +1 @@
1
+ export declare const erroredLoginPage: (title?: string, context?: string) => string;
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.erroredLoginPage = void 0;
4
+ const erroredLoginPage = (title = 'Error', context = 'Unexpected error.') => `<!DOCTYPE html>
5
+ <html>
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
+ <head>
8
+ <style>
9
+ body {
10
+ background-color: #040822;
11
+ font-family: Figtree;
12
+ }
13
+
14
+ h1 {
15
+ font-size: 40px;
16
+ font-weight: 800;
17
+ line-height: 42px;
18
+ letter-spacing: -0.4px;
19
+ }
20
+
21
+ p {
22
+ font-size: 16px;
23
+ font-weight: 400;
24
+ line-height: 21.1px;
25
+ letter-spacing: 0.2px;
26
+ margin-bottom: 2.2px;
27
+ }
28
+
29
+ a {
30
+ font-weight: 600;
31
+ color: #1D58FC;
32
+ text-decoration: none;
33
+ }
34
+
35
+ .logo-container {
36
+ margin-top: 20px;
37
+ margin-left: 68px;
38
+ width: 130.85px;
39
+ height: 24px;
40
+ }
41
+
42
+ .outer-container {
43
+ width: 360px;
44
+ height: 296px;
45
+ background-color: white;
46
+ position: absolute;
47
+ top: 50%;
48
+ left: 50%;
49
+ transform: translate(-50%, -50%);
50
+ border-radius: 8px;
51
+ display: flex;
52
+ flex-direction: column;
53
+ align-items: center;
54
+ }
55
+
56
+ .inner-container {
57
+ width: 296px;
58
+ height: 84px;
59
+ position: relative;
60
+ top: 24px;
61
+ left: 2px;
62
+ text-align: left;
63
+ }
64
+ </style>
65
+ </head>
66
+
67
+ <body>
68
+ <div class="logo-container">
69
+ <svg width="132" height="24" viewBox="0 0 132 24" fill="none" xmlns="http://www.w3.org/2000/svg">
70
+ <g id="Affinidi logo">
71
+ <g id="wordmark">
72
+ <path d="M50.3841 10.8008C50.3172 10.532 50.2413 10.2683 50.1551 10.0137C49.7731 8.88819 49.1352 7.99297 48.2386 7.32541C47.3421 6.65784 46.1318 6.32471 44.6063 6.32471C43.2339 6.32471 41.9939 6.63984 40.8878 7.26881C39.7816 7.89778 38.9044 8.76986 38.2561 9.88632C37.6078 11.0015 37.2837 12.3032 37.2837 13.7901C37.2837 15.277 37.6027 16.5221 38.2419 17.6372C38.8812 18.7524 39.7391 19.6245 40.8157 20.2547C41.8923 20.8837 43.0795 21.1988 44.3773 21.1988C45.5594 21.1988 46.5549 20.9647 47.3666 20.4978C48.1769 20.0309 48.8252 19.4251 49.3114 18.6817C49.7976 17.9382 50.1551 17.133 50.3841 16.2648L50.3815 20.9145H53.5843L53.5856 6.76484H50.3815L50.3828 10.8021L50.3841 10.8008ZM49.7976 16.2481C49.4065 16.9735 48.8342 17.5395 48.0817 17.9498C47.328 18.3601 46.4173 18.5646 45.3497 18.5646C44.4146 18.5646 43.5863 18.364 42.8609 17.9639C42.1354 17.5639 41.5695 17.0018 41.1591 16.2764C40.7488 15.5522 40.5443 14.7226 40.5443 13.7875C40.5443 12.3572 40.9636 11.1944 41.8023 10.2979C42.6409 9.4014 43.823 8.95379 45.3484 8.95379C46.416 8.95379 47.3215 9.1493 48.065 9.54032C48.8084 9.93134 49.3808 10.4844 49.7808 11.1996C50.1809 11.9147 50.3815 12.7778 50.3815 13.7888C50.3815 14.7046 50.186 15.5239 49.795 16.2481H49.7976Z" fill="white" style="fill:white;fill:white;fill-opacity:1;"/>
73
+ <path d="M71.8324 1.89201C71.0414 2.23544 70.4407 2.82454 70.0304 3.5487C69.6201 4.27414 69.4155 5.07933 69.4155 6.2228V6.77042H62.3219V6.58038C62.3219 5.91281 62.4312 5.40346 62.6512 5.04974C62.8698 4.69731 63.1798 4.50438 63.5811 4.36161C63.9812 4.21883 64.4391 4.1673 64.9536 4.18531H66.7556V1.37366H64.3812C63.2943 1.37366 62.3553 1.54473 61.5643 1.88816C60.7733 2.23158 60.1726 2.76537 59.7623 3.48953C59.352 4.21497 59.1475 5.14879 59.1475 6.29226V6.76785H56.3447V9.38053H59.1475V20.9065H62.3219V9.38053H69.4155V20.9065H72.59V9.38053H76.9954V6.76785H72.59V6.50577C72.59 5.83821 72.6993 5.45234 72.9193 5.08962C73.1379 4.72818 73.4479 4.47994 73.8492 4.34617C74.2493 4.2124 74.7072 4.1558 75.2217 4.1751H76.9954V1.37366H74.6789C73.5727 1.37366 72.6234 1.54473 71.8324 1.88816V1.89201Z" fill="white" style="fill:white;fill:white;fill-opacity:1;"/>
74
+ <path d="M82.959 1.37265H79.7564V4.18882H82.959V1.37265Z" fill="white" style="fill:white;fill:white;fill-opacity:1;"/>
75
+ <path d="M82.9574 6.76382H79.7534V20.9065H82.9574V6.76382Z" fill="white" style="fill:white;fill:white;fill-opacity:1;"/>
76
+ <path d="M98.9754 7.71959C98.4699 7.25268 97.8693 6.9041 97.1734 6.67515C96.4775 6.4462 95.7187 6.33173 94.8993 6.33173C94.0221 6.33173 93.2208 6.4745 92.4966 6.76133C91.7712 7.04688 91.1422 7.44304 90.6084 7.94854C90.0746 8.45403 89.645 9.02641 89.3209 9.66439C89.1434 10.0155 89.0006 10.3757 88.8913 10.7461V6.76133H85.7168V20.9145H88.8913V12.4105C89.0328 11.9758 89.2514 11.5667 89.5485 11.1796C90.0245 10.5596 90.6393 10.0541 91.393 9.6631C92.1455 9.27208 92.9802 9.07657 93.8961 9.07657C95.0974 9.07657 95.9785 9.35826 96.5419 9.92035C97.104 10.4824 97.3856 11.3455 97.3856 12.5096V20.9145H100.56V11.8793C100.56 10.9455 100.421 10.1352 100.146 9.4483C99.8694 8.76144 99.4784 8.1852 98.9729 7.7183L98.9754 7.71959Z" fill="white" style="fill:white;fill:white;fill-opacity:1;"/>
77
+ <path d="M106.516 1.37466H103.318V4.17739H106.516V1.37466Z" fill="white" style="fill:white;fill:white;fill-opacity:1;"/>
78
+ <path d="M106.523 6.76584H103.319V20.9145H106.523V6.76584Z" fill="white" style="fill:white;fill:white;fill-opacity:1;"/>
79
+ <path d="M122.381 10.8297C122.161 9.95637 121.818 9.18719 121.351 8.52349C120.874 7.84693 120.225 7.31314 119.406 6.92212C118.585 6.5311 117.576 6.33559 116.374 6.33559C115.002 6.33559 113.786 6.65072 112.728 7.27969C111.669 7.90867 110.831 8.78074 110.211 9.8972C109.591 11.0124 109.281 12.3141 109.281 13.801C109.281 15.2879 109.596 16.5329 110.225 17.6481C110.854 18.7633 111.708 19.6354 112.784 20.2656C113.861 20.8946 115.059 21.2097 116.374 21.2097C117.556 21.2097 118.553 20.9756 119.364 20.5087C120.174 20.0418 120.822 19.436 121.308 18.6925C121.795 17.9491 122.152 17.1439 122.381 16.2757V17.5195V20.9145H125.585V1.37466H122.381V10.8297ZM121.795 16.2603C121.404 16.9857 120.831 17.5516 120.079 17.962C119.325 18.3723 118.414 18.5768 117.347 18.5768C116.412 18.5768 115.583 18.3761 114.858 17.9761C114.132 17.5761 113.567 17.014 113.156 16.2886C112.746 15.5644 112.541 14.7348 112.541 13.7997C112.541 12.3694 112.961 11.2015 113.799 10.2959C114.638 9.39042 115.82 8.93766 117.346 8.93766C118.413 8.93766 119.319 9.13832 120.063 9.53834C120.807 9.93836 121.379 10.4966 121.779 11.2117C122.179 11.9269 122.38 12.79 122.38 13.801C122.38 14.7168 122.184 15.5361 121.793 16.2603H121.795Z" fill="white" style="fill:white;fill:white;fill-opacity:1;"/>
80
+ <path d="M131.552 1.36462H128.345V4.19537H131.552V1.36462Z" fill="white" style="fill:white;fill:white;fill-opacity:1;"/>
81
+ <path d="M131.547 6.76584H128.343V20.9135H131.547V6.76584Z" fill="white" style="fill:white;fill:white;fill-opacity:1;"/>
82
+ </g>
83
+ <g id="icon">
84
+ <path d="M3.92255 20.2815C6.10788 22.5723 9.19101 24 12.606 24C16.021 24 19.1041 22.5723 21.2894 20.2815H3.92126H3.92255Z" fill="white" style="fill:white;fill:white;fill-opacity:1;"/>
85
+ <path d="M21.2908 6.76083H1.8093C1.25107 7.90945 0.870337 9.16097 0.703125 10.4794H21.2908V6.76083Z" fill="white" style="fill:white;fill:white;fill-opacity:1;"/>
86
+ <path d="M21.2906 3.71853C19.1053 1.42773 16.0222 0 12.6072 0C9.19222 0 6.1091 1.42773 3.92377 3.71853H21.2906Z" fill="white" style="fill:white;fill:white;fill-opacity:1;"/>
87
+ <path d="M21.2908 13.5206H0.703125C0.870337 14.839 1.25107 16.0905 1.8093 17.2392H21.2908V13.5206Z" fill="white" style="fill:white;fill:white;fill-opacity:1;"/>
88
+ <path d="M23.4053 6.76083C23.9636 7.90945 24.3443 9.16097 24.5115 10.4794H29.2912V6.76083H23.4053Z" fill="white" style="fill:white;fill:white;fill-opacity:1;"/>
89
+ <path d="M29.291 20.2815H21.2906V24H29.291V20.2815Z" fill="white" style="fill:white;fill:white;fill-opacity:1;"/>
90
+ <path d="M23.4053 17.2392H29.2912V13.5206H24.5115C24.3443 14.839 23.9636 16.0905 23.4053 17.2392Z" fill="white" style="fill:white;fill:white;fill-opacity:1;"/>
91
+ <path d="M29.291 0H21.2906V3.71853H29.291V0Z" fill="white" style="fill:white;fill:white;fill-opacity:1;"/>
92
+ <path d="M24.5113 10.4785C24.3441 9.16015 23.9634 7.90863 23.4052 6.76002C22.8598 5.63712 22.1434 4.61199 21.2906 3.71805V20.281C22.1434 19.3871 22.8585 18.3619 23.4052 17.2391C23.9634 16.0904 24.3441 14.8389 24.5113 13.5205C24.5744 13.0227 24.6065 12.5147 24.6065 11.9989C24.6065 11.4831 24.5744 10.9763 24.5113 10.4773V10.4785Z" fill="#1D58FC" style="fill:#1D58FC;fill:color(display-p3 0.1137 0.3451 0.9882);fill-opacity:1;"/>
93
+ </g>
94
+ </g>
95
+ </svg>
96
+ </div>
97
+
98
+ <div class="outer-container">
99
+ <div class="inner-container">
100
+ <h1>${title}</h1>
101
+
102
+ <p>
103
+ ${context}
104
+ </p>
105
+ </div>
106
+ </div>
107
+ </body>
108
+ </html>
109
+ `;
110
+ exports.erroredLoginPage = erroredLoginPage;
111
+ //# sourceMappingURL=error-login-page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-login-page.js","sourceRoot":"","sources":["../../../../../src/services/affinidi/auth/providers/error-login-page.ts"],"names":[],"mappings":";;;AAAO,MAAM,gBAAgB,GAAG,CAAC,KAAK,GAAG,OAAO,EAAE,OAAO,GAAG,mBAAmB,EAAE,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAgGxE,KAAK;;;UAGP,OAAO;;;;;;CAMhB,CAAA;AAzGY,QAAA,gBAAgB,oBAyG5B"}
@@ -0,0 +1,3 @@
1
+ export { OryAuthenticatorPKCE } from './ory-pkce';
2
+ export { OryAuthenticator } from './ory';
3
+ export { AuthProvider, AuthProviderConfig } from './types';
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OryAuthenticator = exports.OryAuthenticatorPKCE = void 0;
4
+ var ory_pkce_1 = require("./ory-pkce");
5
+ Object.defineProperty(exports, "OryAuthenticatorPKCE", { enumerable: true, get: function () { return ory_pkce_1.OryAuthenticatorPKCE; } });
6
+ var ory_1 = require("./ory");
7
+ Object.defineProperty(exports, "OryAuthenticator", { enumerable: true, get: function () { return ory_1.OryAuthenticator; } });
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/affinidi/auth/providers/index.ts"],"names":[],"mappings":";;;AAAA,uCAAiD;AAAxC,gHAAA,oBAAoB,OAAA;AAC7B,6BAAwC;AAA/B,uGAAA,gBAAgB,OAAA"}
@@ -0,0 +1,47 @@
1
+ import { AuthProvider, AuthProviderConfig } from './types';
2
+ export declare class OryAuthenticatorPKCE implements AuthProvider {
3
+ private readonly clientId;
4
+ private readonly host;
5
+ private readonly logger;
6
+ private readonly pConfig;
7
+ private request;
8
+ constructor({ clientId, host, logger }: AuthProviderConfig);
9
+ private exchangeForToken;
10
+ /**
11
+ * Handles callback endpoint call.
12
+ * Covers 2 use cases:
13
+ * - user `Allow` request to access the personal data
14
+ * - user `Decline` request to access the personal data
15
+ * @param params
16
+ * @private
17
+ */
18
+ private endpointHandler;
19
+ /**
20
+ * Handles `Allow` case when the user accepts
21
+ * the access to the personal data.
22
+ * This is the example of accept endpoint call:
23
+ * http://127.0.0.1:2777/callback?code=ory_ac_1234&scope=openid+offline_access&state=1234
24
+ * @param params
25
+ * @private
26
+ */
27
+ private handleAllow;
28
+ /**
29
+ * Handles `Decline` case when the user rejects
30
+ * the access to the personal data
31
+ * This is the example of the reject endpoint call:
32
+ * http://127.0.0.1:2777/callback?error=access_denied&error_description=request_declined'
33
+ * @param params
34
+ * @private
35
+ */
36
+ private handleDecline;
37
+ private generateErrorMessages;
38
+ private generateAuthRequest;
39
+ authenticate(): Promise<string>;
40
+ logout(): Promise<void>;
41
+ private static generateRandomString;
42
+ private static createPKCE;
43
+ private static createState;
44
+ private static sha256;
45
+ private static safeBase64UrlEncode;
46
+ private shutDownServer;
47
+ }