@affinidi/cli 2.0.0 → 2.2.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.
package/README.md CHANGED
@@ -250,16 +250,16 @@ To check what is the current active project use the command [`affinidi project g
250
250
 
251
251
  To switch the active project use the command [`affinidi project select-project`](#affinidi-project-select-project)
252
252
 
253
- When you authenticate to Affinidi, the first project is set as your active one by default. You can specify which project you want to be active with a flag `affinidi start --project-id <uuid>`
253
+ When you authenticate to Affinidi, the first project is set as your active one by default.
254
254
 
255
255
  ### Session and configuration files
256
256
 
257
- When you authenticate to Affinidi with affinidi start the CLI will create a folder with a credentials file in your home directory.
257
+ When you authenticate to Affinidi with `affinidi start` the CLI will store your current session in OS Keychain (on macOS the passwords are managed by the Keychain, on Linux they are managed by the Secret Service API/libsecret, and on Windows they are managed by Credential Vault).
258
258
 
259
+ NOTE: If system keychain is not available, the CLI will create a folder with a credentials file in your home directory.
259
260
  `~/.affinidi/credentials-v2.json` - Stores your current session credentials. Keep it secret as this allows you to call Affinidi services.
260
261
 
261
- When you run affinidi stop your session information is deleted.
262
-
262
+ When you run `affinidi stop` your session information is deleted.
263
263
 
264
264
  ## Support & Feedback
265
265
 
@@ -421,11 +421,13 @@ Generates a reference application that integrates Affinidi Login. Requires git
421
421
 
422
422
  ```
423
423
  USAGE
424
- $ affinidi generate app [--json] [--no-color] [--no-input] [-f <value>] [-a <value>] [-p <value>] [--force]
424
+ $ affinidi generate app [--json] [--no-color] [--no-input] [-a <value>] [-f <value>] [-l <value>] [-p <value>]
425
+ [--force]
425
426
 
426
427
  FLAGS
427
428
  -a, --provider=<value> Authentication provider for the reference app
428
429
  -f, --framework=<value> Framework for the reference app
430
+ -l, --library=<value> Library for the reference app
429
431
  -p, --path=<value> Relative or absolute path where reference application should be cloned into
430
432
  --force Override destination directory if exists
431
433
 
@@ -1128,7 +1130,7 @@ EXAMPLES
1128
1130
  $ affinidi start
1129
1131
  ```
1130
1132
 
1131
- _See code: [dist/commands/start.ts](https://github.com/affinidi/affinidi-cli/blob/v2.0.0-beta.12/dist/commands/start.ts)_
1133
+ _See code: [dist/commands/start.ts](https://github.com/affinidi/affinidi-cli/blob/v2.1.0/dist/commands/start.ts)_
1132
1134
 
1133
1135
  ## `affinidi stop`
1134
1136
 
@@ -1147,7 +1149,7 @@ EXAMPLES
1147
1149
  $ affinidi stop
1148
1150
  ```
1149
1151
 
1150
- _See code: [dist/commands/stop.ts](https://github.com/affinidi/affinidi-cli/blob/v2.0.0-beta.12/dist/commands/stop.ts)_
1152
+ _See code: [dist/commands/stop.ts](https://github.com/affinidi/affinidi-cli/blob/v2.1.0/dist/commands/stop.ts)_
1151
1153
 
1152
1154
  ## `affinidi token create-token`
1153
1155
 
@@ -1282,5 +1284,5 @@ EXAMPLES
1282
1284
  $ affinidi whoami
1283
1285
  ```
1284
1286
 
1285
- _See code: [dist/commands/whoami.ts](https://github.com/affinidi/affinidi-cli/blob/v2.0.0-beta.12/dist/commands/whoami.ts)_
1287
+ _See code: [dist/commands/whoami.ts](https://github.com/affinidi/affinidi-cli/blob/v2.1.0/dist/commands/whoami.ts)_
1286
1288
  <!-- commandsstop -->
@@ -1,14 +1,16 @@
1
1
  import { BaseCommand } from '../../common';
2
+ import { AppsInformation } from '../../helpers/app';
2
3
  export default class GenerateApp extends BaseCommand<typeof GenerateApp> {
3
- static apps: any;
4
+ static apps: AppsInformation;
4
5
  static providers: string[];
5
- static frameworks: string[];
6
+ static frameworks: Map<string, string[]>;
6
7
  static libraries: Map<string, string[]>;
7
8
  static summary: string;
8
9
  static examples: string[];
9
10
  static flags: {
10
- framework: import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
11
11
  provider: import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
12
+ framework: import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
13
+ library: import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
12
14
  path: import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
13
15
  force: import("@oclif/core/lib/interfaces/parser").BooleanFlag<boolean>;
14
16
  };
@@ -24,11 +24,6 @@ class GenerateApp extends common_1.BaseCommand {
24
24
  GenerateApp.providers = providers;
25
25
  GenerateApp.frameworks = frameworks;
26
26
  GenerateApp.libraries = libraries;
27
- GenerateApp.flags.framework = core_1.Flags.string({
28
- char: 'f',
29
- summary: 'Framework for the reference app',
30
- options: frameworks,
31
- });
32
27
  GenerateApp.flags.provider = core_1.Flags.string({
33
28
  char: 'a',
34
29
  summary: 'Authentication provider for the reference app',
@@ -36,91 +31,132 @@ class GenerateApp extends common_1.BaseCommand {
36
31
  });
37
32
  }
38
33
  async run() {
39
- const { flags } = await this.parse(GenerateApp);
40
- if (flags['no-input']) {
41
- if (!flags.provider)
42
- throw new errors_1.CLIError((0, error_messages_1.giveFlagInputErrorMessage)('provider'));
43
- if (!flags.framework)
44
- throw new errors_1.CLIError((0, error_messages_1.giveFlagInputErrorMessage)('framework'));
45
- }
46
- const provider = flags.provider ??
47
- (await (0, prompts_1.select)({
48
- message: 'Select the provider for the reference app.',
49
- choices: GenerateApp.providers.map((value) => ({
50
- name: value,
51
- value,
52
- })),
53
- }));
54
- const framework = flags.framework ??
55
- (await (0, prompts_1.select)({
56
- message: 'Select the framework for the reference app.',
57
- choices: GenerateApp.frameworks.map((value) => ({
58
- name: value,
59
- value,
60
- })),
61
- }));
62
- const promptFlags = await (0, prompts_2.promptRequiredParameters)(['path'], flags);
63
- promptFlags.framework = framework;
64
- promptFlags.provider = provider;
65
- const schema = zod_1.default.object({
66
- path: zod_1.default.string().max(validators_1.INPUT_LIMIT),
67
- framework: zod_1.default.string().max(validators_1.INPUT_LIMIT),
68
- provider: zod_1.default.string().max(validators_1.INPUT_LIMIT),
69
- });
70
- const validatedFlags = schema.parse(promptFlags);
71
- const appName = (0, app_1.getAppName)(framework, provider, GenerateApp.libraries);
72
- core_1.ux.action.start('Generating reference application');
73
- await (0, degit_1.cloneWithDegit)(`${APPS_GITHUB_LOCATION}/${appName}`, validatedFlags.path, flags.force);
74
- core_1.ux.action.stop('Generated successfully!');
75
- if (!flags['no-input']) {
76
- const configure = await (0, prompts_1.confirm)({
77
- message: 'Automatically configure reference app environment?',
78
- });
79
- if (configure) {
80
- core_1.ux.action.start('Fetching available login configurations');
81
- const configs = await vp_adapter_1.vpAdapterService.listLoginConfigurations();
82
- core_1.ux.action.stop('Fetched successfully!');
83
- const choices = configs.configurations.map((config) => ({
84
- value: {
85
- id: config.configurationId,
86
- auth: config.auth,
87
- },
88
- name: `${config.name} [id: ${config.configurationId}]`,
34
+ try {
35
+ const { flags } = await this.parse(GenerateApp);
36
+ if (flags['no-input']) {
37
+ if (!flags.provider)
38
+ throw new errors_1.CLIError((0, error_messages_1.giveFlagInputErrorMessage)('provider'));
39
+ if (!flags.framework)
40
+ throw new errors_1.CLIError((0, error_messages_1.giveFlagInputErrorMessage)('framework'));
41
+ }
42
+ const provider = flags.provider ??
43
+ (await (0, prompts_1.select)({
44
+ message: 'Select the provider for the reference app.',
45
+ choices: GenerateApp.providers.map((value) => ({
46
+ name: value,
47
+ value,
48
+ })),
89
49
  }));
90
- const selectedConfig = await (0, prompts_1.select)({
91
- message: 'Select a login configuration to use in your reference application',
92
- choices,
50
+ const framework = flags.framework ??
51
+ (await (0, prompts_1.select)({
52
+ message: 'Select the framework for the reference app.',
53
+ choices: GenerateApp.frameworks.get(provider).map((value) => ({
54
+ name: value,
55
+ value,
56
+ })),
57
+ }));
58
+ const library = flags.library ??
59
+ (await (0, prompts_1.select)({
60
+ message: 'Select the library for the reference app.',
61
+ choices: GenerateApp.libraries.get(`${provider}-${framework}`).map((value) => ({
62
+ name: value,
63
+ value,
64
+ })),
65
+ }));
66
+ const promptFlags = await (0, prompts_2.promptRequiredParameters)(['path'], flags);
67
+ promptFlags.framework = framework;
68
+ promptFlags.provider = provider;
69
+ promptFlags.library = library;
70
+ const schema = zod_1.default.object({
71
+ path: zod_1.default.string().max(validators_1.INPUT_LIMIT),
72
+ framework: zod_1.default.string().max(validators_1.INPUT_LIMIT),
73
+ provider: zod_1.default.string().max(validators_1.INPUT_LIMIT),
74
+ library: zod_1.default.string().max(validators_1.INPUT_LIMIT),
75
+ });
76
+ const validatedFlags = schema.parse(promptFlags);
77
+ const appName = (0, app_1.getAppName)(framework, provider, library);
78
+ core_1.ux.action.start('Generating reference application');
79
+ await (0, degit_1.cloneWithDegit)(`${APPS_GITHUB_LOCATION}/${appName}`, validatedFlags.path, flags.force);
80
+ core_1.ux.action.stop('Generated successfully!');
81
+ if (!flags['no-input']) {
82
+ const configure = await (0, prompts_1.confirm)({
83
+ message: 'Automatically configure reference app environment?',
93
84
  });
94
- const clientSecret = (0, validators_1.validateInputLength)(await (0, password_1.default)({
95
- message: "What is the login configuration's client secret?",
96
- mask: true,
97
- }), validators_1.INPUT_LIMIT);
98
- if (provider === common_1.RefAppProvider.AFFINIDI) {
99
- core_1.ux.action.start('Configuring reference application');
100
- await (0, env_configurer_1.configureAppEnvironment)(validatedFlags.path, selectedConfig.auth.clientId, clientSecret, selectedConfig.auth.issuer);
101
- core_1.ux.action.stop('Configured successfully!');
102
- }
103
- else if (provider === common_1.RefAppProvider.AUTH0) {
104
- const domain = (0, validators_1.validateInputLength)(await (0, prompts_1.input)({ message: 'What is your Auth0 tenant URL?' }), validators_1.INPUT_LIMIT);
105
- const accessToken = (0, validators_1.validateInputLength)(await (0, password_1.default)({ message: 'What is your Auth0 access token?' }), validators_1.TOKEN_LIMIT);
106
- core_1.ux.action.start('Creating Auth0 resources and configuring reference application');
107
- const socialConnectionName = `Affinidi-${framework}`;
108
- const { auth0ClientId, auth0ClientSecret, connectionName } = await (0, auth0_1.createAuth0Resources)(accessToken, domain, selectedConfig.auth.clientId, clientSecret, selectedConfig.auth.issuer, socialConnectionName, {
109
- callbackUrl: GenerateApp.apps.appName.redirectUris.callbackUrl,
110
- logOutUrl: GenerateApp.apps.appName.redirectUris.logOutUrl,
111
- webOriginUrl: GenerateApp.apps.appName.redirectUris.webOriginUrl,
85
+ if (configure) {
86
+ core_1.ux.action.start('Fetching available login configurations');
87
+ const configs = await vp_adapter_1.vpAdapterService.listLoginConfigurations();
88
+ core_1.ux.action.stop('Fetched successfully!');
89
+ const choices = configs.configurations.map((config) => ({
90
+ value: {
91
+ id: config.configurationId,
92
+ auth: config.auth,
93
+ },
94
+ name: `${config.name} [id: ${config.configurationId}]`,
95
+ }));
96
+ choices.push({
97
+ value: {
98
+ id: 'new-config',
99
+ auth: undefined,
100
+ },
101
+ name: 'Create new login config',
112
102
  });
113
- await (0, env_configurer_1.configureAppEnvironment)(validatedFlags.path, auth0ClientId, auth0ClientSecret, domain, connectionName);
114
- core_1.ux.action.stop('Configured successfully!');
103
+ const selectedConfig = await (0, prompts_1.select)({
104
+ message: 'Select a login configuration to use in your reference application',
105
+ choices,
106
+ });
107
+ let newConfigClientSecret = undefined;
108
+ // Create a new login config
109
+ 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);
111
+ const redirectUri = (0, app_1.getRedirectUri)(GenerateApp.apps, appName);
112
+ const createLoginConfigInput = {
113
+ name: newConfigName,
114
+ redirectUris: [redirectUri],
115
+ };
116
+ 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.'));
118
+ this.logJson({ loginConfig: createConfigOutput.auth });
119
+ selectedConfig.id = createConfigOutput.configurationId;
120
+ 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 reference application');
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
+ }
133
+ else if (provider === common_1.RefAppProvider.AUTH0) {
134
+ const domain = (0, validators_1.validateInputLength)(await (0, prompts_1.input)({ message: 'What is your Auth0 tenant URL?' }), validators_1.INPUT_LIMIT);
135
+ 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 reference application');
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, {
139
+ callbackUrl: GenerateApp.apps.appName.redirectUris.callbackUrl,
140
+ logOutUrl: GenerateApp.apps.appName.redirectUris.logOutUrl,
141
+ webOriginUrl: GenerateApp.apps.appName.redirectUris.webOriginUrl,
142
+ });
143
+ await (0, env_configurer_1.configureAppEnvironment)(validatedFlags.path, auth0ClientId, auth0ClientSecret, domain, connectionName);
144
+ core_1.ux.action.stop('Configured successfully!');
145
+ }
115
146
  }
116
147
  }
148
+ this.log('Please read the generated README for instructions on how to run your reference application');
149
+ }
150
+ catch (err) {
151
+ if (!err?.oclif)
152
+ throw new errors_1.CLIError('Unexpected error while generating reference app');
153
+ else
154
+ throw new errors_1.CLIError(err);
117
155
  }
118
- this.log('Please read the generated README for instructions on how to run your reference application');
119
156
  }
120
157
  }
121
158
  exports.default = GenerateApp;
122
159
  GenerateApp.providers = [];
123
- GenerateApp.frameworks = [];
124
160
  GenerateApp.summary = 'Generates a reference application that integrates Affinidi Login. Requires git';
125
161
  GenerateApp.examples = [
126
162
  '<%= config.bin %> <%= command.id %>',
@@ -128,13 +164,17 @@ GenerateApp.examples = [
128
164
  '<%= config.bin %> <%= command.id %> --path "../my-app" --framework django --provider affinidi --force',
129
165
  ];
130
166
  GenerateApp.flags = {
167
+ provider: core_1.Flags.string({
168
+ char: 'a',
169
+ summary: 'Authentication provider for the reference app',
170
+ }),
131
171
  framework: core_1.Flags.string({
132
172
  char: 'f',
133
173
  summary: 'Framework for the reference app',
134
174
  }),
135
- provider: core_1.Flags.string({
136
- char: 'a',
137
- summary: 'Authentication provider for the reference app',
175
+ library: core_1.Flags.string({
176
+ char: 'l',
177
+ summary: 'Library for the reference app',
138
178
  }),
139
179
  path: core_1.Flags.string({
140
180
  char: 'p',
@@ -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":"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"}
@@ -1,11 +1,19 @@
1
- export declare function getAppName(framework: string, provider: string, libraries: Map<string, string[]>): string;
2
- export declare function getApps(filePath: string): Promise<object>;
3
- export declare function getSupportedSampleApps(appsInformation: object): string[];
1
+ export type AppsInformation = {
2
+ [key: string]: {
3
+ [innerKey: string]: {
4
+ [innermostKey: string]: string;
5
+ };
6
+ };
7
+ };
8
+ export declare function getAppName(framework: string, provider: string, library: string): string;
9
+ export declare function getApps(filePath: string): Promise<AppsInformation>;
10
+ export declare function getSupportedSampleApps(appsInformation: AppsInformation): string[];
4
11
  export declare function getSupportedProviders(sampleApps: string[]): string[];
5
- export declare function getSupportedFrameworks(sampleApps: string[]): string[];
12
+ export declare function getSupportedFrameworks(sampleApps: string[]): Map<string, string[]>;
6
13
  export declare function getSupportedLibraries(sampleApps: string[]): Map<string, string[]>;
7
- export declare function getSupportedAppsInformation(apps: object): {
14
+ export declare function getSupportedAppsInformation(apps: AppsInformation): {
8
15
  providers: string[];
9
- frameworks: string[];
16
+ frameworks: Map<string, string[]>;
10
17
  libraries: Map<string, string[]>;
11
18
  };
19
+ export declare function getRedirectUri(apps: AppsInformation, appName: string): string;
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getSupportedAppsInformation = exports.getSupportedLibraries = exports.getSupportedFrameworks = exports.getSupportedProviders = exports.getSupportedSampleApps = exports.getApps = exports.getAppName = void 0;
3
+ 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"));
7
- function getAppName(framework, provider, libraries) {
8
- return `${provider}-${framework}-${libraries.get(framework)[0]}`; // Can change this logic once more libraries are supported
7
+ function getAppName(framework, provider, library) {
8
+ return `${provider}-${framework}-${library}`;
9
9
  }
10
10
  exports.getAppName = getAppName;
11
11
  async function getApps(filePath) {
@@ -46,11 +46,17 @@ function getSupportedProviders(sampleApps) {
46
46
  exports.getSupportedProviders = getSupportedProviders;
47
47
  function getSupportedFrameworks(sampleApps) {
48
48
  try {
49
- const frameworks = [];
49
+ const frameworks = new Map();
50
50
  for (const sampleApp of sampleApps) {
51
51
  const nameSplit = sampleApp.split('-');
52
- if (!frameworks.includes(nameSplit[1])) {
53
- frameworks.push(nameSplit[1]);
52
+ const provider = nameSplit[0];
53
+ const frameworkNames = frameworks.get(provider);
54
+ if (!frameworkNames) {
55
+ frameworks.set(provider, [nameSplit[1]]);
56
+ }
57
+ else if (!frameworkNames.includes(nameSplit[1])) {
58
+ frameworkNames.push(nameSplit[1]);
59
+ frameworks.set(provider, frameworkNames);
54
60
  }
55
61
  }
56
62
  return frameworks;
@@ -62,19 +68,21 @@ function getSupportedFrameworks(sampleApps) {
62
68
  exports.getSupportedFrameworks = getSupportedFrameworks;
63
69
  function getSupportedLibraries(sampleApps) {
64
70
  try {
65
- const libaries = new Map();
71
+ const libraries = new Map();
66
72
  for (const sampleApp of sampleApps) {
67
73
  const nameSplit = sampleApp.split('-');
74
+ const provider = nameSplit[0];
68
75
  const framework = nameSplit[1];
69
- const libNames = libaries.get(framework);
76
+ const libNames = libraries.get(`${provider}-${framework}`);
70
77
  if (!libNames) {
71
- libaries.set(framework, [nameSplit[2]]);
78
+ libraries.set(`${provider}-${framework}`, [nameSplit[2]]);
72
79
  }
73
80
  else if (!libNames.includes(nameSplit[2])) {
74
81
  libNames.push(nameSplit[2]);
82
+ libraries.set(`${provider}-${framework}`, libNames);
75
83
  }
76
84
  }
77
- return libaries;
85
+ return libraries;
78
86
  }
79
87
  catch (err) {
80
88
  throw new errors_1.CLIError('Unable to fetch supported libraries');
@@ -89,4 +97,8 @@ function getSupportedAppsInformation(apps) {
89
97
  return { providers, frameworks, libraries };
90
98
  }
91
99
  exports.getSupportedAppsInformation = getSupportedAppsInformation;
100
+ function getRedirectUri(apps, appName) {
101
+ return apps[appName].redirectUris.callbackUrl;
102
+ }
103
+ exports.getRedirectUri = getRedirectUri;
92
104
  //# 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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"}
@@ -2,3 +2,5 @@ import * as jose from 'jose';
2
2
  import { SupportedAlgorithms, SupportedKeyTypes } from '../common';
3
3
  export declare function pemToJWK(publicKeyPEM: string, algorithm: SupportedAlgorithms): Promise<jose.JWK>;
4
4
  export declare function getKeyType(algorithm: SupportedAlgorithms): SupportedKeyTypes;
5
+ export declare function JWKToPem(publicKey: jose.KeyLike): Promise<string>;
6
+ export declare function decryptSessionIdWithPrivateKey(message: string, privateKey: jose.KeyLike): Promise<string>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getKeyType = exports.pemToJWK = void 0;
3
+ exports.decryptSessionIdWithPrivateKey = exports.JWKToPem = exports.getKeyType = exports.pemToJWK = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const errors_1 = require("@oclif/core/lib/errors");
6
6
  const jose = tslib_1.__importStar(require("jose"));
@@ -26,4 +26,24 @@ function getKeyType(algorithm) {
26
26
  }
27
27
  }
28
28
  exports.getKeyType = getKeyType;
29
+ async function JWKToPem(publicKey) {
30
+ try {
31
+ return await jose.exportSPKI(publicKey);
32
+ }
33
+ catch (_) {
34
+ throw new errors_1.CLIError('Unable to convert the provided public key to pem format');
35
+ }
36
+ }
37
+ exports.JWKToPem = JWKToPem;
38
+ async function decryptSessionIdWithPrivateKey(message, privateKey) {
39
+ try {
40
+ const { plaintext } = await jose.compactDecrypt(message, privateKey);
41
+ const decoder = new TextDecoder();
42
+ return decoder.decode(plaintext);
43
+ }
44
+ catch (_) {
45
+ throw new errors_1.CLIError('Unable to decrypt the message with the private-key');
46
+ }
47
+ }
48
+ exports.decryptSessionIdWithPrivateKey = decryptSessionIdWithPrivateKey;
29
49
  //# sourceMappingURL=jwk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"jwk.js","sourceRoot":"","sources":["../../src/helpers/jwk.ts"],"names":[],"mappings":";;;;AAAA,mDAAiD;AACjD,mDAA4B;AAC5B,sCAAkE;AAE3D,KAAK,UAAU,QAAQ,CAAC,YAAoB,EAAE,SAA8B;IACjF,IAAI;QACF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;QAChE,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;KACvC;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,iBAAQ,CAAC,0CAA0C,CAAC,CAAA;KAC/D;AACH,CAAC;AAPD,4BAOC;AAED,SAAgB,UAAU,CAAC,SAA8B;IACvD,QAAQ,SAAS,EAAE;QACjB,KAAK,4BAAmB,CAAC,KAAK,CAAC;QAC/B,KAAK,4BAAmB,CAAC,KAAK;YAC5B,OAAO,0BAAiB,CAAC,EAAE,CAAA;QAC7B,KAAK,4BAAmB,CAAC,KAAK,CAAC;QAC/B,KAAK,4BAAmB,CAAC,KAAK;YAC5B,OAAO,0BAAiB,CAAC,GAAG,CAAA;KAC/B;AACH,CAAC;AATD,gCASC"}
1
+ {"version":3,"file":"jwk.js","sourceRoot":"","sources":["../../src/helpers/jwk.ts"],"names":[],"mappings":";;;;AAAA,mDAAiD;AACjD,mDAA4B;AAC5B,sCAAkE;AAE3D,KAAK,UAAU,QAAQ,CAAC,YAAoB,EAAE,SAA8B;IACjF,IAAI;QACF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;QAChE,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;KACvC;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,iBAAQ,CAAC,0CAA0C,CAAC,CAAA;KAC/D;AACH,CAAC;AAPD,4BAOC;AAED,SAAgB,UAAU,CAAC,SAA8B;IACvD,QAAQ,SAAS,EAAE;QACjB,KAAK,4BAAmB,CAAC,KAAK,CAAC;QAC/B,KAAK,4BAAmB,CAAC,KAAK;YAC5B,OAAO,0BAAiB,CAAC,EAAE,CAAA;QAC7B,KAAK,4BAAmB,CAAC,KAAK,CAAC;QAC/B,KAAK,4BAAmB,CAAC,KAAK;YAC5B,OAAO,0BAAiB,CAAC,GAAG,CAAA;KAC/B;AACH,CAAC;AATD,gCASC;AAEM,KAAK,UAAU,QAAQ,CAAC,SAAuB;IACpD,IAAI;QACF,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;KACxC;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,IAAI,iBAAQ,CAAC,yDAAyD,CAAC,CAAA;KAC9E;AACH,CAAC;AAND,4BAMC;AAEM,KAAK,UAAU,8BAA8B,CAAC,OAAe,EAAE,UAAwB;IAC5F,IAAI;QACF,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;QACpE,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;QACjC,OAAO,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;KACjC;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,IAAI,iBAAQ,CAAC,oDAAoD,CAAC,CAAA;KACzE;AACH,CAAC;AARD,wEAQC"}
@@ -1,8 +1,12 @@
1
+ import { KeyLike } from 'jose';
1
2
  import { AuthProvider, AuthProviderConfig } from './types';
2
3
  export declare class BFFAuthProvider implements AuthProvider {
3
4
  private readonly logger;
4
5
  constructor({ logger }: AuthProviderConfig);
5
- authenticate(): Promise<string>;
6
+ authenticate({ privateKey, publicKey }: {
7
+ privateKey: KeyLike;
8
+ publicKey: KeyLike;
9
+ }): Promise<string>;
6
10
  /**
7
11
  * Handles `Success` case when the user accepts
8
12
  * the access to the personal data.
@@ -8,6 +8,7 @@ const helmet_1 = tslib_1.__importDefault(require("helmet"));
8
8
  const open_1 = tslib_1.__importDefault(require("open"));
9
9
  const tcp_port_used_1 = require("tcp-port-used");
10
10
  const auth_result_page_1 = require("./auth-result-page");
11
+ const jwk_1 = require("../../../helpers/jwk");
11
12
  const credentials_vault_1 = require("../../credentials-vault");
12
13
  const env_config_1 = require("../../env-config");
13
14
  const bff_service_1 = require("../bff-service");
@@ -15,14 +16,14 @@ class BFFAuthProvider {
15
16
  constructor({ logger }) {
16
17
  this.logger = logger;
17
18
  }
18
- async authenticate() {
19
+ async authenticate({ privateKey, publicKey }) {
19
20
  const port = 64287;
20
21
  const isPortInUse = await (0, tcp_port_used_1.check)(env_config_1.config.redirectPort);
21
22
  if (isPortInUse) {
22
23
  throw new Error(`\nšŸ’„ Port [${port}] is unavailable. Affinidi CLI is currently relying on it.\n` +
23
24
  `Please close the process that is using port [${port}] and try again.`);
24
25
  }
25
- const authUrl = await bff_service_1.bffService.getAuthUrl();
26
+ const authUrl = await bff_service_1.bffService.postAuthUrl(await (0, jwk_1.JWKToPem)(publicKey));
26
27
  const state = authUrl.searchParams.get('state');
27
28
  if (!state) {
28
29
  throw new Error('Unexpected error occurred. state parameter missing');
@@ -51,7 +52,7 @@ class BFFAuthProvider {
51
52
  this.shutDownServer(server);
52
53
  }
53
54
  else {
54
- await this.handleSuccess({ resolve, reject, res, timeout, state });
55
+ await this.handleSuccess({ privateKey, resolve, reject, res, timeout, state });
55
56
  this.shutDownServer(server);
56
57
  }
57
58
  });
@@ -71,14 +72,16 @@ class BFFAuthProvider {
71
72
  * @private
72
73
  */
73
74
  async handleSuccess(params) {
74
- const { resolve, reject, res, timeout, state } = params;
75
+ const { privateKey, resolve, reject, res, timeout, state } = params;
75
76
  clearTimeout(timeout);
76
77
  try {
77
78
  this.logger.debug(`Getting sessionId for state: ${JSON.stringify(state)}`);
78
- const sessionId = await bff_service_1.bffService.getSessionId(state);
79
+ const encryptedSessionIdBase64 = await bff_service_1.bffService.getSessionId(state);
80
+ const encryptedSessionId = Buffer.from(encryptedSessionIdBase64, 'base64').toString('utf-8');
81
+ const sessionId = await (0, jwk_1.decryptSessionIdWithPrivateKey)(encryptedSessionId, privateKey);
79
82
  this.logger.debug(`Received session: ${JSON.stringify(sessionId)}`);
80
- credentials_vault_1.credentialsVault.setSessionId(sessionId);
81
- this.logger.debug(`Session stored in vault`);
83
+ await credentials_vault_1.credentialsVault.setSessionId(sessionId);
84
+ this.logger.debug('Session stored in vault');
82
85
  resolve(sessionId);
83
86
  res.end((0, auth_result_page_1.authResultPage)('Logged in successfully', 'Head back to the terminal to continue using Affinidi CLI.<br><br>You can also access our services from the <a href="https://portal.affinidi.com" target="_blank">Affindi Portal</a>'));
84
87
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bff-auth-provider.js","sourceRoot":"","sources":["../../../../src/services/affinidi/auth/bff-auth-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bff-auth-provider.js","sourceRoot":"","sources":["../../../../src/services/affinidi/auth/bff-auth-provider.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,10 @@
1
+ import { KeyLike } from 'jose';
1
2
  import { LoggerAdapter } from '../logger';
2
3
  export interface AuthProvider {
3
- authenticate(): Promise<string>;
4
+ authenticate(keys: {
5
+ privateKey: KeyLike;
6
+ publicKey: KeyLike;
7
+ }): Promise<string>;
4
8
  }
5
9
  export type AuthProviderConfig = {
6
10
  logger: LoggerAdapter;