@affinidi/cli 2.0.0-beta.9 → 2.1.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 +139 -55
- package/dist/commands/generate/app.d.ts +5 -0
- package/dist/commands/generate/app.js +54 -59
- package/dist/commands/generate/app.js.map +1 -1
- package/dist/commands/iam/add-principal.js +8 -9
- package/dist/commands/iam/add-principal.js.map +1 -1
- package/dist/commands/iam/get-policies.js +8 -9
- package/dist/commands/iam/get-policies.js.map +1 -1
- package/dist/commands/iam/list-principals.js +1 -2
- package/dist/commands/iam/list-principals.js.map +1 -1
- package/dist/commands/iam/remove-principal.js +8 -9
- package/dist/commands/iam/remove-principal.js.map +1 -1
- package/dist/commands/iam/update-policies.js +18 -17
- package/dist/commands/iam/update-policies.js.map +1 -1
- package/dist/commands/login/add-user-to-group.d.ts +1 -1
- package/dist/commands/login/add-user-to-group.js +9 -10
- package/dist/commands/login/add-user-to-group.js.map +1 -1
- package/dist/commands/login/create-config.js +13 -14
- package/dist/commands/login/create-config.js.map +1 -1
- package/dist/commands/login/create-group.js +3 -4
- package/dist/commands/login/create-group.js.map +1 -1
- package/dist/commands/login/delete-config.js +5 -6
- package/dist/commands/login/delete-config.js.map +1 -1
- package/dist/commands/login/delete-group.js +5 -6
- package/dist/commands/login/delete-group.js.map +1 -1
- package/dist/commands/login/export-configs.d.ts +10 -0
- package/dist/commands/login/export-configs.js +67 -0
- package/dist/commands/login/export-configs.js.map +1 -0
- package/dist/commands/login/export-groups.d.ts +10 -0
- package/dist/commands/login/export-groups.js +64 -0
- package/dist/commands/login/export-groups.js.map +1 -0
- package/dist/commands/login/get-config.js +5 -6
- package/dist/commands/login/get-config.js.map +1 -1
- package/dist/commands/login/get-group.js +5 -6
- package/dist/commands/login/get-group.js.map +1 -1
- package/dist/commands/login/import-configs.d.ts +12 -0
- package/dist/commands/login/import-configs.js +70 -0
- package/dist/commands/login/import-configs.js.map +1 -0
- package/dist/commands/login/import-groups.d.ts +12 -0
- package/dist/commands/login/import-groups.js +51 -0
- package/dist/commands/login/import-groups.js.map +1 -0
- package/dist/commands/login/list-configs.js +1 -2
- package/dist/commands/login/list-configs.js.map +1 -1
- package/dist/commands/login/list-groups.js +1 -2
- package/dist/commands/login/list-groups.js.map +1 -1
- package/dist/commands/login/list-users-in-group.js +5 -6
- package/dist/commands/login/list-users-in-group.js.map +1 -1
- package/dist/commands/login/remove-user-from-group.d.ts +2 -2
- package/dist/commands/login/remove-user-from-group.js +10 -11
- package/dist/commands/login/remove-user-from-group.js.map +1 -1
- package/dist/commands/login/update-config.js +11 -12
- package/dist/commands/login/update-config.js.map +1 -1
- package/dist/commands/project/create-project.js +8 -9
- package/dist/commands/project/create-project.js.map +1 -1
- package/dist/commands/project/get-active-project.js +5 -6
- package/dist/commands/project/get-active-project.js.map +1 -1
- package/dist/commands/project/list-projects.js +2 -3
- package/dist/commands/project/list-projects.js.map +1 -1
- package/dist/commands/project/select-project.js +13 -20
- package/dist/commands/project/select-project.js.map +1 -1
- package/dist/commands/start.d.ts +0 -3
- package/dist/commands/start.js +17 -22
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/stop.js +5 -4
- package/dist/commands/stop.js.map +1 -1
- package/dist/commands/token/create-token.d.ts +2 -2
- package/dist/commands/token/create-token.js +8 -9
- package/dist/commands/token/create-token.js.map +1 -1
- package/dist/commands/token/delete-token.js +5 -6
- package/dist/commands/token/delete-token.js.map +1 -1
- package/dist/commands/token/get-token.d.ts +2 -2
- package/dist/commands/token/get-token.js +5 -6
- package/dist/commands/token/get-token.js.map +1 -1
- package/dist/commands/token/list-tokens.d.ts +2 -2
- package/dist/commands/token/list-tokens.js +3 -4
- package/dist/commands/token/list-tokens.js.map +1 -1
- package/dist/commands/token/update-token.d.ts +2 -2
- package/dist/commands/token/update-token.js +8 -9
- package/dist/commands/token/update-token.js.map +1 -1
- package/dist/commands/whoami.d.ts +1 -4
- package/dist/commands/whoami.js +5 -22
- package/dist/commands/whoami.js.map +1 -1
- package/dist/common/constants.d.ts +5 -11
- package/dist/common/constants.js +7 -15
- package/dist/common/constants.js.map +1 -1
- package/dist/{helpers/generate-error-message.js → common/error-messages.js} +1 -1
- package/dist/common/error-messages.js.map +1 -0
- package/dist/{helpers/prompt-required-flags.js → common/prompts.js} +5 -5
- package/dist/common/prompts.js.map +1 -0
- package/dist/{helpers/input-length-validation.d.ts → common/validators.d.ts} +1 -1
- package/dist/{helpers/input-length-validation.js → common/validators.js} +4 -4
- package/dist/common/validators.js.map +1 -0
- package/dist/helpers/app.d.ts +11 -1
- package/dist/helpers/app.js +84 -10
- package/dist/helpers/app.js.map +1 -1
- package/dist/helpers/jwk.d.ts +2 -0
- package/dist/helpers/jwk.js +21 -1
- package/dist/helpers/jwk.js.map +1 -1
- package/dist/services/affinidi/auth/auth-result-page.d.ts +1 -0
- package/dist/services/affinidi/auth/{providers/error-login-page.js → auth-result-page.js} +6 -7
- package/dist/services/affinidi/auth/auth-result-page.js.map +1 -0
- package/dist/services/affinidi/auth/bff-auth-provider.d.ts +30 -0
- package/dist/services/affinidi/auth/bff-auth-provider.js +136 -0
- package/dist/services/affinidi/auth/bff-auth-provider.js.map +1 -0
- package/dist/services/affinidi/auth/types.d.ts +11 -0
- package/dist/services/affinidi/auth/types.js.map +1 -0
- package/dist/services/affinidi/bff-service.d.ts +32 -0
- package/dist/services/affinidi/bff-service.js +195 -0
- package/dist/services/affinidi/bff-service.js.map +1 -0
- package/dist/services/affinidi/bff-service.types.d.ts +38 -0
- package/dist/services/affinidi/{config.js → bff-service.types.js} +1 -1
- package/dist/services/affinidi/bff-service.types.js.map +1 -0
- package/dist/services/affinidi/{errors/index.js → errors.js} +18 -9
- package/dist/services/affinidi/errors.js.map +1 -0
- package/dist/services/affinidi/iam/iam.api.d.ts +120 -105
- package/dist/services/affinidi/iam/iam.api.js +39 -118
- package/dist/services/affinidi/iam/iam.api.js.map +1 -1
- package/dist/services/affinidi/iam/index.d.ts +15 -15
- package/dist/services/affinidi/iam/index.js +48 -120
- package/dist/services/affinidi/iam/index.js.map +1 -1
- package/dist/services/affinidi/logger/console-logger-adapter.js.map +1 -0
- package/dist/services/affinidi/logger/index.js.map +1 -0
- package/dist/services/affinidi/logger/logger-adapter.js.map +1 -0
- package/dist/services/affinidi/vp-adapter/index.d.ts +12 -12
- package/dist/services/affinidi/vp-adapter/index.js +49 -70
- package/dist/services/affinidi/vp-adapter/index.js.map +1 -1
- package/dist/services/affinidi/vp-adapter/vp-adapter.api.d.ts +314 -54
- package/dist/services/affinidi/vp-adapter/vp-adapter.api.js +81 -15
- package/dist/services/affinidi/vp-adapter/vp-adapter.api.js.map +1 -1
- package/dist/services/credentials-vault.d.ts +20 -0
- package/dist/services/credentials-vault.js +59 -0
- package/dist/services/credentials-vault.js.map +1 -0
- package/dist/services/env-config.d.ts +35 -0
- package/dist/services/env-config.js +39 -0
- package/dist/services/env-config.js.map +1 -0
- package/package.json +7 -15
- package/dist/helpers/generate-error-message.js.map +0 -1
- package/dist/helpers/index.d.ts +0 -3
- package/dist/helpers/index.js +0 -11
- package/dist/helpers/index.js.map +0 -1
- package/dist/helpers/input-length-validation.js.map +0 -1
- package/dist/helpers/prompt-required-flags.js.map +0 -1
- package/dist/hooks/check/check-version.d.ts +0 -17
- package/dist/hooks/check/check-version.js +0 -24
- package/dist/hooks/check/check-version.js.map +0 -1
- package/dist/services/affinidi/adapters/index.d.ts +0 -1
- package/dist/services/affinidi/adapters/index.js +0 -5
- package/dist/services/affinidi/adapters/index.js.map +0 -1
- package/dist/services/affinidi/adapters/logger/console-logger-adapter.js.map +0 -1
- package/dist/services/affinidi/adapters/logger/index.js.map +0 -1
- package/dist/services/affinidi/adapters/logger/logger-adapter.js.map +0 -1
- package/dist/services/affinidi/auth/index.d.ts +0 -62
- package/dist/services/affinidi/auth/index.js +0 -131
- package/dist/services/affinidi/auth/index.js.map +0 -1
- package/dist/services/affinidi/auth/providers/config.d.ts +0 -15
- package/dist/services/affinidi/auth/providers/config.js +0 -33
- package/dist/services/affinidi/auth/providers/config.js.map +0 -1
- package/dist/services/affinidi/auth/providers/error-login-page.d.ts +0 -1
- package/dist/services/affinidi/auth/providers/error-login-page.js.map +0 -1
- package/dist/services/affinidi/auth/providers/index.d.ts +0 -3
- package/dist/services/affinidi/auth/providers/index.js +0 -8
- package/dist/services/affinidi/auth/providers/index.js.map +0 -1
- package/dist/services/affinidi/auth/providers/ory-pkce.d.ts +0 -47
- package/dist/services/affinidi/auth/providers/ory-pkce.js +0 -216
- package/dist/services/affinidi/auth/providers/ory-pkce.js.map +0 -1
- package/dist/services/affinidi/auth/providers/ory.d.ts +0 -22
- package/dist/services/affinidi/auth/providers/ory.js +0 -154
- package/dist/services/affinidi/auth/providers/ory.js.map +0 -1
- package/dist/services/affinidi/auth/providers/successful-login-page.d.ts +0 -1
- package/dist/services/affinidi/auth/providers/successful-login-page.js +0 -110
- package/dist/services/affinidi/auth/providers/successful-login-page.js.map +0 -1
- package/dist/services/affinidi/auth/providers/types.d.ts +0 -10
- package/dist/services/affinidi/auth/providers/types.js.map +0 -1
- package/dist/services/affinidi/auth/token.d.ts +0 -54
- package/dist/services/affinidi/auth/token.js +0 -121
- package/dist/services/affinidi/auth/token.js.map +0 -1
- package/dist/services/affinidi/config.d.ts +0 -12
- package/dist/services/affinidi/config.js.map +0 -1
- package/dist/services/affinidi/errors/index.js.map +0 -1
- package/dist/services/affinidi/index.d.ts +0 -24
- package/dist/services/affinidi/index.js +0 -52
- package/dist/services/affinidi/index.js.map +0 -1
- package/dist/services/config/index.d.ts +0 -36
- package/dist/services/config/index.js +0 -160
- package/dist/services/config/index.js.map +0 -1
- package/dist/services/index.d.ts +0 -1
- package/dist/services/index.js +0 -6
- package/dist/services/index.js.map +0 -1
- package/dist/services/urls.d.ts +0 -2
- package/dist/services/urls.js +0 -12
- package/dist/services/urls.js.map +0 -1
- /package/dist/{helpers/generate-error-message.d.ts → common/error-messages.d.ts} +0 -0
- /package/dist/{helpers/prompt-required-flags.d.ts → common/prompts.d.ts} +0 -0
- /package/dist/services/affinidi/auth/{providers/types.js → types.js} +0 -0
- /package/dist/services/affinidi/{errors/index.d.ts → errors.d.ts} +0 -0
- /package/dist/services/affinidi/{adapters/logger → logger}/console-logger-adapter.d.ts +0 -0
- /package/dist/services/affinidi/{adapters/logger → logger}/console-logger-adapter.js +0 -0
- /package/dist/services/affinidi/{adapters/logger → logger}/index.d.ts +0 -0
- /package/dist/services/affinidi/{adapters/logger → logger}/index.js +0 -0
- /package/dist/services/affinidi/{adapters/logger → logger}/logger-adapter.d.ts +0 -0
- /package/dist/services/affinidi/{adapters/logger → logger}/logger-adapter.js +0 -0
|
@@ -5,27 +5,26 @@ const promises_1 = require("fs/promises");
|
|
|
5
5
|
const core_1 = require("@oclif/core");
|
|
6
6
|
const zod_1 = require("zod");
|
|
7
7
|
const common_1 = require("../../common");
|
|
8
|
-
const
|
|
9
|
-
const
|
|
8
|
+
const prompts_1 = require("../../common/prompts");
|
|
9
|
+
const validators_1 = require("../../common/validators");
|
|
10
10
|
const jwk_1 = require("../../helpers/jwk");
|
|
11
|
-
const affinidi_1 = require("../../services/affinidi");
|
|
12
11
|
const iam_1 = require("../../services/affinidi/iam");
|
|
13
12
|
class UpdateToken extends common_1.BaseCommand {
|
|
14
13
|
async run() {
|
|
15
14
|
const { flags } = await this.parse(UpdateToken);
|
|
16
|
-
const promptFlags = await (0,
|
|
15
|
+
const promptFlags = await (0, prompts_1.promptRequiredParameters)(['token-id', 'name', 'key-id', 'public-key-file'], flags);
|
|
17
16
|
const schema = zod_1.z.object({
|
|
18
|
-
'token-id': zod_1.z.string().max(
|
|
19
|
-
name: zod_1.z.string().min(8).max(
|
|
17
|
+
'token-id': zod_1.z.string().max(validators_1.INPUT_LIMIT).uuid(),
|
|
18
|
+
name: zod_1.z.string().min(8).max(validators_1.INPUT_LIMIT),
|
|
20
19
|
algorithm: zod_1.z.nativeEnum(common_1.SupportedAlgorithms),
|
|
21
|
-
'key-id': zod_1.z.string().max(
|
|
22
|
-
'public-key-file': zod_1.z.string().max(
|
|
20
|
+
'key-id': zod_1.z.string().max(validators_1.INPUT_LIMIT),
|
|
21
|
+
'public-key-file': zod_1.z.string().max(validators_1.INPUT_LIMIT),
|
|
23
22
|
});
|
|
24
23
|
const validatedFlags = schema.parse(promptFlags);
|
|
25
24
|
core_1.ux.action.start('Updating Personal Access Token');
|
|
26
25
|
const publicKeyPEM = await (0, promises_1.readFile)(validatedFlags['public-key-file'], 'utf8');
|
|
27
26
|
const jwk = await (0, jwk_1.pemToJWK)(publicKeyPEM, validatedFlags.algorithm);
|
|
28
|
-
const out = await iam_1.iamService.
|
|
27
|
+
const out = await iam_1.iamService.updateToken(validatedFlags['token-id'], {
|
|
29
28
|
name: validatedFlags.name,
|
|
30
29
|
authenticationMethod: {
|
|
31
30
|
type: 'PRIVATE_KEY',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-token.js","sourceRoot":"","sources":["../../../src/commands/token/update-token.ts"],"names":[],"mappings":";;;AAAA,0CAAsC;AACtC,sCAAuC;AACvC,6BAAuB;AACvB,yCAA+D;AAC/D,
|
|
1
|
+
{"version":3,"file":"update-token.js","sourceRoot":"","sources":["../../../src/commands/token/update-token.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,5 @@ import { BaseCommand } from '../common';
|
|
|
2
2
|
export declare class WhoAmI extends BaseCommand<typeof WhoAmI> {
|
|
3
3
|
static summary: string;
|
|
4
4
|
static examples: string[];
|
|
5
|
-
run(): Promise<
|
|
6
|
-
principal: import("../services/affinidi/auth/token").Principal;
|
|
7
|
-
sub: string | undefined;
|
|
8
|
-
}>;
|
|
5
|
+
run(): Promise<any>;
|
|
9
6
|
}
|
package/dist/commands/whoami.js
CHANGED
|
@@ -1,37 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.WhoAmI = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
4
|
const core_1 = require("@oclif/core");
|
|
6
|
-
const errors_1 = require("@oclif/core/lib/errors");
|
|
7
|
-
const jsonwebtoken_1 = tslib_1.__importDefault(require("jsonwebtoken"));
|
|
8
5
|
const common_1 = require("../common");
|
|
9
|
-
const
|
|
10
|
-
const errors_2 = require("../services/affinidi/errors");
|
|
6
|
+
const bff_service_1 = require("../services/affinidi/bff-service");
|
|
11
7
|
class WhoAmI extends common_1.BaseCommand {
|
|
12
8
|
async run() {
|
|
13
9
|
core_1.ux.action.start('Retrieving user data');
|
|
14
|
-
const
|
|
15
|
-
const token = affinidi_1.clientSDK.config.getUserToken()?.access_token;
|
|
16
|
-
if (!token || !principal) {
|
|
17
|
-
throw new errors_1.CLIError(errors_2.InvalidOrMissingAuthToken);
|
|
18
|
-
}
|
|
10
|
+
const data = await bff_service_1.bffService.whoami();
|
|
19
11
|
core_1.ux.action.stop('Retrieved successfully!');
|
|
20
|
-
const payload = jsonwebtoken_1.default.decode(token);
|
|
21
|
-
if (!payload || typeof payload !== 'object') {
|
|
22
|
-
throw new errors_1.CLIError(errors_2.InvalidOrMissingAuthToken);
|
|
23
|
-
}
|
|
24
|
-
const { sub, exp } = payload;
|
|
25
|
-
const isJwtExpired = Date.now() >= exp * 1000;
|
|
26
|
-
if (isJwtExpired) {
|
|
27
|
-
throw new errors_1.CLIError(errors_2.AuthTokenExpired);
|
|
28
|
-
}
|
|
29
12
|
if (!this.jsonEnabled())
|
|
30
|
-
this.logJson(
|
|
31
|
-
return
|
|
13
|
+
this.logJson(data);
|
|
14
|
+
return data;
|
|
32
15
|
}
|
|
33
16
|
}
|
|
34
17
|
exports.WhoAmI = WhoAmI;
|
|
35
|
-
WhoAmI.summary = "Returns user's subject and
|
|
18
|
+
WhoAmI.summary = "Returns user's subject, projects, and token details from the current session.";
|
|
36
19
|
WhoAmI.examples = ['<%= config.bin %> <%= command.id %>'];
|
|
37
20
|
//# sourceMappingURL=whoami.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":";;;AAAA,sCAAgC;AAChC,sCAAuC;AACvC,kEAA6D;AAE7D,MAAa,MAAO,SAAQ,oBAA0B;IAI7C,KAAK,CAAC,GAAG;QACd,SAAE,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACvC,MAAM,IAAI,GAAG,MAAM,wBAAU,CAAC,MAAM,EAAE,CAAA;QACtC,SAAE,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;QACzC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAC3C,OAAO,IAAI,CAAA;IACb,CAAC;;AAVH,wBAWC;AAVQ,cAAO,GAAG,+EAA+E,CAAA;AACzF,eAAQ,GAAG,CAAC,qCAAqC,CAAC,CAAA"}
|
|
@@ -9,7 +9,7 @@ export declare enum SupportedKeyTypes {
|
|
|
9
9
|
EC = "EC"
|
|
10
10
|
}
|
|
11
11
|
export declare enum PrincipalTypes {
|
|
12
|
-
TOKEN = "
|
|
12
|
+
TOKEN = "token",
|
|
13
13
|
USER = "user"
|
|
14
14
|
}
|
|
15
15
|
export declare enum IdTokenClaimFormats {
|
|
@@ -20,18 +20,12 @@ export declare enum RefAppProvider {
|
|
|
20
20
|
AFFINIDI = "affinidi",
|
|
21
21
|
AUTH0 = "auth0"
|
|
22
22
|
}
|
|
23
|
-
export declare enum RefAppFramework {
|
|
24
|
-
DJANGO = "django",
|
|
25
|
-
NEXTJS = "nextjs"
|
|
26
|
-
}
|
|
27
|
-
export declare enum RefAppDjangoLibrary {
|
|
28
|
-
AUTHLIB = "authlib"
|
|
29
|
-
}
|
|
30
|
-
export declare enum RefAppNextJsLibrary {
|
|
31
|
-
NEXTAUTHJS = "nextauthjs"
|
|
32
|
-
}
|
|
33
23
|
export interface Auth0Config {
|
|
34
24
|
callbackUrl: string;
|
|
35
25
|
webOriginUrl: string;
|
|
36
26
|
logOutUrl: string;
|
|
37
27
|
}
|
|
28
|
+
export declare enum ServiceResourceIds {
|
|
29
|
+
IAM_PROJECTS = "iam.resource.Projects",
|
|
30
|
+
VPA_CONFIGURATIONS = "vpa.resource.Configurations"
|
|
31
|
+
}
|
package/dist/common/constants.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.ServiceResourceIds = exports.RefAppProvider = exports.IdTokenClaimFormats = exports.PrincipalTypes = exports.SupportedKeyTypes = exports.SupportedAlgorithms = void 0;
|
|
4
4
|
var SupportedAlgorithms;
|
|
5
5
|
(function (SupportedAlgorithms) {
|
|
6
6
|
SupportedAlgorithms["RS256"] = "RS256";
|
|
@@ -15,7 +15,7 @@ var SupportedKeyTypes;
|
|
|
15
15
|
})(SupportedKeyTypes = exports.SupportedKeyTypes || (exports.SupportedKeyTypes = {}));
|
|
16
16
|
var PrincipalTypes;
|
|
17
17
|
(function (PrincipalTypes) {
|
|
18
|
-
PrincipalTypes["TOKEN"] = "
|
|
18
|
+
PrincipalTypes["TOKEN"] = "token";
|
|
19
19
|
PrincipalTypes["USER"] = "user";
|
|
20
20
|
})(PrincipalTypes = exports.PrincipalTypes || (exports.PrincipalTypes = {}));
|
|
21
21
|
var IdTokenClaimFormats;
|
|
@@ -28,17 +28,9 @@ var RefAppProvider;
|
|
|
28
28
|
RefAppProvider["AFFINIDI"] = "affinidi";
|
|
29
29
|
RefAppProvider["AUTH0"] = "auth0";
|
|
30
30
|
})(RefAppProvider = exports.RefAppProvider || (exports.RefAppProvider = {}));
|
|
31
|
-
var
|
|
32
|
-
(function (
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
})(
|
|
36
|
-
var RefAppDjangoLibrary;
|
|
37
|
-
(function (RefAppDjangoLibrary) {
|
|
38
|
-
RefAppDjangoLibrary["AUTHLIB"] = "authlib";
|
|
39
|
-
})(RefAppDjangoLibrary = exports.RefAppDjangoLibrary || (exports.RefAppDjangoLibrary = {}));
|
|
40
|
-
var RefAppNextJsLibrary;
|
|
41
|
-
(function (RefAppNextJsLibrary) {
|
|
42
|
-
RefAppNextJsLibrary["NEXTAUTHJS"] = "nextauthjs";
|
|
43
|
-
})(RefAppNextJsLibrary = exports.RefAppNextJsLibrary || (exports.RefAppNextJsLibrary = {}));
|
|
31
|
+
var ServiceResourceIds;
|
|
32
|
+
(function (ServiceResourceIds) {
|
|
33
|
+
ServiceResourceIds["IAM_PROJECTS"] = "iam.resource.Projects";
|
|
34
|
+
ServiceResourceIds["VPA_CONFIGURATIONS"] = "vpa.resource.Configurations";
|
|
35
|
+
})(ServiceResourceIds = exports.ServiceResourceIds || (exports.ServiceResourceIds = {}));
|
|
44
36
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/common/constants.ts"],"names":[],"mappings":";;;AAAA,IAAY,mBAKX;AALD,WAAY,mBAAmB;IAC7B,sCAAe,CAAA;IACf,sCAAe,CAAA;IACf,sCAAe,CAAA;IACf,sCAAe,CAAA;AACjB,CAAC,EALW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAK9B;AAED,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAC3B,gCAAW,CAAA;IACX,8BAAS,CAAA;AACX,CAAC,EAHW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAG5B;AAED,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/common/constants.ts"],"names":[],"mappings":";;;AAAA,IAAY,mBAKX;AALD,WAAY,mBAAmB;IAC7B,sCAAe,CAAA;IACf,sCAAe,CAAA;IACf,sCAAe,CAAA;IACf,sCAAe,CAAA;AACjB,CAAC,EALW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAK9B;AAED,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAC3B,gCAAW,CAAA;IACX,8BAAS,CAAA;AACX,CAAC,EAHW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAG5B;AAED,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,iCAAe,CAAA;IACf,+BAAa,CAAA;AACf,CAAC,EAHW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAGzB;AAED,IAAY,mBAGX;AAHD,WAAY,mBAAmB;IAC7B,sCAAe,CAAA;IACf,kCAAW,CAAA;AACb,CAAC,EAHW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAG9B;AAED,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,uCAAqB,CAAA;IACrB,iCAAe,CAAA;AACjB,CAAC,EAHW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAGzB;AAQD,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,4DAAsC,CAAA;IACtC,wEAAkD,CAAA;AACpD,CAAC,EAHW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAG7B"}
|
|
@@ -5,4 +5,4 @@ function giveFlagInputErrorMessage(name) {
|
|
|
5
5
|
return `The --no-input flag disables interactive input. Please provide the value for "${name}" through a flag instead.`;
|
|
6
6
|
}
|
|
7
7
|
exports.giveFlagInputErrorMessage = giveFlagInputErrorMessage;
|
|
8
|
-
//# sourceMappingURL=
|
|
8
|
+
//# sourceMappingURL=error-messages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-messages.js","sourceRoot":"","sources":["../../src/common/error-messages.ts"],"names":[],"mappings":";;;AAAA,SAAgB,yBAAyB,CAAC,IAAY;IACpD,OAAO,iFAAiF,IAAI,2BAA2B,CAAA;AACzH,CAAC;AAFD,8DAEC"}
|
|
@@ -3,19 +3,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.promptRequiredParameters = void 0;
|
|
4
4
|
const prompts_1 = require("@inquirer/prompts");
|
|
5
5
|
const errors_1 = require("@oclif/core/lib/errors");
|
|
6
|
-
const
|
|
7
|
-
const
|
|
6
|
+
const error_messages_1 = require("./error-messages");
|
|
7
|
+
const validators_1 = require("./validators");
|
|
8
8
|
async function promptRequiredParameters(requiredFlags, inputFlags) {
|
|
9
9
|
for (const key in Object.keys(requiredFlags)) {
|
|
10
10
|
if (!inputFlags[requiredFlags[key]]) {
|
|
11
11
|
if (inputFlags['no-input']) {
|
|
12
|
-
throw new errors_1.CLIError((0,
|
|
12
|
+
throw new errors_1.CLIError((0, error_messages_1.giveFlagInputErrorMessage)(requiredFlags[key]));
|
|
13
13
|
}
|
|
14
|
-
const validatedInput = (0,
|
|
14
|
+
const validatedInput = (0, validators_1.validateInputLength)(await (0, prompts_1.input)({ message: `Enter the value for ${requiredFlags[key]}` }), validators_1.INPUT_LIMIT);
|
|
15
15
|
inputFlags[requiredFlags[key]] = validatedInput;
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
return inputFlags;
|
|
19
19
|
}
|
|
20
20
|
exports.promptRequiredParameters = promptRequiredParameters;
|
|
21
|
-
//# sourceMappingURL=
|
|
21
|
+
//# sourceMappingURL=prompts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/common/prompts.ts"],"names":[],"mappings":";;;AAAA,+CAAyC;AACzC,mDAAiD;AACjD,qDAA4D;AAC5D,6CAA+D;AAExD,KAAK,UAAU,wBAAwB,CAC5C,aAAuB,EACvB,UAA+B;IAE/B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;QAC5C,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE;YACnC,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE;gBAC1B,MAAM,IAAI,iBAAQ,CAAC,IAAA,0CAAyB,EAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;aAClE;YACD,MAAM,cAAc,GAAG,IAAA,gCAAmB,EACxC,MAAM,IAAA,eAAK,EAAC,EAAE,OAAO,EAAE,uBAAuB,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EACrE,wBAAW,CACZ,CAAA;YACD,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,cAAc,CAAA;SAChD;KACF;IAED,OAAO,UAAU,CAAA;AACnB,CAAC;AAlBD,4DAkBC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export declare const INPUT_LIMIT = 2000;
|
|
2
2
|
export declare const TOKEN_LIMIT = 5000;
|
|
3
3
|
export declare const PRESENTATION_DEFINITION_LIMIT = 5000;
|
|
4
|
-
export declare function validateInputLength(text: string,
|
|
4
|
+
export declare function validateInputLength(text: string, maxLength: number): string;
|
|
@@ -5,11 +5,11 @@ const errors_1 = require("@oclif/core/lib/errors");
|
|
|
5
5
|
exports.INPUT_LIMIT = 2000;
|
|
6
6
|
exports.TOKEN_LIMIT = 5000;
|
|
7
7
|
exports.PRESENTATION_DEFINITION_LIMIT = 5000;
|
|
8
|
-
function validateInputLength(text,
|
|
9
|
-
if (text.length >
|
|
10
|
-
throw new errors_1.CLIError(`String must contain at most ${
|
|
8
|
+
function validateInputLength(text, maxLength) {
|
|
9
|
+
if (text.length > maxLength) {
|
|
10
|
+
throw new errors_1.CLIError(`String must contain at most ${maxLength} character(s)`);
|
|
11
11
|
}
|
|
12
12
|
return text;
|
|
13
13
|
}
|
|
14
14
|
exports.validateInputLength = validateInputLength;
|
|
15
|
-
//# sourceMappingURL=
|
|
15
|
+
//# sourceMappingURL=validators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/common/validators.ts"],"names":[],"mappings":";;;AAAA,mDAAiD;AAEpC,QAAA,WAAW,GAAG,IAAI,CAAA;AAClB,QAAA,WAAW,GAAG,IAAI,CAAA;AAClB,QAAA,6BAA6B,GAAG,IAAI,CAAA;AAEjD,SAAgB,mBAAmB,CAAC,IAAY,EAAE,SAAiB;IACjE,IAAI,IAAI,CAAC,MAAM,GAAG,SAAS,EAAE;QAC3B,MAAM,IAAI,iBAAQ,CAAC,+BAA+B,SAAS,eAAe,CAAC,CAAA;KAC5E;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAND,kDAMC"}
|
package/dist/helpers/app.d.ts
CHANGED
|
@@ -1 +1,11 @@
|
|
|
1
|
-
export declare function getAppName(framework: string, provider: string): string;
|
|
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[];
|
|
4
|
+
export declare function getSupportedProviders(sampleApps: string[]): string[];
|
|
5
|
+
export declare function getSupportedFrameworks(sampleApps: string[]): string[];
|
|
6
|
+
export declare function getSupportedLibraries(sampleApps: string[]): Map<string, string[]>;
|
|
7
|
+
export declare function getSupportedAppsInformation(apps: object): {
|
|
8
|
+
providers: string[];
|
|
9
|
+
frameworks: string[];
|
|
10
|
+
libraries: Map<string, string[]>;
|
|
11
|
+
};
|
package/dist/helpers/app.js
CHANGED
|
@@ -1,18 +1,92 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getAppName = void 0;
|
|
3
|
+
exports.getSupportedAppsInformation = exports.getSupportedLibraries = exports.getSupportedFrameworks = exports.getSupportedProviders = exports.getSupportedSampleApps = exports.getApps = exports.getAppName = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
4
5
|
const errors_1 = require("@oclif/core/lib/errors");
|
|
5
|
-
const
|
|
6
|
-
function getAppName(framework, provider) {
|
|
7
|
-
|
|
8
|
-
|
|
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
|
|
9
|
+
}
|
|
10
|
+
exports.getAppName = getAppName;
|
|
11
|
+
async function getApps(filePath) {
|
|
12
|
+
const githubFileUrl = `https://api.github.com/repos/affinidi/reference-app-affinidi-vault/contents/${filePath}`;
|
|
13
|
+
try {
|
|
14
|
+
const response = await axios_1.default.get(githubFileUrl);
|
|
15
|
+
if (response.data && response.data.content) {
|
|
16
|
+
const content = Buffer.from(response.data.content, 'base64').toString('utf-8');
|
|
17
|
+
const apps = JSON.parse(content);
|
|
18
|
+
return apps;
|
|
19
|
+
}
|
|
20
|
+
throw new errors_1.CLIError('Unable to fetch supported apps');
|
|
9
21
|
}
|
|
10
|
-
|
|
11
|
-
|
|
22
|
+
catch (err) {
|
|
23
|
+
throw new errors_1.CLIError('Unable to fetch supported apps');
|
|
12
24
|
}
|
|
13
|
-
|
|
14
|
-
|
|
25
|
+
}
|
|
26
|
+
exports.getApps = getApps;
|
|
27
|
+
function getSupportedSampleApps(appsInformation) {
|
|
28
|
+
return Object.keys(appsInformation);
|
|
29
|
+
}
|
|
30
|
+
exports.getSupportedSampleApps = getSupportedSampleApps;
|
|
31
|
+
function getSupportedProviders(sampleApps) {
|
|
32
|
+
try {
|
|
33
|
+
const providers = [];
|
|
34
|
+
for (const sampleApp of sampleApps) {
|
|
35
|
+
const nameSplit = sampleApp.split('-');
|
|
36
|
+
if (!providers.includes(nameSplit[0])) {
|
|
37
|
+
providers.push(nameSplit[0]);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return providers;
|
|
41
|
+
}
|
|
42
|
+
catch (err) {
|
|
43
|
+
throw new errors_1.CLIError('Unable to fetch supported providers');
|
|
15
44
|
}
|
|
16
45
|
}
|
|
17
|
-
exports.
|
|
46
|
+
exports.getSupportedProviders = getSupportedProviders;
|
|
47
|
+
function getSupportedFrameworks(sampleApps) {
|
|
48
|
+
try {
|
|
49
|
+
const frameworks = [];
|
|
50
|
+
for (const sampleApp of sampleApps) {
|
|
51
|
+
const nameSplit = sampleApp.split('-');
|
|
52
|
+
if (!frameworks.includes(nameSplit[1])) {
|
|
53
|
+
frameworks.push(nameSplit[1]);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return frameworks;
|
|
57
|
+
}
|
|
58
|
+
catch (err) {
|
|
59
|
+
throw new errors_1.CLIError('Unable to fetch supported frameworks');
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.getSupportedFrameworks = getSupportedFrameworks;
|
|
63
|
+
function getSupportedLibraries(sampleApps) {
|
|
64
|
+
try {
|
|
65
|
+
const libaries = new Map();
|
|
66
|
+
for (const sampleApp of sampleApps) {
|
|
67
|
+
const nameSplit = sampleApp.split('-');
|
|
68
|
+
const framework = nameSplit[1];
|
|
69
|
+
const libNames = libaries.get(framework);
|
|
70
|
+
if (!libNames) {
|
|
71
|
+
libaries.set(framework, [nameSplit[2]]);
|
|
72
|
+
}
|
|
73
|
+
else if (!libNames.includes(nameSplit[2])) {
|
|
74
|
+
libNames.push(nameSplit[2]);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return libaries;
|
|
78
|
+
}
|
|
79
|
+
catch (err) {
|
|
80
|
+
throw new errors_1.CLIError('Unable to fetch supported libraries');
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
exports.getSupportedLibraries = getSupportedLibraries;
|
|
84
|
+
function getSupportedAppsInformation(apps) {
|
|
85
|
+
const sampleApps = getSupportedSampleApps(apps);
|
|
86
|
+
const providers = getSupportedProviders(sampleApps);
|
|
87
|
+
const frameworks = getSupportedFrameworks(sampleApps);
|
|
88
|
+
const libraries = getSupportedLibraries(sampleApps);
|
|
89
|
+
return { providers, frameworks, libraries };
|
|
90
|
+
}
|
|
91
|
+
exports.getSupportedAppsInformation = getSupportedAppsInformation;
|
|
18
92
|
//# sourceMappingURL=app.js.map
|
package/dist/helpers/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/helpers/app.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/helpers/app.ts"],"names":[],"mappings":"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"}
|
package/dist/helpers/jwk.d.ts
CHANGED
|
@@ -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>;
|
package/dist/helpers/jwk.js
CHANGED
|
@@ -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
|
package/dist/helpers/jwk.js.map
CHANGED
|
@@ -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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const authResultPage: (title: string, content: string) => string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
const
|
|
3
|
+
exports.authResultPage = void 0;
|
|
4
|
+
const authResultPage = (title, content) => `<!DOCTYPE html>
|
|
5
5
|
<html>
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
7
7
|
<head>
|
|
@@ -66,7 +66,7 @@ const erroredLoginPage = (title = 'Error', context = 'Unexpected error.') => `<!
|
|
|
66
66
|
|
|
67
67
|
<body>
|
|
68
68
|
<div class="logo-container">
|
|
69
|
-
<svg width="
|
|
69
|
+
<svg width="130.8" height="24" viewBox="0 0 132 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
70
70
|
<g id="Affinidi logo">
|
|
71
71
|
<g id="wordmark">
|
|
72
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;"/>
|
|
@@ -98,14 +98,13 @@ const erroredLoginPage = (title = 'Error', context = 'Unexpected error.') => `<!
|
|
|
98
98
|
<div class="outer-container">
|
|
99
99
|
<div class="inner-container">
|
|
100
100
|
<h1>${title}</h1>
|
|
101
|
-
|
|
102
101
|
<p>
|
|
103
|
-
${
|
|
102
|
+
${content}
|
|
104
103
|
</p>
|
|
105
104
|
</div>
|
|
106
105
|
</div>
|
|
107
106
|
</body>
|
|
108
107
|
</html>
|
|
109
108
|
`;
|
|
110
|
-
exports.
|
|
111
|
-
//# sourceMappingURL=
|
|
109
|
+
exports.authResultPage = authResultPage;
|
|
110
|
+
//# sourceMappingURL=auth-result-page.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-result-page.js","sourceRoot":"","sources":["../../../../src/services/affinidi/auth/auth-result-page.ts"],"names":[],"mappings":";;;AAAO,MAAM,cAAc,GAAG,CAAC,KAAa,EAAE,OAAe,EAAE,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAgGtD,KAAK;;UAEP,OAAO;;;;;;CAMhB,CAAA;AAxGY,QAAA,cAAc,kBAwG1B"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { KeyLike } from 'jose';
|
|
2
|
+
import { AuthProvider, AuthProviderConfig } from './types';
|
|
3
|
+
export declare class BFFAuthProvider implements AuthProvider {
|
|
4
|
+
private readonly logger;
|
|
5
|
+
constructor({ logger }: AuthProviderConfig);
|
|
6
|
+
authenticate({ privateKey, publicKey }: {
|
|
7
|
+
privateKey: KeyLike;
|
|
8
|
+
publicKey: KeyLike;
|
|
9
|
+
}): Promise<string>;
|
|
10
|
+
/**
|
|
11
|
+
* Handles `Success` case when the user accepts
|
|
12
|
+
* the access to the personal data.
|
|
13
|
+
* This is the example of the accept endpoint call:
|
|
14
|
+
* http://127.0.0.1:64287/callback
|
|
15
|
+
* @param params
|
|
16
|
+
* @private
|
|
17
|
+
*/
|
|
18
|
+
private handleSuccess;
|
|
19
|
+
/**
|
|
20
|
+
* Handles `Error` case when there is an error or the
|
|
21
|
+
* user rejects the access to the personal data.
|
|
22
|
+
* This is the example of the reject endpoint call:
|
|
23
|
+
* http://127.0.0.1:64287/callback?state=error&error=access_denied&description=request_declined
|
|
24
|
+
* @param params
|
|
25
|
+
* @private
|
|
26
|
+
*/
|
|
27
|
+
private handleError;
|
|
28
|
+
private generateErrorMessage;
|
|
29
|
+
private shutDownServer;
|
|
30
|
+
}
|