@affinidi/cli 2.6.1 → 2.7.0

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.
@@ -12,9 +12,12 @@ const prompts_2 = require("../../common/prompts");
12
12
  const validators_1 = require("../../common/validators");
13
13
  const app_1 = require("../../helpers/app");
14
14
  const degit_1 = require("../../helpers/degit");
15
+ const token_1 = require("../../helpers/token");
15
16
  const vp_adapter_1 = require("../../services/affinidi/vp-adapter");
16
17
  const auth0_1 = require("../../services/generator/auth0");
17
18
  const env_configurer_1 = require("../../services/generator/env-configurer");
19
+ const uuid_1 = require("uuid");
20
+ const bff_service_1 = require("../../services/affinidi/bff-service");
18
21
  const APPS_INFORMATION_GITHUB_LOCATION = 'samples/apps.json';
19
22
  const APPS_GITHUB_LOCATION = 'affinidi/reference-app-affinidi-vault/samples';
20
23
  class GenerateApp extends common_1.BaseCommand {
@@ -41,23 +44,29 @@ class GenerateApp extends common_1.BaseCommand {
41
44
  }
42
45
  const provider = flags.provider ??
43
46
  (await (0, prompts_1.select)({
44
- message: 'Select the provider for the sample app.',
47
+ message: 'Select the provider for the sample app',
45
48
  choices: GenerateApp.providers.map((value) => ({
46
49
  name: value,
47
50
  value,
48
51
  })),
49
52
  }));
53
+ // Make nextjs first option
54
+ const frameworks = GenerateApp.frameworks.get(provider);
55
+ const nextJsIndex = frameworks.indexOf('nextjs');
56
+ if (nextJsIndex > 0) {
57
+ frameworks.unshift(frameworks.splice(nextJsIndex, 1)[0]);
58
+ }
50
59
  const framework = flags.framework ??
51
60
  (await (0, prompts_1.select)({
52
- message: 'Select the framework for the sample app.',
53
- choices: GenerateApp.frameworks.get(provider).map((value) => ({
61
+ message: 'Select the framework for the sample app',
62
+ choices: frameworks.map((value) => ({
54
63
  name: value,
55
64
  value,
56
65
  })),
57
66
  }));
58
67
  const library = flags.library ??
59
68
  (await (0, prompts_1.select)({
60
- message: 'Select the library for the sample app.',
69
+ message: 'Select the library for the sample app',
61
70
  choices: GenerateApp.libraries.get(`${provider}-${framework}`).map((value) => ({
62
71
  name: value,
63
72
  value,
@@ -77,12 +86,13 @@ class GenerateApp extends common_1.BaseCommand {
77
86
  const appName = (0, app_1.getAppName)(framework, provider, library);
78
87
  core_1.ux.action.start('Generating sample app');
79
88
  await (0, degit_1.cloneWithDegit)(`${APPS_GITHUB_LOCATION}/${appName}`, validatedFlags.path, flags.force);
89
+ // await cloneWithDegit(`${APPS_GITHUB_LOCATION}/${appName}#token-metadata`, validatedFlags.path, flags.force)
80
90
  core_1.ux.action.stop('Generated successfully!');
81
91
  if (!flags['no-input']) {
82
- const configure = await (0, prompts_1.confirm)({
83
- message: 'Automatically configure sample app environment?',
92
+ const configureLogin = await (0, prompts_1.confirm)({
93
+ message: 'Automatically configure Affinidi Login?',
84
94
  });
85
- if (configure) {
95
+ if (configureLogin) {
86
96
  core_1.ux.action.start('Fetching available login configurations');
87
97
  const configs = await vp_adapter_1.vpAdapterService.listLoginConfigurations();
88
98
  core_1.ux.action.stop('Fetched successfully!');
@@ -93,7 +103,7 @@ class GenerateApp extends common_1.BaseCommand {
93
103
  },
94
104
  name: `${config.name} [id: ${config.configurationId}]`,
95
105
  }));
96
- choices.push({
106
+ choices.unshift({
97
107
  value: {
98
108
  id: 'new-config',
99
109
  auth: undefined,
@@ -104,48 +114,83 @@ class GenerateApp extends common_1.BaseCommand {
104
114
  message: 'Select a login configuration to use in your sample app',
105
115
  choices,
106
116
  });
107
- let newConfigClientSecret = undefined;
108
117
  // Create a new login config
109
118
  if (selectedConfig.id === 'new-config') {
110
- const newConfigName = (0, validators_1.validateInputLength)(await (0, prompts_1.input)({ message: `Enter a name for the login config` }), validators_1.INPUT_LIMIT);
119
+ const newConfigName = (0, validators_1.validateInputLength)(await (0, prompts_1.input)({
120
+ message: `Enter a name for the login config`,
121
+ default: `sample-login-config-${Math.random().toString(36).slice(2, 7)}`,
122
+ }), validators_1.INPUT_LIMIT);
123
+ core_1.ux.action.start('Creating login configuration');
111
124
  const redirectUri = (0, app_1.getRedirectUri)(GenerateApp.apps, appName);
112
125
  const createLoginConfigInput = {
113
126
  name: newConfigName,
114
127
  redirectUris: [redirectUri],
115
128
  };
116
129
  const createConfigOutput = await vp_adapter_1.vpAdapterService.createLoginConfig(createLoginConfigInput);
117
- this.warn(this.chalk.red.bold('Please save the clientSecret somewhere safe. You will not be able to view it again.'));
130
+ core_1.ux.action.stop('Created successfully!');
118
131
  this.logJson({ loginConfig: createConfigOutput.auth });
132
+ this.warn(this.chalk.yellowBright.bold("\nPlease save the clientSecret somewhere safe. It will be added to the app env's file. You will not be able to view it again.\n"));
119
133
  selectedConfig.id = createConfigOutput.configurationId;
120
134
  selectedConfig.auth = createConfigOutput.auth;
121
- newConfigClientSecret = createConfigOutput.auth.clientSecret;
122
- }
123
- const clientSecret = newConfigClientSecret ??
124
- (0, validators_1.validateInputLength)(await (0, password_1.default)({
125
- message: "What is the login configuration's client secret?",
126
- mask: true,
127
- }), validators_1.INPUT_LIMIT);
128
- if (provider === common_1.RefAppProvider.AFFINIDI) {
129
- core_1.ux.action.start('Configuring sample app');
130
- await (0, env_configurer_1.configureAppEnvironment)(validatedFlags.path, selectedConfig.auth.clientId, clientSecret, selectedConfig.auth.issuer);
131
- core_1.ux.action.stop('Configured successfully!');
132
135
  }
133
- else if (provider === common_1.RefAppProvider.AUTH0) {
136
+ let clientId = selectedConfig.auth.clientId;
137
+ let clientSecret = selectedConfig.auth.clientSecret;
138
+ let issuer = selectedConfig.auth.issuer;
139
+ let connectionName;
140
+ clientSecret ?? (clientSecret = (0, validators_1.validateInputLength)(await (0, password_1.default)({
141
+ message: "What is the login configuration's client secret?",
142
+ mask: true,
143
+ }), validators_1.INPUT_LIMIT));
144
+ if (provider === common_1.RefAppProvider.AUTH0) {
134
145
  const domain = (0, validators_1.validateInputLength)(await (0, prompts_1.input)({ message: 'What is your Auth0 tenant URL?' }), validators_1.INPUT_LIMIT);
135
146
  const accessToken = (0, validators_1.validateInputLength)(await (0, password_1.default)({ message: 'What is your Auth0 access token?' }), validators_1.TOKEN_LIMIT);
136
- core_1.ux.action.start('Creating Auth0 resources and configuring sample app');
137
- const socialConnectionName = `Affinidi-${framework}`;
138
- const { auth0ClientId, auth0ClientSecret, connectionName } = await (0, auth0_1.createAuth0Resources)(accessToken, domain, selectedConfig.auth.clientId, clientSecret, selectedConfig.auth.issuer, socialConnectionName, {
147
+ core_1.ux.action.start('Creating Auth0 resources');
148
+ connectionName = `Affinidi-${framework}`;
149
+ const { auth0ClientId, auth0ClientSecret } = await (0, auth0_1.createAuth0Resources)(accessToken, domain, selectedConfig.auth.clientId, clientSecret, selectedConfig.auth.issuer, connectionName, {
139
150
  callbackUrl: GenerateApp.apps.appName.redirectUris.callbackUrl,
140
151
  logOutUrl: GenerateApp.apps.appName.redirectUris.logOutUrl,
141
152
  webOriginUrl: GenerateApp.apps.appName.redirectUris.webOriginUrl,
142
153
  });
143
- await (0, env_configurer_1.configureAppEnvironment)(validatedFlags.path, auth0ClientId, auth0ClientSecret, domain, connectionName);
144
- core_1.ux.action.stop('Configured successfully!');
154
+ clientId = auth0ClientId;
155
+ clientSecret = auth0ClientSecret;
156
+ issuer = domain;
157
+ core_1.ux.action.stop('Created successfully!');
158
+ }
159
+ const tokenMetadata = (0, app_1.getAppMetadataToken)(GenerateApp.apps, appName);
160
+ let tokenParams;
161
+ if (tokenMetadata) {
162
+ const configureToken = await (0, prompts_1.confirm)({
163
+ message: 'Configure Personal Access Token to enable features like credential issuance and Affinidi Iota Framework?',
164
+ });
165
+ if (configureToken) {
166
+ core_1.ux.action.start('Creating Personal Access Token and assigning app permissions on active project');
167
+ const keypair = (0, token_1.generateKeyPair)((0, uuid_1.v4)(), common_1.SupportedAlgorithms.RS256);
168
+ const jwks = keypair.jwks;
169
+ const tokenName = `sample-app-token-${Math.random().toString(36).slice(2, 7)}`;
170
+ const token = await (0, token_1.createToken)(tokenName, common_1.SupportedAlgorithms.RS256, jwks);
171
+ const promises = [(0, token_1.addPrincipal)(token.id), bff_service_1.bffService.getActiveProject()];
172
+ const [, activeProject] = await Promise.all(promises);
173
+ const projectId = activeProject.id;
174
+ await (0, token_1.updatePolicies)(token.id, projectId, tokenMetadata.policy.actions, [`*:${projectId}:*`]);
175
+ tokenParams = {
176
+ projectId,
177
+ tokenId: token.id,
178
+ privateKey: keypair.privateKey,
179
+ };
180
+ core_1.ux.action.stop('Created successfully!');
181
+ this.logJson(tokenParams);
182
+ this.warn(this.chalk.yellowBright.bold("\nPlease save the privateKey somewhere safe. It will be added to the app env's file. You will not be able to view it again.\n"));
183
+ }
145
184
  }
185
+ await (0, env_configurer_1.configureAppEnvironment)(validatedFlags.path, {
186
+ clientId,
187
+ clientSecret,
188
+ issuer,
189
+ connectionName,
190
+ }, tokenParams);
146
191
  }
147
192
  }
148
- this.log('Please read the generated README for instructions on how to run your sample app');
193
+ this.log('\nPlease read the generated README for instructions on how to run your sample app\n');
149
194
  }
150
195
  catch (err) {
151
196
  if (!err?.oclif)
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/commands/generate/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/commands/generate/app.ts"],"names":[],"mappings":";;;AAAA,0EAAyC;AACzC,+CAA0D;AAC1D,sCAAuC;AACvC,mDAAiD;AACjD,sDAAmB;AACnB,yCAA+E;AAC/E,gEAAuE;AACvE,kDAA+D;AAC/D,wDAAuF;AACvF,2CAO0B;AAC1B,+CAAoD;AACpD,+CAAgG;AAChG,mEAAqE;AACrE,0DAAqE;AACrE,4EAAiF;AACjF,+BAAmC;AAEnC,qEAAgE;AAEhE,MAAM,gCAAgC,GAAG,mBAAmB,CAAA;AAC5D,MAAM,oBAAoB,GAAG,+CAA+C,CAAA;AAE5E,MAAqB,WAAY,SAAQ,oBAA+B;IAkCtE,KAAK,CAAC,IAAI;QACR,WAAW,CAAC,IAAI,GAAG,MAAM,IAAA,aAAO,EAAC,gCAAgC,CAAC,CAAA;QAClE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,IAAA,iCAA2B,EAAC,WAAW,CAAC,IAAI,CAAC,CAAA;QAC1F,WAAW,CAAC,SAAS,GAAG,SAAS,CAAA;QACjC,WAAW,CAAC,UAAU,GAAG,UAAU,CAAA;QACnC,WAAW,CAAC,SAAS,GAAG,SAAS,CAAA;QAEjC,WAAW,CAAC,KAAK,CAAC,QAAQ,GAAG,YAAK,CAAC,MAAM,CAAC;YACxC,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,4CAA4C;YACrD,OAAO,EAAE,SAAS;SACnB,CAAC,CAAA;IACJ,CAAC;IAEM,KAAK,CAAC,GAAG;QACd,IAAI;YACF,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;YAC/C,IAAI,KAAK,CAAC,UAAU,CAAC,EAAE;gBACrB,IAAI,CAAC,KAAK,CAAC,QAAQ;oBAAE,MAAM,IAAI,iBAAQ,CAAC,IAAA,0CAAyB,EAAC,UAAU,CAAC,CAAC,CAAA;gBAC9E,IAAI,CAAC,KAAK,CAAC,SAAS;oBAAE,MAAM,IAAI,iBAAQ,CAAC,IAAA,0CAAyB,EAAC,WAAW,CAAC,CAAC,CAAA;aACjF;YACD,MAAM,QAAQ,GACZ,KAAK,CAAC,QAAQ;gBACd,CAAC,MAAM,IAAA,gBAAM,EAAC;oBACZ,OAAO,EAAE,wCAAwC;oBACjD,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;wBAC7C,IAAI,EAAE,KAAK;wBACX,KAAK;qBACN,CAAC,CAAC;iBACJ,CAAC,CAAC,CAAA;YAEL,2BAA2B;YAC3B,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAA;YACxD,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;YAChD,IAAI,WAAW,GAAG,CAAC,EAAE;gBACnB,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;aACzD;YACD,MAAM,SAAS,GACb,KAAK,CAAC,SAAS;gBACf,CAAC,MAAM,IAAA,gBAAM,EAAC;oBACZ,OAAO,EAAE,yCAAyC;oBAClD,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;wBAClC,IAAI,EAAE,KAAK;wBACX,KAAK;qBACN,CAAC,CAAC;iBACJ,CAAC,CAAC,CAAA;YACL,MAAM,OAAO,GACX,KAAK,CAAC,OAAO;gBACb,CAAC,MAAM,IAAA,gBAAM,EAAC;oBACZ,OAAO,EAAE,uCAAuC;oBAChD,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,QAAQ,IAAI,SAAS,EAAE,CAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;wBAC9E,IAAI,EAAE,KAAK;wBACX,KAAK;qBACN,CAAC,CAAC;iBACJ,CAAC,CAAC,CAAA;YAEL,MAAM,WAAW,GAAG,MAAM,IAAA,kCAAwB,EAAC,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAA;YACnE,WAAW,CAAC,SAAS,GAAG,SAAS,CAAA;YACjC,WAAW,CAAC,QAAQ,GAAG,QAAQ,CAAA;YAC/B,WAAW,CAAC,OAAO,GAAG,OAAO,CAAA;YAE7B,MAAM,MAAM,GAAG,aAAC,CAAC,MAAM,CAAC;gBACtB,IAAI,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,wBAAW,CAAC;gBACjC,SAAS,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,wBAAW,CAAC;gBACtC,QAAQ,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,wBAAW,CAAC;gBACrC,OAAO,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,wBAAW,CAAC;aACrC,CAAC,CAAA;YACF,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;YAChD,MAAM,OAAO,GAAG,IAAA,gBAAU,EAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;YAExD,SAAE,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAA;YAExC,MAAM,IAAA,sBAAc,EAAC,GAAG,oBAAoB,IAAI,OAAO,EAAE,EAAE,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;YAC5F,8GAA8G;YAE9G,SAAE,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;YAEzC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;gBACtB,MAAM,cAAc,GAAG,MAAM,IAAA,iBAAO,EAAC;oBACnC,OAAO,EAAE,yCAAyC;iBACnD,CAAC,CAAA;gBACF,IAAI,cAAc,EAAE;oBAClB,SAAE,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAA;oBAC1D,MAAM,OAAO,GAAG,MAAM,6BAAgB,CAAC,uBAAuB,EAAE,CAAA;oBAChE,SAAE,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;oBACvC,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;wBACtD,KAAK,EAAE;4BACL,EAAE,EAAE,MAAM,CAAC,eAAe;4BAC1B,IAAI,EAAE,MAAM,CAAC,IAAI;yBAClB;wBACD,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,SAAS,MAAM,CAAC,eAAe,GAAG;qBACvD,CAAC,CAAC,CAAA;oBACH,OAAO,CAAC,OAAO,CAAC;wBACd,KAAK,EAAE;4BACL,EAAE,EAAE,YAAY;4BAChB,IAAI,EAAE,SAAS;yBAChB;wBACD,IAAI,EAAE,yBAAyB;qBAChC,CAAC,CAAA;oBACF,MAAM,cAAc,GAAG,MAAM,IAAA,gBAAM,EAAC;wBAClC,OAAO,EAAE,wDAAwD;wBACjE,OAAO;qBACR,CAAC,CAAA;oBACF,4BAA4B;oBAC5B,IAAI,cAAc,CAAC,EAAE,KAAK,YAAY,EAAE;wBACtC,MAAM,aAAa,GAAG,IAAA,gCAAmB,EACvC,MAAM,IAAA,eAAK,EAAC;4BACV,OAAO,EAAE,mCAAmC;4BAC5C,OAAO,EAAE,uBAAuB,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;yBACzE,CAAC,EACF,wBAAW,CACZ,CAAA;wBACD,SAAE,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAA;wBAC/C,MAAM,WAAW,GAAG,IAAA,oBAAc,EAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;wBAC7D,MAAM,sBAAsB,GAAG;4BAC7B,IAAI,EAAE,aAAa;4BACnB,YAAY,EAAE,CAAC,WAAW,CAAC;yBAC5B,CAAA;wBACD,MAAM,kBAAkB,GAAG,MAAM,6BAAgB,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,CAAA;wBAC3F,SAAE,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;wBACvC,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAA;wBACtD,IAAI,CAAC,IAAI,CACP,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAC1B,iIAAiI,CAClI,CACF,CAAA;wBACD,cAAc,CAAC,EAAE,GAAG,kBAAkB,CAAC,eAAe,CAAA;wBACtD,cAAc,CAAC,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAA;qBAC9C;oBAED,IAAI,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAA;oBAC3C,IAAI,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,YAAY,CAAA;oBACnD,IAAI,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAA;oBACvC,IAAI,cAAc,CAAA;oBAElB,YAAY,KAAZ,YAAY,GAAK,IAAA,gCAAmB,EAClC,MAAM,IAAA,kBAAQ,EAAC;wBACb,OAAO,EAAE,kDAAkD;wBAC3D,IAAI,EAAE,IAAI;qBACX,CAAC,EACF,wBAAW,CACZ,EAAA;oBAED,IAAI,QAAQ,KAAK,uBAAc,CAAC,KAAK,EAAE;wBACrC,MAAM,MAAM,GAAG,IAAA,gCAAmB,EAAC,MAAM,IAAA,eAAK,EAAC,EAAE,OAAO,EAAE,gCAAgC,EAAE,CAAC,EAAE,wBAAW,CAAC,CAAA;wBAC3G,MAAM,WAAW,GAAG,IAAA,gCAAmB,EACrC,MAAM,IAAA,kBAAQ,EAAC,EAAE,OAAO,EAAE,kCAAkC,EAAE,CAAC,EAC/D,wBAAW,CACZ,CAAA;wBACD,SAAE,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAA;wBAC3C,cAAc,GAAG,YAAY,SAAS,EAAE,CAAA;wBACxC,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,IAAA,4BAAoB,EACrE,WAAW,EACX,MAAM,EACN,cAAc,CAAC,IAAI,CAAC,QAAQ,EAC5B,YAAY,EACZ,cAAc,CAAC,IAAI,CAAC,MAAM,EAC1B,cAAc,EACd;4BACE,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW;4BAC9D,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,SAAU;4BAC3D,YAAY,EAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,YAAa;yBAClE,CACF,CAAA;wBACD,QAAQ,GAAG,aAAa,CAAA;wBACxB,YAAY,GAAG,iBAAiB,CAAA;wBAChC,MAAM,GAAG,MAAM,CAAA;wBACf,SAAE,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;qBACxC;oBAED,MAAM,aAAa,GAAG,IAAA,yBAAmB,EAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;oBACpE,IAAI,WAAW,CAAA;oBACf,IAAI,aAAa,EAAE;wBACjB,MAAM,cAAc,GAAG,MAAM,IAAA,iBAAO,EAAC;4BACnC,OAAO,EACL,0GAA0G;yBAC7G,CAAC,CAAA;wBACF,IAAI,cAAc,EAAE;4BAClB,SAAE,CAAC,MAAM,CAAC,KAAK,CAAC,gFAAgF,CAAC,CAAA;4BACjG,MAAM,OAAO,GAAG,IAAA,uBAAe,EAAC,IAAA,SAAM,GAAE,EAAE,4BAAmB,CAAC,KAAK,CAAC,CAAA;4BACpE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAwB,CAAA;4BAC7C,MAAM,SAAS,GAAG,oBAAoB,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAA;4BAC9E,MAAM,KAAK,GAAG,MAAM,IAAA,mBAAW,EAAC,SAAS,EAAE,4BAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;4BAC3E,MAAM,QAAQ,GAAG,CAAC,IAAA,oBAAY,EAAC,KAAK,CAAC,EAAE,CAAC,EAAE,wBAAU,CAAC,gBAAgB,EAAE,CAAC,CAAA;4BACxE,MAAM,CAAC,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;4BACrD,MAAM,SAAS,GAAG,aAAc,CAAC,EAAE,CAAA;4BACnC,MAAM,IAAA,sBAAc,EAAC,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,CAAA;4BAC7F,WAAW,GAAG;gCACZ,SAAS;gCACT,OAAO,EAAE,KAAK,CAAC,EAAE;gCACjB,UAAU,EAAE,OAAO,CAAC,UAAoB;6BACzC,CAAA;4BACD,SAAE,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;4BACvC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;4BACzB,IAAI,CAAC,IAAI,CACP,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAC1B,+HAA+H,CAChI,CACF,CAAA;yBACF;qBACF;oBACD,MAAM,IAAA,wCAAuB,EAC3B,cAAc,CAAC,IAAI,EACnB;wBACE,QAAQ;wBACR,YAAY;wBACZ,MAAM;wBACN,cAAc;qBACf,EACD,WAAW,CACZ,CAAA;iBACF;aACF;YACD,IAAI,CAAC,GAAG,CAAC,qFAAqF,CAAC,CAAA;SAChG;QAAC,OAAO,GAAQ,EAAE;YACjB,IAAI,CAAC,GAAG,EAAE,KAAK;gBAAE,MAAM,IAAI,iBAAQ,CAAC,8CAA8C,CAAC,CAAA;;gBAC9E,MAAM,IAAI,iBAAQ,CAAC,GAAG,CAAC,CAAA;SAC7B;IACH,CAAC;;AA5PH,8BA6PC;AA3PQ,qBAAS,GAAa,EAAE,CAAA;AAGxB,mBAAO,GAAG,qEAAqE,CAAA;AAC/E,oBAAQ,GAAG;IAChB,qCAAqC;IACrC,0EAA0E;IAC1E,uGAAuG;CACxG,CAAA;AAEM,iBAAK,GAAG;IACb,QAAQ,EAAE,YAAK,CAAC,MAAM,CAAC;QACrB,IAAI,EAAE,GAAG;QACT,OAAO,EAAE,4CAA4C;KACtD,CAAC;IACF,SAAS,EAAE,YAAK,CAAC,MAAM,CAAC;QACtB,IAAI,EAAE,GAAG;QACT,OAAO,EAAE,8BAA8B;KACxC,CAAC;IACF,OAAO,EAAE,YAAK,CAAC,MAAM,CAAC;QACpB,IAAI,EAAE,GAAG;QACT,OAAO,EAAE,4BAA4B;KACtC,CAAC;IACF,IAAI,EAAE,YAAK,CAAC,MAAM,CAAC;QACjB,IAAI,EAAE,GAAG;QACT,OAAO,EAAE,kEAAkE;KAC5E,CAAC;IACF,KAAK,EAAE,YAAK,CAAC,OAAO,CAAC;QACnB,OAAO,EAAE,0CAA0C;KACpD,CAAC;CACH,CAAA"}
@@ -14,8 +14,4 @@ export declare class CreateToken extends BaseCommand<typeof CreateToken> {
14
14
  };
15
15
  run(): Promise<TokenDto>;
16
16
  private validateFlags;
17
- private createToken;
18
- private generateKeyPair;
19
- private addPrincipal;
20
- private updatePolicies;
21
17
  }
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CreateToken = void 0;
4
4
  const promises_1 = require("fs/promises");
5
- const node_crypto_1 = require("node:crypto");
6
5
  const prompts_1 = require("@inquirer/prompts");
7
6
  const core_1 = require("@oclif/core");
8
7
  const uuid_1 = require("uuid");
@@ -12,7 +11,7 @@ const prompts_2 = require("../../common/prompts");
12
11
  const validators_1 = require("../../common/validators");
13
12
  const jwk_1 = require("../../helpers/jwk");
14
13
  const bff_service_1 = require("../../services/affinidi/bff-service");
15
- const iam_1 = require("../../services/affinidi/iam");
14
+ const token_1 = require("../../helpers/token");
16
15
  const flagsSchema = zod_1.z
17
16
  .object({
18
17
  name: zod_1.z.string().max(validators_1.INPUT_LIMIT),
@@ -42,7 +41,7 @@ class CreateToken extends common_1.BaseCommand {
42
41
  let keypair, jwks;
43
42
  const kid = validatedFlags['key-id'] ?? (0, uuid_1.v4)();
44
43
  if (validatedFlags['auto-generate-key']) {
45
- keypair = this.generateKeyPair(kid, validatedFlags.algorithm, validatedFlags.passphrase);
44
+ keypair = (0, token_1.generateKeyPair)(kid, validatedFlags.algorithm, validatedFlags.passphrase);
46
45
  jwks = keypair.jwks;
47
46
  }
48
47
  else {
@@ -61,19 +60,19 @@ class CreateToken extends common_1.BaseCommand {
61
60
  ],
62
61
  };
63
62
  }
64
- const token = await this.createToken(validatedFlags.name, validatedFlags.algorithm, jwks, validatedFlags['key-id']);
63
+ const token = await (0, token_1.createToken)(validatedFlags.name, validatedFlags.algorithm, jwks, validatedFlags['key-id']);
65
64
  core_1.ux.action.stop('Created successfully!');
66
65
  let projectId;
67
66
  if (validatedFlags['with-permissions']) {
68
67
  core_1.ux.action.start('Adding token to active project');
69
- const promises = [this.addPrincipal(token.id), bff_service_1.bffService.getActiveProject()];
68
+ const promises = [(0, token_1.addPrincipal)(token.id), bff_service_1.bffService.getActiveProject()];
70
69
  const [, activeProject] = await Promise.all(promises);
71
70
  projectId = activeProject.id;
72
71
  core_1.ux.action.stop('Added successfully!');
73
72
  core_1.ux.action.start('Granting permissions to token');
74
73
  const actions = validatedFlags.actions ? validatedFlags.actions.split(' ') : ['*'];
75
74
  const resources = validatedFlags.actions ? validatedFlags.actions.split(' ') : ['*'];
76
- await this.updatePolicies(token.id, projectId, actions, resources);
75
+ await (0, token_1.updatePolicies)(token.id, projectId, actions, resources);
77
76
  core_1.ux.action.stop('Granted successfully!');
78
77
  }
79
78
  if (!this.jsonEnabled()) {
@@ -131,80 +130,6 @@ class CreateToken extends common_1.BaseCommand {
131
130
  }
132
131
  return flagsSchema.parse(promptFlags);
133
132
  }
134
- async createToken(name, algorithm, jwks, keyId) {
135
- let token = await iam_1.iamService.createToken({
136
- name,
137
- authenticationMethod: {
138
- type: 'PRIVATE_KEY',
139
- signingAlgorithm: algorithm,
140
- publicKeyInfo: {
141
- jwks,
142
- },
143
- },
144
- });
145
- // If keyId was not provided it means that a randomly generated uuid was assigned and we should change it to the tokenId
146
- if (!keyId) {
147
- jwks.keys[0].kid = token.id;
148
- token = await iam_1.iamService.updateToken(token.id, {
149
- name,
150
- authenticationMethod: {
151
- type: 'PRIVATE_KEY',
152
- signingAlgorithm: algorithm,
153
- publicKeyInfo: {
154
- jwks,
155
- },
156
- },
157
- });
158
- }
159
- return token;
160
- }
161
- generateKeyPair(keyId, algorithm, passphrase) {
162
- const { publicKey, privateKey } = (0, node_crypto_1.generateKeyPairSync)('rsa', { modulusLength: 4096 });
163
- const publicKeyPem = publicKey.export({ format: 'pem', type: 'spki' });
164
- const exportOptions = {
165
- format: 'pem',
166
- type: 'pkcs8',
167
- };
168
- if (passphrase) {
169
- exportOptions.cipher = 'aes-256-cbc';
170
- exportOptions.passphrase = passphrase;
171
- }
172
- const privateKeyPem = privateKey.export(exportOptions);
173
- const publicKeyJwk = publicKey.export({ format: 'jwk' });
174
- const jwks = {
175
- keys: [
176
- {
177
- use: 'sig',
178
- kid: keyId,
179
- alg: algorithm,
180
- ...publicKeyJwk,
181
- },
182
- ],
183
- };
184
- return { publicKey: publicKeyPem, privateKey: privateKeyPem, jwks };
185
- }
186
- async addPrincipal(tokenId) {
187
- await iam_1.iamService.addPrincipalToProject({
188
- principalId: tokenId,
189
- principalType: 'token',
190
- });
191
- }
192
- async updatePolicies(tokenId, activeProjectId, actions, resources) {
193
- const policiesData = {
194
- version: '2022-12-15',
195
- statement: [
196
- {
197
- principal: [`ari:iam::${activeProjectId}:token/${tokenId}`],
198
- action: actions,
199
- resource: resources,
200
- effect: 'Allow',
201
- },
202
- ],
203
- };
204
- const validatedPolicies = validators_1.policiesDataSchema.parse(policiesData);
205
- const result = await iam_1.iamService.updatePolicies(tokenId, 'token', validatedPolicies);
206
- return result;
207
- }
208
133
  }
209
134
  exports.CreateToken = CreateToken;
210
135
  CreateToken.summary = 'Creates a Personal Access Token (PAT)';
@@ -1 +1 @@
1
- {"version":3,"file":"create-token.js","sourceRoot":"","sources":["../../../src/commands/token/create-token.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-token.js","sourceRoot":"","sources":["../../../src/commands/token/create-token.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,38 @@
1
1
  export type AppsInformation = {
2
2
  [key: string]: {
3
- [innerKey: string]: {
4
- [innermostKey: string]: string;
3
+ redirectUris: {
4
+ callbackUrl: string;
5
+ logOutUrl?: string;
6
+ webOriginUrl?: string;
7
+ };
8
+ metadata: {
9
+ name: string;
10
+ description: string;
11
+ features?: string[];
12
+ idp: {
13
+ name: string;
14
+ link: string;
15
+ };
16
+ framework: {
17
+ name: string;
18
+ icon: string;
19
+ link: string;
20
+ };
21
+ language: {
22
+ name: string;
23
+ icon: string;
24
+ link: string;
25
+ };
26
+ library: {
27
+ name: string;
28
+ icon: string;
29
+ link: string;
30
+ };
31
+ token?: {
32
+ policy: {
33
+ actions: string[];
34
+ };
35
+ };
5
36
  };
6
37
  };
7
38
  };
@@ -17,3 +48,8 @@ export declare function getSupportedAppsInformation(apps: AppsInformation): {
17
48
  libraries: Map<string, string[]>;
18
49
  };
19
50
  export declare function getRedirectUri(apps: AppsInformation, appName: string): string;
51
+ export declare function getAppMetadataToken(apps: AppsInformation, appName: string): {
52
+ policy: {
53
+ actions: string[];
54
+ };
55
+ } | undefined;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getRedirectUri = exports.getSupportedAppsInformation = exports.getSupportedLibraries = exports.getSupportedFrameworks = exports.getSupportedProviders = exports.getSupportedSampleApps = exports.getApps = exports.getAppName = void 0;
3
+ exports.getAppMetadataToken = exports.getRedirectUri = exports.getSupportedAppsInformation = exports.getSupportedLibraries = exports.getSupportedFrameworks = exports.getSupportedProviders = exports.getSupportedSampleApps = exports.getApps = exports.getAppName = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const errors_1 = require("@oclif/core/lib/errors");
6
6
  const axios_1 = tslib_1.__importDefault(require("axios"));
@@ -10,6 +10,8 @@ function getAppName(framework, provider, library) {
10
10
  exports.getAppName = getAppName;
11
11
  async function getApps(filePath) {
12
12
  const githubFileUrl = `https://api.github.com/repos/affinidi/reference-app-affinidi-vault/contents/${filePath}`;
13
+ // const githubFileUrl =
14
+ // 'https://api.github.com/repos/affinidi/reference-app-affinidi-vault/contents/samples/apps.json?ref=token-metadata'
13
15
  try {
14
16
  const response = await axios_1.default.get(githubFileUrl);
15
17
  if (response.data && response.data.content) {
@@ -101,4 +103,8 @@ function getRedirectUri(apps, appName) {
101
103
  return apps[appName].redirectUris.callbackUrl;
102
104
  }
103
105
  exports.getRedirectUri = getRedirectUri;
106
+ function getAppMetadataToken(apps, appName) {
107
+ return apps[appName].metadata.token;
108
+ }
109
+ exports.getAppMetadataToken = getAppMetadataToken;
104
110
  //# sourceMappingURL=app.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/helpers/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/helpers/app.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /// <reference types="node" />
2
+ import { SupportedAlgorithms } from '../common';
3
+ import { JsonWebKeySetDto } from '../services/affinidi/iam/iam.api';
4
+ export declare function generateKeyPair(keyId: string, algorithm: string, passphrase?: string): {
5
+ publicKey: string | Buffer;
6
+ privateKey: string | Buffer;
7
+ jwks: {
8
+ keys: {
9
+ crv?: string | undefined;
10
+ d?: string | undefined;
11
+ dp?: string | undefined;
12
+ dq?: string | undefined;
13
+ e?: string | undefined;
14
+ k?: string | undefined;
15
+ kty?: string | undefined;
16
+ n?: string | undefined;
17
+ p?: string | undefined;
18
+ q?: string | undefined;
19
+ qi?: string | undefined;
20
+ x?: string | undefined;
21
+ y?: string | undefined;
22
+ use: string;
23
+ kid: string;
24
+ alg: string;
25
+ }[];
26
+ };
27
+ };
28
+ export declare function createToken(name: string, algorithm: SupportedAlgorithms, jwks: JsonWebKeySetDto, keyId?: string): Promise<import("../services/affinidi/iam/iam.api").TokenDto>;
29
+ export declare function addPrincipal(tokenId: string): Promise<void>;
30
+ export declare function updatePolicies(tokenId: string, activeProjectId: string, actions: string[], resources: string[]): Promise<import("../services/affinidi/iam/iam.api").PolicyDto>;
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updatePolicies = exports.addPrincipal = exports.createToken = exports.generateKeyPair = void 0;
4
+ const node_crypto_1 = require("node:crypto");
5
+ const validators_1 = require("../common/validators");
6
+ const index_1 = require("../services/affinidi/iam/index");
7
+ function generateKeyPair(keyId, algorithm, passphrase) {
8
+ const { publicKey, privateKey } = (0, node_crypto_1.generateKeyPairSync)('rsa', { modulusLength: 4096 });
9
+ const publicKeyPem = publicKey.export({ format: 'pem', type: 'spki' });
10
+ const exportOptions = {
11
+ format: 'pem',
12
+ type: 'pkcs8',
13
+ };
14
+ if (passphrase) {
15
+ exportOptions.cipher = 'aes-256-cbc';
16
+ exportOptions.passphrase = passphrase;
17
+ }
18
+ const privateKeyPem = privateKey.export(exportOptions);
19
+ const publicKeyJwk = publicKey.export({ format: 'jwk' });
20
+ const jwks = {
21
+ keys: [
22
+ {
23
+ use: 'sig',
24
+ kid: keyId,
25
+ alg: algorithm,
26
+ ...publicKeyJwk,
27
+ },
28
+ ],
29
+ };
30
+ return { publicKey: publicKeyPem, privateKey: privateKeyPem, jwks };
31
+ }
32
+ exports.generateKeyPair = generateKeyPair;
33
+ async function createToken(name, algorithm, jwks, keyId) {
34
+ let token = await index_1.iamService.createToken({
35
+ name,
36
+ authenticationMethod: {
37
+ type: 'PRIVATE_KEY',
38
+ signingAlgorithm: algorithm,
39
+ publicKeyInfo: {
40
+ jwks,
41
+ },
42
+ },
43
+ });
44
+ // If keyId was not provided it means that a randomly generated uuid was assigned and we should change it to the tokenId
45
+ if (!keyId) {
46
+ jwks.keys[0].kid = token.id;
47
+ token = await index_1.iamService.updateToken(token.id, {
48
+ name,
49
+ authenticationMethod: {
50
+ type: 'PRIVATE_KEY',
51
+ signingAlgorithm: algorithm,
52
+ publicKeyInfo: {
53
+ jwks,
54
+ },
55
+ },
56
+ });
57
+ }
58
+ return token;
59
+ }
60
+ exports.createToken = createToken;
61
+ async function addPrincipal(tokenId) {
62
+ await index_1.iamService.addPrincipalToProject({
63
+ principalId: tokenId,
64
+ principalType: 'token',
65
+ });
66
+ }
67
+ exports.addPrincipal = addPrincipal;
68
+ async function updatePolicies(tokenId, activeProjectId, actions, resources) {
69
+ const policiesData = {
70
+ version: '2022-12-15',
71
+ statement: [
72
+ {
73
+ principal: [`ari:iam::${activeProjectId}:token/${tokenId}`],
74
+ action: actions,
75
+ resource: resources,
76
+ effect: 'Allow',
77
+ },
78
+ ],
79
+ };
80
+ const validatedPolicies = validators_1.policiesDataSchema.parse(policiesData);
81
+ const result = await index_1.iamService.updatePolicies(tokenId, 'token', validatedPolicies);
82
+ return result;
83
+ }
84
+ exports.updatePolicies = updatePolicies;
85
+ //# sourceMappingURL=token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token.js","sourceRoot":"","sources":["../../src/helpers/token.ts"],"names":[],"mappings":";;;AACA,6CAAiD;AAEjD,qDAAyD;AAEzD,0DAA2D;AAE3D,SAAgB,eAAe,CAAC,KAAa,EAAE,SAAiB,EAAE,UAAmB;IACnF,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,IAAA,iCAAmB,EAAC,KAAK,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;IAErF,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;IACtE,MAAM,aAAa,GAA4B;QAC7C,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,OAAO;KACd,CAAA;IACD,IAAI,UAAU,EAAE;QACd,aAAa,CAAC,MAAM,GAAG,aAAa,CAAA;QACpC,aAAa,CAAC,UAAU,GAAG,UAAU,CAAA;KACtC;IACD,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;IACtD,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;IAExD,MAAM,IAAI,GAAG;QACX,IAAI,EAAE;YACJ;gBACE,GAAG,EAAE,KAAK;gBACV,GAAG,EAAE,KAAK;gBACV,GAAG,EAAE,SAAS;gBACd,GAAG,YAAY;aAChB;SACF;KACF,CAAA;IAED,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,CAAA;AACrE,CAAC;AA3BD,0CA2BC;AAEM,KAAK,UAAU,WAAW,CAC/B,IAAY,EACZ,SAA8B,EAC9B,IAAsB,EACtB,KAAc;IAEd,IAAI,KAAK,GAAG,MAAM,kBAAU,CAAC,WAAW,CAAC;QACvC,IAAI;QACJ,oBAAoB,EAAE;YACpB,IAAI,EAAE,aAAa;YACnB,gBAAgB,EAAE,SAAS;YAC3B,aAAa,EAAE;gBACb,IAAI;aACL;SACF;KACF,CAAC,CAAA;IACF,wHAAwH;IACxH,IAAI,CAAC,KAAK,EAAE;QACV,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAA;QAC3B,KAAK,GAAG,MAAM,kBAAU,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE;YAC7C,IAAI;YACJ,oBAAoB,EAAE;gBACpB,IAAI,EAAE,aAAa;gBACnB,gBAAgB,EAAE,SAAS;gBAC3B,aAAa,EAAE;oBACb,IAAI;iBACL;aACF;SACF,CAAC,CAAA;KACH;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AA/BD,kCA+BC;AAEM,KAAK,UAAU,YAAY,CAAC,OAAe;IAChD,MAAM,kBAAU,CAAC,qBAAqB,CAAC;QACrC,WAAW,EAAE,OAAO;QACpB,aAAa,EAAE,OAAO;KACvB,CAAC,CAAA;AACJ,CAAC;AALD,oCAKC;AAEM,KAAK,UAAU,cAAc,CAAC,OAAe,EAAE,eAAuB,EAAE,OAAiB,EAAE,SAAmB;IACnH,MAAM,YAAY,GAAG;QACnB,OAAO,EAAE,YAAY;QACrB,SAAS,EAAE;YACT;gBACE,SAAS,EAAE,CAAC,YAAY,eAAe,UAAU,OAAO,EAAE,CAAC;gBAC3D,MAAM,EAAE,OAAO;gBACf,QAAQ,EAAE,SAAS;gBACnB,MAAM,EAAE,OAAO;aAChB;SACF;KACF,CAAA;IACD,MAAM,iBAAiB,GAAG,+BAAkB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;IAChE,MAAM,MAAM,GAAG,MAAM,kBAAU,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAA;IACnF,OAAO,MAAM,CAAA;AACf,CAAC;AAfD,wCAeC"}
@@ -1 +1,12 @@
1
- export declare function configureAppEnvironment(path: string, clientId: string, clientSecret: string, issuer: string, connectionName?: string): Promise<void>;
1
+ export type LoginParams = {
2
+ clientId: string;
3
+ clientSecret: string;
4
+ issuer: string;
5
+ connectionName?: string;
6
+ };
7
+ export type TokenParams = {
8
+ projectId: string;
9
+ tokenId: string;
10
+ privateKey: string;
11
+ };
12
+ export declare function configureAppEnvironment(path: string, loginParams: LoginParams, tokenParams?: TokenParams): Promise<void>;
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.configureAppEnvironment = void 0;
4
4
  const promises_1 = require("fs/promises");
5
- async function configureAppEnvironment(path, clientId, clientSecret, issuer, connectionName) {
5
+ async function configureAppEnvironment(path, loginParams, tokenParams) {
6
6
  const donEnv = `${path}/.env`;
7
7
  const donEnvExample = `${path}/.env.example`;
8
8
  // if (!pathExistsSync(donEnvExample)) {
@@ -10,11 +10,16 @@ async function configureAppEnvironment(path, clientId, clientSecret, issuer, con
10
10
  // }
11
11
  await (0, promises_1.copyFile)(donEnvExample, donEnv);
12
12
  let envContent = await (0, promises_1.readFile)(donEnv, 'utf-8');
13
- envContent = envContent.replace(/PROVIDER_CLIENT_ID=".*"/, `PROVIDER_CLIENT_ID="${clientId}"`);
14
- envContent = envContent.replace(/PROVIDER_CLIENT_SECRET=".*"/, `PROVIDER_CLIENT_SECRET="${clientSecret}"`);
15
- envContent = envContent.replace(/PROVIDER_ISSUER=".*"/, `PROVIDER_ISSUER="${issuer}"`);
16
- if (connectionName) {
17
- envContent = envContent.replace(/NEXT_PUBLIC_SOCIAL_CONNECTOR_NAME=".*"/, `NEXT_PUBLIC_SOCIAL_CONNECTOR_NAME="${connectionName}"`);
13
+ envContent = envContent.replace(/PROVIDER_CLIENT_ID=".*"/, `PROVIDER_CLIENT_ID="${loginParams.clientId}"`);
14
+ envContent = envContent.replace(/PROVIDER_CLIENT_SECRET=".*"/, `PROVIDER_CLIENT_SECRET="${loginParams.clientSecret}"`);
15
+ envContent = envContent.replace(/PROVIDER_ISSUER=".*"/, `PROVIDER_ISSUER="${loginParams.issuer}"`);
16
+ if (loginParams.connectionName) {
17
+ envContent = envContent.replace(/NEXT_PUBLIC_SOCIAL_CONNECTOR_NAME=".*"/, `NEXT_PUBLIC_SOCIAL_CONNECTOR_NAME="${loginParams.connectionName}"`);
18
+ }
19
+ if (tokenParams) {
20
+ envContent = envContent.replace(/PROJECT_ID=".*"/, `PROJECT_ID="${tokenParams.projectId}"`);
21
+ envContent = envContent.replace(/TOKEN_ID=".*"/, `TOKEN_ID="${tokenParams.tokenId}"`);
22
+ envContent = envContent.replace(/PRIVATE_KEY=".*"/, `PRIVATE_KEY="${tokenParams.privateKey}"`);
18
23
  }
19
24
  await (0, promises_1.writeFile)(donEnv, envContent, 'utf-8');
20
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"env-configurer.js","sourceRoot":"","sources":["../../../src/services/generator/env-configurer.ts"],"names":[],"mappings":";;;AAAA,0CAA2D;AAEpD,KAAK,UAAU,uBAAuB,CAC3C,IAAY,EACZ,QAAgB,EAChB,YAAoB,EACpB,MAAc,EACd,cAAuB;IAEvB,MAAM,MAAM,GAAG,GAAG,IAAI,OAAO,CAAA;IAC7B,MAAM,aAAa,GAAG,GAAG,IAAI,eAAe,CAAA;IAE5C,wCAAwC;IACxC,yFAAyF;IACzF,IAAI;IAEJ,MAAM,IAAA,mBAAQ,EAAC,aAAa,EAAE,MAAM,CAAC,CAAA;IAErC,IAAI,UAAU,GAAG,MAAM,IAAA,mBAAQ,EAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChD,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,yBAAyB,EAAE,uBAAuB,QAAQ,GAAG,CAAC,CAAA;IAC9F,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,6BAA6B,EAAE,2BAA2B,YAAY,GAAG,CAAC,CAAA;IAC1G,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,sBAAsB,EAAE,oBAAoB,MAAM,GAAG,CAAC,CAAA;IAEtF,IAAI,cAAc,EAAE;QAClB,UAAU,GAAG,UAAU,CAAC,OAAO,CAC7B,wCAAwC,EACxC,sCAAsC,cAAc,GAAG,CACxD,CAAA;KACF;IAED,MAAM,IAAA,oBAAS,EAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;AAC9C,CAAC;AA7BD,0DA6BC"}
1
+ {"version":3,"file":"env-configurer.js","sourceRoot":"","sources":["../../../src/services/generator/env-configurer.ts"],"names":[],"mappings":";;;AAAA,0CAA2D;AAepD,KAAK,UAAU,uBAAuB,CAAC,IAAY,EAAE,WAAwB,EAAE,WAAyB;IAC7G,MAAM,MAAM,GAAG,GAAG,IAAI,OAAO,CAAA;IAC7B,MAAM,aAAa,GAAG,GAAG,IAAI,eAAe,CAAA;IAE5C,wCAAwC;IACxC,yFAAyF;IACzF,IAAI;IAEJ,MAAM,IAAA,mBAAQ,EAAC,aAAa,EAAE,MAAM,CAAC,CAAA;IAErC,IAAI,UAAU,GAAG,MAAM,IAAA,mBAAQ,EAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChD,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,yBAAyB,EAAE,uBAAuB,WAAW,CAAC,QAAQ,GAAG,CAAC,CAAA;IAC1G,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,6BAA6B,EAAE,2BAA2B,WAAW,CAAC,YAAY,GAAG,CAAC,CAAA;IACtH,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,sBAAsB,EAAE,oBAAoB,WAAW,CAAC,MAAM,GAAG,CAAC,CAAA;IAElG,IAAI,WAAW,CAAC,cAAc,EAAE;QAC9B,UAAU,GAAG,UAAU,CAAC,OAAO,CAC7B,wCAAwC,EACxC,sCAAsC,WAAW,CAAC,cAAc,GAAG,CACpE,CAAA;KACF;IAED,IAAI,WAAW,EAAE;QACf,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,iBAAiB,EAAE,eAAe,WAAW,CAAC,SAAS,GAAG,CAAC,CAAA;QAC3F,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,eAAe,EAAE,aAAa,WAAW,CAAC,OAAO,GAAG,CAAC,CAAA;QACrF,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,kBAAkB,EAAE,gBAAgB,WAAW,CAAC,UAAU,GAAG,CAAC,CAAA;KAC/F;IAED,MAAM,IAAA,oBAAS,EAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;AAC9C,CAAC;AA7BD,0DA6BC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@affinidi/cli",
3
- "version": "2.6.1",
3
+ "version": "2.7.0",
4
4
  "description": "Affinidi CLI",
5
5
  "author": "affinidi.com",
6
6
  "license": "Apache-2.0",
@@ -47,15 +47,15 @@
47
47
  "@inquirer/password": "^1.1.11",
48
48
  "@inquirer/prompts": "^3.1.1",
49
49
  "@inquirer/select": "^1.3.1",
50
- "@oclif/core": "^2.13.0",
50
+ "@oclif/core": "^2.15.0",
51
51
  "@oclif/plugin-autocomplete": "^2.3.6",
52
52
  "@oclif/plugin-commands": "^2.2.25",
53
53
  "@oclif/plugin-help": "^5.2.18",
54
54
  "@oclif/plugin-not-found": "^2.4.1",
55
55
  "@oclif/plugin-search": "^0.0.22",
56
- "@oclif/plugin-warn-if-update-available": "^2.0.49",
56
+ "@oclif/plugin-warn-if-update-available": "^2.1.1",
57
57
  "@postman/node-keytar": "^7.9.3",
58
- "axios": "^1.4.0",
58
+ "axios": "^1.7.2",
59
59
  "chalk": "^4.1.2",
60
60
  "conf": "^10.2.0",
61
61
  "degit": "^2.8.4",