@affinidi/cli 2.0.0-beta.6 → 2.0.0-beta.7
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 +143 -227
- package/dist/commands/generate/app.d.ts +1 -0
- package/dist/commands/generate/app.js +77 -16
- package/dist/commands/generate/app.js.map +1 -1
- package/dist/commands/iam/add-principal.js +9 -1
- package/dist/commands/iam/add-principal.js.map +1 -1
- package/dist/commands/iam/get-policies.js +9 -1
- package/dist/commands/iam/get-policies.js.map +1 -1
- package/dist/commands/iam/remove-principal.js +9 -1
- package/dist/commands/iam/remove-principal.js.map +1 -1
- package/dist/commands/iam/update-policies.js +26 -14
- package/dist/commands/iam/update-policies.js.map +1 -1
- package/dist/commands/login/add-user-to-group.js +9 -1
- package/dist/commands/login/add-user-to-group.js.map +1 -1
- package/dist/commands/login/create-config.js +22 -10
- package/dist/commands/login/create-config.js.map +1 -1
- package/dist/commands/login/create-group.js +7 -1
- package/dist/commands/login/create-group.js.map +1 -1
- package/dist/commands/login/delete-config.js +10 -3
- package/dist/commands/login/delete-config.js.map +1 -1
- package/dist/commands/login/delete-group.js +10 -3
- package/dist/commands/login/delete-group.js.map +1 -1
- package/dist/commands/login/get-config.js +8 -1
- package/dist/commands/login/get-config.js.map +1 -1
- package/dist/commands/login/get-group.js +8 -1
- package/dist/commands/login/get-group.js.map +1 -1
- package/dist/commands/login/list-users-in-group.js +8 -1
- package/dist/commands/login/list-users-in-group.js.map +1 -1
- package/dist/commands/login/remove-user-from-group.js +10 -2
- package/dist/commands/login/remove-user-from-group.js.map +1 -1
- package/dist/commands/login/update-config.js +12 -8
- package/dist/commands/login/update-config.js.map +1 -1
- package/dist/commands/project/create-project.d.ts +1 -0
- package/dist/commands/project/create-project.js +14 -1
- package/dist/commands/project/create-project.js.map +1 -1
- package/dist/commands/project/select-project.js +7 -1
- package/dist/commands/project/select-project.js.map +1 -1
- package/dist/commands/start.js +2 -1
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/stop.js +8 -5
- package/dist/commands/stop.js.map +1 -1
- package/dist/commands/token/create-token.js +4 -3
- package/dist/commands/token/create-token.js.map +1 -1
- package/dist/commands/token/delete-token.js +2 -1
- package/dist/commands/token/delete-token.js.map +1 -1
- package/dist/commands/token/get-token.js +2 -1
- package/dist/commands/token/get-token.js.map +1 -1
- package/dist/commands/token/update-token.js +5 -4
- package/dist/commands/token/update-token.js.map +1 -1
- package/dist/commands/whoami.d.ts +9 -0
- package/dist/commands/whoami.js +37 -0
- package/dist/commands/whoami.js.map +1 -0
- package/dist/common/base-command.d.ts +1 -0
- package/dist/common/base-command.js +4 -0
- package/dist/common/base-command.js.map +1 -1
- package/dist/common/constants.d.ts +4 -0
- package/dist/common/constants.js +6 -1
- package/dist/common/constants.js.map +1 -1
- package/dist/helpers/generate-error-message.d.ts +1 -0
- package/dist/helpers/generate-error-message.js +8 -0
- package/dist/helpers/generate-error-message.js.map +1 -0
- package/dist/helpers/input-length-validation.d.ts +4 -0
- package/dist/helpers/input-length-validation.js +15 -0
- package/dist/helpers/input-length-validation.js.map +1 -0
- package/dist/helpers/prompt-required-flags.js +8 -1
- package/dist/helpers/prompt-required-flags.js.map +1 -1
- package/dist/services/affinidi/auth/index.js +7 -2
- package/dist/services/affinidi/auth/index.js.map +1 -1
- package/dist/services/affinidi/auth/token.d.ts +11 -7
- package/dist/services/affinidi/auth/token.js +25 -21
- package/dist/services/affinidi/auth/token.js.map +1 -1
- package/dist/services/affinidi/errors/index.d.ts +2 -0
- package/dist/services/affinidi/errors/index.js +6 -5
- package/dist/services/affinidi/errors/index.js.map +1 -1
- package/dist/services/affinidi/iam/index.d.ts +1 -1
- package/dist/services/affinidi/iam/index.js +2 -2
- package/dist/services/affinidi/iam/index.js.map +1 -1
- package/dist/services/generator/auth0.d.ts +5 -0
- package/dist/services/generator/auth0.js +80 -0
- package/dist/services/generator/auth0.js.map +1 -0
- package/dist/services/generator/env-configurer.d.ts +1 -0
- package/dist/services/generator/env-configurer.js +22 -0
- package/dist/services/generator/env-configurer.js.map +1 -0
- package/dist/services/urls.d.ts +0 -1
- package/dist/services/urls.js +1 -4
- package/dist/services/urls.js.map +1 -1
- package/package.json +3 -4
- package/dist/services/auth0/index.d.ts +0 -7
- package/dist/services/auth0/index.js +0 -104
- package/dist/services/auth0/index.js.map +0 -1
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WhoAmI = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const core_1 = require("@oclif/core");
|
|
6
|
+
const jsonwebtoken_1 = tslib_1.__importDefault(require("jsonwebtoken"));
|
|
7
|
+
const common_1 = require("../common");
|
|
8
|
+
const affinidi_1 = require("../services/affinidi");
|
|
9
|
+
const errors_1 = require("../services/affinidi/errors");
|
|
10
|
+
class WhoAmI extends common_1.BaseCommand {
|
|
11
|
+
async run() {
|
|
12
|
+
core_1.ux.action.start('Retrieving user data');
|
|
13
|
+
const principal = affinidi_1.clientSDK.config.getPrincipal();
|
|
14
|
+
const principalId = principal?.id;
|
|
15
|
+
const token = affinidi_1.clientSDK.config.getUserToken()?.access_token;
|
|
16
|
+
if (!token || !principalId) {
|
|
17
|
+
throw new Error(errors_1.InvalidOrMissingAuthToken);
|
|
18
|
+
}
|
|
19
|
+
core_1.ux.action.stop('Retrieved successfully!');
|
|
20
|
+
const payload = jsonwebtoken_1.default.decode(token);
|
|
21
|
+
if (!payload || typeof payload !== 'object') {
|
|
22
|
+
throw new Error(errors_1.InvalidOrMissingAuthToken);
|
|
23
|
+
}
|
|
24
|
+
const { sub, exp } = payload;
|
|
25
|
+
const isJwtExpired = Date.now() >= exp * 1000;
|
|
26
|
+
if (isJwtExpired) {
|
|
27
|
+
throw new Error(errors_1.AuthTokenExpired);
|
|
28
|
+
}
|
|
29
|
+
if (!this.jsonEnabled())
|
|
30
|
+
this.logJson({ principalId, sub });
|
|
31
|
+
return { principalId, sub };
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.WhoAmI = WhoAmI;
|
|
35
|
+
WhoAmI.summary = "Returns user's subject and principalId from his active session";
|
|
36
|
+
WhoAmI.examples = ['<%= config.bin %> <%= command.id %>'];
|
|
37
|
+
//# sourceMappingURL=whoami.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":";;;;AAAA,sCAAgC;AAChC,wEAA8B;AAC9B,sCAAuC;AACvC,mDAAgD;AAChD,wDAAyF;AAEzF,MAAa,MAAO,SAAQ,oBAA0B;IAI7C,KAAK,CAAC,GAAG;QACd,SAAE,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;QAEvC,MAAM,SAAS,GAAG,oBAAS,CAAC,MAAM,CAAC,YAAY,EAAE,CAAA;QACjD,MAAM,WAAW,GAAG,SAAS,EAAE,EAAE,CAAA;QACjC,MAAM,KAAK,GAAG,oBAAS,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,YAAY,CAAA;QAE3D,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,kCAAyB,CAAC,CAAA;SAC3C;QAED,SAAE,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;QAEzC,MAAM,OAAO,GAAG,sBAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAEjC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC3C,MAAM,IAAI,KAAK,CAAC,kCAAyB,CAAC,CAAA;SAC3C;QAED,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,OAAO,CAAA;QAE5B,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,IAAK,GAAc,GAAG,IAAI,CAAA;QAEzD,IAAI,YAAY,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,yBAAgB,CAAC,CAAA;SAClC;QAED,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAAE,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAA;QAE3D,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,CAAA;IAC7B,CAAC;;AAlCH,wBAmCC;AAlCQ,cAAO,GAAG,gEAAgE,CAAA;AAC1E,eAAQ,GAAG,CAAC,qCAAqC,CAAC,CAAA"}
|
|
@@ -6,6 +6,7 @@ export declare abstract class BaseCommand<T extends typeof Command> extends Comm
|
|
|
6
6
|
static enableJsonFlag: boolean;
|
|
7
7
|
static baseFlags: {
|
|
8
8
|
'no-color': Interfaces.BooleanFlag<boolean>;
|
|
9
|
+
'no-input': Interfaces.BooleanFlag<boolean>;
|
|
9
10
|
};
|
|
10
11
|
protected flags: FlagsType<T>;
|
|
11
12
|
protected args: ArgsType<T>;
|
|
@@ -57,5 +57,9 @@ BaseCommand.baseFlags = {
|
|
|
57
57
|
summary: 'Disables color in the output. If you have trouble distinguishing colors, consider using this flag.',
|
|
58
58
|
helpGroup: 'GLOBAL',
|
|
59
59
|
}),
|
|
60
|
+
'no-input': core_1.Flags.boolean({
|
|
61
|
+
summary: 'Disables all the interactive prompts',
|
|
62
|
+
helpGroup: 'GLOBAL',
|
|
63
|
+
}),
|
|
60
64
|
};
|
|
61
65
|
//# sourceMappingURL=base-command.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-command.js","sourceRoot":"","sources":["../../src/common/base-command.ts"],"names":[],"mappings":";;;;AAAA,sCAAwD;AACxD,mDAAiD;AACjD,0DAAyB;AACzB,6BAA8B;AAC9B,+DAAmD;AAOnD,MAAsB,WAAsC,SAAQ,cAAO;IAA3E;;
|
|
1
|
+
{"version":3,"file":"base-command.js","sourceRoot":"","sources":["../../src/common/base-command.ts"],"names":[],"mappings":";;;;AAAA,sCAAwD;AACxD,mDAAiD;AACjD,0DAAyB;AACzB,6BAA8B;AAC9B,+DAAmD;AAOnD,MAAsB,WAAsC,SAAQ,cAAO;IAA3E;;QAoBY,UAAK,GAAG,eAAK,CAAA;IAwCzB,CAAC;IAtCQ,KAAK,CAAC,IAAI;QACf,MAAM,KAAK,CAAC,IAAI,EAAE,CAAA;QAElB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC;YACvC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;YACtB,0EAA0E;YAC1E,SAAS,EAAG,KAAK,CAAC,IAA2B,CAAC,SAAS;YACvD,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;YACpB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;SACzB,CAAC,CAAA;QACF,0EAA0E;QAC1E,IAAI,CAAC,KAAK,GAAG,KAAqB,CAAA;QAClC,0EAA0E;QAC1E,IAAI,CAAC,IAAI,GAAG,IAAmB,CAAA;IACjC,CAAC;IAED,+DAA+D;IACrD,KAAK,CAAC,KAAK,CAAC,GAAkC;QACtD,IAAI,GAAG,YAAY,cAAQ,EAAE;YAC3B,IAAI,OAAO,GAAG,4BAA4B,CAAA;YAC1C,OAAO;gBACL,0GAA0G,CAAA;YAC5G,MAAM,eAAe,GAAG,IAAA,mCAAY,EAAC,GAAG,EAAE;gBACxC,cAAc,EAAE,MAAM;gBACtB,MAAM,EAAE,yBAAyB;gBACjC,eAAe,EAAE,OAAO;aACzB,CAAC,CAAA;YACF,OAAO,IAAI,eAAe,CAAA;YAC1B,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,iBAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;SAC1C;QACD,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACzB,CAAC;IAED,+DAA+D;IACrD,KAAK,CAAC,OAAO,CAAC,CAAoB;QAC1C,8EAA8E;QAC9E,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IACzB,CAAC;;AA3DH,kCA4DC;AA3DC,sBAAsB;AACf,0BAAc,GAAG,IAAI,CAAA;AAE5B,6EAA6E;AACtE,qBAAS,GAAG;IACjB,UAAU,EAAE,YAAK,CAAC,OAAO,CAAC;QACxB,OAAO,EAAE,oGAAoG;QAC7G,SAAS,EAAE,QAAQ;KACpB,CAAC;IACF,UAAU,EAAE,YAAK,CAAC,OAAO,CAAC;QACxB,OAAO,EAAE,sCAAsC;QAC/C,SAAS,EAAE,QAAQ;KACpB,CAAC;CACH,CAAA"}
|
package/dist/common/constants.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.IdTokenClaimFormats = exports.PrincipalTypes = exports.SupportedKeyTypes = exports.SupportedAlgorithms = void 0;
|
|
3
|
+
exports.RefAppSamples = exports.IdTokenClaimFormats = exports.PrincipalTypes = exports.SupportedKeyTypes = exports.SupportedAlgorithms = void 0;
|
|
4
4
|
var SupportedAlgorithms;
|
|
5
5
|
(function (SupportedAlgorithms) {
|
|
6
6
|
SupportedAlgorithms["RS256"] = "RS256";
|
|
@@ -23,4 +23,9 @@ var IdTokenClaimFormats;
|
|
|
23
23
|
IdTokenClaimFormats["ARRAY"] = "array";
|
|
24
24
|
IdTokenClaimFormats["MAP"] = "map";
|
|
25
25
|
})(IdTokenClaimFormats = exports.IdTokenClaimFormats || (exports.IdTokenClaimFormats = {}));
|
|
26
|
+
var RefAppSamples;
|
|
27
|
+
(function (RefAppSamples) {
|
|
28
|
+
RefAppSamples["AFFINIDI_NEXTJS_NEXTAUTHJS"] = "affinidi-nextjs-nextauthjs";
|
|
29
|
+
RefAppSamples["AUTH0_NEXTJS_NEXTAUTHJS"] = "auth0-nextjs-nextauthjs";
|
|
30
|
+
})(RefAppSamples = exports.RefAppSamples || (exports.RefAppSamples = {}));
|
|
26
31
|
//# 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,wCAAsB,CAAA;IACtB,+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"}
|
|
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,wCAAsB,CAAA;IACtB,+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,aAGX;AAHD,WAAY,aAAa;IACvB,0EAAyD,CAAA;IACzD,oEAAmD,CAAA;AACrD,CAAC,EAHW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAGxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function giveFlagInputErrorMessage(name: string): string;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.giveFlagInputErrorMessage = void 0;
|
|
4
|
+
function giveFlagInputErrorMessage(name) {
|
|
5
|
+
return `The --no-input flag disables interactive input. Please provide the value for "${name}" through a flag instead.`;
|
|
6
|
+
}
|
|
7
|
+
exports.giveFlagInputErrorMessage = giveFlagInputErrorMessage;
|
|
8
|
+
//# sourceMappingURL=generate-error-message.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-error-message.js","sourceRoot":"","sources":["../../src/helpers/generate-error-message.ts"],"names":[],"mappings":";;;AAAA,SAAgB,yBAAyB,CAAC,IAAY;IACpD,OAAO,iFAAiF,IAAI,2BAA2B,CAAA;AACzH,CAAC;AAFD,8DAEC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateInputLength = exports.PRESENTATION_DEFINITION_LIMIT = exports.TOKEN_LIMIT = exports.INPUT_LIMIT = void 0;
|
|
4
|
+
const errors_1 = require("@oclif/core/lib/errors");
|
|
5
|
+
exports.INPUT_LIMIT = 2000;
|
|
6
|
+
exports.TOKEN_LIMIT = 5000;
|
|
7
|
+
exports.PRESENTATION_DEFINITION_LIMIT = 5000;
|
|
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
|
+
}
|
|
12
|
+
return text;
|
|
13
|
+
}
|
|
14
|
+
exports.validateInputLength = validateInputLength;
|
|
15
|
+
//# sourceMappingURL=input-length-validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input-length-validation.js","sourceRoot":"","sources":["../../src/helpers/input-length-validation.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"}
|
|
@@ -2,10 +2,17 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.promptRequiredParameters = void 0;
|
|
4
4
|
const prompts_1 = require("@inquirer/prompts");
|
|
5
|
+
const errors_1 = require("@oclif/core/lib/errors");
|
|
6
|
+
const generate_error_message_1 = require("./generate-error-message");
|
|
7
|
+
const input_length_validation_1 = require("./input-length-validation");
|
|
5
8
|
async function promptRequiredParameters(requiredFlags, inputFlags) {
|
|
6
9
|
for (const key in Object.keys(requiredFlags)) {
|
|
7
10
|
if (!inputFlags[requiredFlags[key]]) {
|
|
8
|
-
inputFlags[
|
|
11
|
+
if (inputFlags['no-input']) {
|
|
12
|
+
throw new errors_1.CLIError((0, generate_error_message_1.giveFlagInputErrorMessage)(requiredFlags[key]));
|
|
13
|
+
}
|
|
14
|
+
const validatedInput = (0, input_length_validation_1.validateInputLength)(await (0, prompts_1.input)({ message: `Enter the value for ${requiredFlags[key]}` }), input_length_validation_1.INPUT_LIMIT);
|
|
15
|
+
inputFlags[requiredFlags[key]] = validatedInput;
|
|
9
16
|
}
|
|
10
17
|
}
|
|
11
18
|
return inputFlags;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-required-flags.js","sourceRoot":"","sources":["../../src/helpers/prompt-required-flags.ts"],"names":[],"mappings":";;;AAAA,+CAAyC;
|
|
1
|
+
{"version":3,"file":"prompt-required-flags.js","sourceRoot":"","sources":["../../src/helpers/prompt-required-flags.ts"],"names":[],"mappings":";;;AAAA,+CAAyC;AACzC,mDAAiD;AACjD,qEAAoE;AACpE,uEAA4E;AAErE,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,kDAAyB,EAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;aAClE;YACD,MAAM,cAAc,GAAG,IAAA,6CAAmB,EACxC,MAAM,IAAA,eAAK,EAAC,EAAE,OAAO,EAAE,uBAAuB,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EACrE,qCAAW,CACZ,CAAA;YACD,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,cAAc,CAAA;SAChD;KACF;IAED,OAAO,UAAU,CAAA;AACnB,CAAC;AAlBD,4DAkBC"}
|
|
@@ -78,6 +78,11 @@ class Auth {
|
|
|
78
78
|
this.logger.info('\nSetting your active project...');
|
|
79
79
|
}
|
|
80
80
|
const principalId = await this.receivePrincipalId(accessToken);
|
|
81
|
+
const principalComponents = principalId.split('/');
|
|
82
|
+
const principal = {
|
|
83
|
+
id: principalComponents[1],
|
|
84
|
+
type: principalComponents[0],
|
|
85
|
+
};
|
|
81
86
|
let projects = await this.fetchProjects(accessToken);
|
|
82
87
|
let activeProject;
|
|
83
88
|
// check if specific projectId is provided
|
|
@@ -100,7 +105,7 @@ class Auth {
|
|
|
100
105
|
}
|
|
101
106
|
const projectScopedToken = await this.createProjectScopedToken(accessToken, activeProject.id);
|
|
102
107
|
token_1.tokenService.setProjectToken(projectScopedToken, activeProject.id, activeProject.name);
|
|
103
|
-
token_1.tokenService.
|
|
108
|
+
token_1.tokenService.setPrincipal(principal);
|
|
104
109
|
if (!param.hideProjectHints) {
|
|
105
110
|
this.logger.info(`\nYour active project has been set to the project ${chalk_1.default.underline(activeProject.name)} with ID ${chalk_1.default.underline(activeProject.id)}` +
|
|
106
111
|
'\n\nIf you want to change the active project, please follow these steps:' +
|
|
@@ -129,7 +134,7 @@ class Auth {
|
|
|
129
134
|
* @returns {string} - A value of PrincipalId
|
|
130
135
|
*/
|
|
131
136
|
getPrincipalId() {
|
|
132
|
-
return token_1.tokenService.
|
|
137
|
+
return token_1.tokenService.getPrincipal()?.id;
|
|
133
138
|
}
|
|
134
139
|
}
|
|
135
140
|
exports.Auth = Auth;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/affinidi/auth/index.ts"],"names":[],"mappings":";;;;AAAA,8DAA6B;AAC7B,mDAAiD;AACjD,0DAAyB;AACzB,2CAAsG;AACtG,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/affinidi/auth/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,38 +13,42 @@ export type ProjectToken = {
|
|
|
13
13
|
expiresIn: number;
|
|
14
14
|
scope: string;
|
|
15
15
|
};
|
|
16
|
+
export type Principal = {
|
|
17
|
+
id: string;
|
|
18
|
+
type: string;
|
|
19
|
+
};
|
|
16
20
|
export interface CredSetterGetter {
|
|
17
21
|
clear: () => void;
|
|
18
22
|
getUserToken: () => UserToken;
|
|
19
23
|
setUserToken: (token: UserToken) => void;
|
|
20
24
|
getProjectToken: () => ProjectToken;
|
|
21
25
|
setProjectToken: (token: ProjectToken) => void;
|
|
22
|
-
|
|
23
|
-
|
|
26
|
+
setPrincipal: (principal: Principal) => void;
|
|
27
|
+
getPrincipal: () => Principal;
|
|
24
28
|
}
|
|
25
29
|
declare class TokenService {
|
|
26
30
|
private readonly store;
|
|
27
31
|
constructor(storer: CredSetterGetter);
|
|
28
32
|
getUserToken: () => UserToken;
|
|
29
33
|
getProjectToken: () => ProjectToken;
|
|
30
|
-
|
|
34
|
+
getPrincipal: () => Principal;
|
|
35
|
+
setPrincipal: (principal: Principal) => void;
|
|
31
36
|
setUserToken: (token: UserToken) => void;
|
|
32
37
|
setProjectToken: (token: unknown, projectId: string, projectName: string) => void;
|
|
33
|
-
setPrincipalId: (principalId: string) => void;
|
|
34
38
|
clear: () => void;
|
|
35
39
|
}
|
|
36
40
|
export type TokenServiceClass = TokenService;
|
|
37
41
|
export declare class MockStorer implements CredSetterGetter {
|
|
38
42
|
private userToken;
|
|
39
43
|
private projectToken;
|
|
40
|
-
private
|
|
44
|
+
private principal;
|
|
41
45
|
clear(): void;
|
|
42
46
|
getUserToken(): UserToken;
|
|
43
47
|
setUserToken(token: UserToken): void;
|
|
44
48
|
getProjectToken(): ProjectToken;
|
|
45
49
|
setProjectToken(token: ProjectToken): void;
|
|
46
|
-
|
|
47
|
-
|
|
50
|
+
setPrincipal(principal: Principal): void;
|
|
51
|
+
getPrincipal(): Principal;
|
|
48
52
|
}
|
|
49
53
|
export declare const tokenService: TokenService;
|
|
50
54
|
export {};
|
|
@@ -14,8 +14,11 @@ class TokenService {
|
|
|
14
14
|
this.getProjectToken = () => {
|
|
15
15
|
return this.store.getProjectToken();
|
|
16
16
|
};
|
|
17
|
-
this.
|
|
18
|
-
return this.store.
|
|
17
|
+
this.getPrincipal = () => {
|
|
18
|
+
return this.store.getPrincipal();
|
|
19
|
+
};
|
|
20
|
+
this.setPrincipal = (principal) => {
|
|
21
|
+
this.store.setPrincipal(principal);
|
|
19
22
|
};
|
|
20
23
|
this.setUserToken = (token) => {
|
|
21
24
|
this.store.setUserToken(token);
|
|
@@ -31,40 +34,37 @@ class TokenService {
|
|
|
31
34
|
};
|
|
32
35
|
this.store.setProjectToken(projectToken);
|
|
33
36
|
};
|
|
34
|
-
this.setPrincipalId = (principalId) => {
|
|
35
|
-
this.store.setPrincipalId(principalId);
|
|
36
|
-
};
|
|
37
37
|
this.clear = () => {
|
|
38
38
|
this.store.clear();
|
|
39
39
|
};
|
|
40
40
|
this.store = storer;
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
|
-
const
|
|
43
|
+
const credentialConfig = new conf_1.default({
|
|
44
44
|
cwd: path.join(os.homedir(), '.affinidi'),
|
|
45
45
|
configName: 'oAuthCred',
|
|
46
46
|
});
|
|
47
47
|
const storer = {
|
|
48
48
|
clear: () => {
|
|
49
|
-
|
|
49
|
+
credentialConfig.clear();
|
|
50
50
|
},
|
|
51
51
|
getUserToken: () => {
|
|
52
|
-
return
|
|
52
|
+
return credentialConfig.get('userToken');
|
|
53
53
|
},
|
|
54
54
|
setUserToken: (token) => {
|
|
55
|
-
|
|
55
|
+
credentialConfig.set('userToken', token);
|
|
56
56
|
},
|
|
57
57
|
getProjectToken: () => {
|
|
58
|
-
return
|
|
58
|
+
return credentialConfig.get('projectToken');
|
|
59
59
|
},
|
|
60
60
|
setProjectToken: (token) => {
|
|
61
|
-
|
|
61
|
+
credentialConfig.set('projectToken', token);
|
|
62
62
|
},
|
|
63
|
-
|
|
64
|
-
|
|
63
|
+
setPrincipal: (principal) => {
|
|
64
|
+
credentialConfig.set('principal', principal);
|
|
65
65
|
},
|
|
66
|
-
|
|
67
|
-
|
|
66
|
+
getPrincipal: () => {
|
|
67
|
+
return credentialConfig.get('principal');
|
|
68
68
|
},
|
|
69
69
|
};
|
|
70
70
|
const initUserToken = {
|
|
@@ -75,6 +75,10 @@ const initUserToken = {
|
|
|
75
75
|
scope: '',
|
|
76
76
|
token_type: '',
|
|
77
77
|
};
|
|
78
|
+
const initPrincipal = {
|
|
79
|
+
id: '',
|
|
80
|
+
type: '',
|
|
81
|
+
};
|
|
78
82
|
const initProjectToken = {
|
|
79
83
|
projectName: '',
|
|
80
84
|
projectId: '',
|
|
@@ -86,12 +90,12 @@ class MockStorer {
|
|
|
86
90
|
constructor() {
|
|
87
91
|
this.userToken = { ...initUserToken };
|
|
88
92
|
this.projectToken = { ...initProjectToken };
|
|
89
|
-
this.
|
|
93
|
+
this.principal = { ...initPrincipal };
|
|
90
94
|
}
|
|
91
95
|
clear() {
|
|
92
96
|
this.userToken = { ...initUserToken };
|
|
93
97
|
this.projectToken = { ...initProjectToken };
|
|
94
|
-
this.
|
|
98
|
+
this.principal = { ...initPrincipal };
|
|
95
99
|
}
|
|
96
100
|
getUserToken() {
|
|
97
101
|
return this.userToken;
|
|
@@ -105,11 +109,11 @@ class MockStorer {
|
|
|
105
109
|
setProjectToken(token) {
|
|
106
110
|
this.projectToken = token;
|
|
107
111
|
}
|
|
108
|
-
|
|
109
|
-
|
|
112
|
+
setPrincipal(principal) {
|
|
113
|
+
this.principal = principal;
|
|
110
114
|
}
|
|
111
|
-
|
|
112
|
-
this.
|
|
115
|
+
getPrincipal() {
|
|
116
|
+
return this.principal;
|
|
113
117
|
}
|
|
114
118
|
}
|
|
115
119
|
exports.MockStorer = MockStorer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token.js","sourceRoot":"","sources":["../../../../src/services/affinidi/auth/token.ts"],"names":[],"mappings":";;;;AAAA,yCAAyC;AACzC,+CAAwB;AACxB,mDAA4B;AAC5B,wDAAuB;
|
|
1
|
+
{"version":3,"file":"token.js","sourceRoot":"","sources":["../../../../src/services/affinidi/auth/token.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1,3 @@
|
|
|
1
|
+
export declare const AuthTokenExpired = "Your session has expired. Please, run command 'affinidi start' and try again.";
|
|
2
|
+
export declare const InvalidOrMissingAuthToken = "Your session token is invalid or missing. Please, run command 'affinidi start' and try again.";
|
|
1
3
|
export declare function handleServiceError(error: unknown, serviceErrorMessageHandler?: (response: any) => string | null): never;
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.handleServiceError = void 0;
|
|
3
|
+
exports.handleServiceError = exports.InvalidOrMissingAuthToken = exports.AuthTokenExpired = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const errors_1 = require("@oclif/core/lib/errors");
|
|
6
6
|
const axios_1 = require("axios");
|
|
7
7
|
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
8
8
|
const http_status_codes_1 = require("http-status-codes");
|
|
9
|
-
|
|
9
|
+
exports.AuthTokenExpired = "Your session has expired. Please, run command 'affinidi start' and try again.";
|
|
10
|
+
exports.InvalidOrMissingAuthToken = "Your session token is invalid or missing. Please, run command 'affinidi start' and try again.";
|
|
10
11
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
11
12
|
const getCommonAPIErrorMessage = (response) => {
|
|
12
13
|
switch (response.status) {
|
|
@@ -40,7 +41,7 @@ const getCommonAPIErrorMessage = (response) => {
|
|
|
40
41
|
case 'AlreadyExistsError':
|
|
41
42
|
return 'The resource you are trying to create already exists\nPlease, make sure the resource identifier is unique';
|
|
42
43
|
case 'QuotaExceededError':
|
|
43
|
-
return `You have exceeded your quota.\nIf you think this is a mistake please contact customer support ${chalk_1.default.underline('https://share.hsforms.com/1i-4HKZRXSsmENzXtPdIG4g8oa2v')}
|
|
44
|
+
return `You have exceeded your quota.\nIf you think this is a mistake please contact customer support ${chalk_1.default.underline('https://share.hsforms.com/1i-4HKZRXSsmENzXtPdIG4g8oa2v')}.`;
|
|
44
45
|
default:
|
|
45
46
|
return 'Conflicting action with the current state of your resources';
|
|
46
47
|
}
|
|
@@ -52,7 +53,7 @@ const getCommonAPIErrorMessage = (response) => {
|
|
|
52
53
|
traceId: response.data.traceId,
|
|
53
54
|
})}`
|
|
54
55
|
: ''}
|
|
55
|
-
\
|
|
56
|
+
\nReport above error to ${chalk_1.default.underline('https://share.hsforms.com/1i-4HKZRXSsmENzXtPdIG4g8oa2v')}`;
|
|
56
57
|
}
|
|
57
58
|
};
|
|
58
59
|
function handleServiceError(error, serviceErrorMessageHandler) {
|
|
@@ -60,7 +61,7 @@ function handleServiceError(error, serviceErrorMessageHandler) {
|
|
|
60
61
|
const { name, details } = error.response.data;
|
|
61
62
|
const isJwtExpired = name && name === 'InvalidJwtTokenError' && details?.some((err) => err.issue === 'jwt-expired');
|
|
62
63
|
if (isJwtExpired) {
|
|
63
|
-
throw new Error(AuthTokenExpired);
|
|
64
|
+
throw new Error(exports.AuthTokenExpired);
|
|
64
65
|
}
|
|
65
66
|
if (error.response) {
|
|
66
67
|
throw new errors_1.CLIError(serviceErrorMessageHandler
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/affinidi/errors/index.ts"],"names":[],"mappings":";;;;AAAA,mDAAiD;AACjD,iCAAkC;AAClC,0DAAyB;AACzB,yDAA+C;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/affinidi/errors/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { AddUserToProjectInput, CreateMachineUserInput, CreateProjectInput, Crea
|
|
|
2
2
|
declare class IAMService {
|
|
3
3
|
private readonly client;
|
|
4
4
|
constructor(client?: IamApi<unknown>);
|
|
5
|
-
createProject: (token: string,
|
|
5
|
+
createProject: (token: string, projectInput: CreateProjectInput) => Promise<ProjectDto>;
|
|
6
6
|
listProjects: (token: string) => Promise<Array<ProjectDto>>;
|
|
7
7
|
whoAmI: (token: string) => Promise<string>;
|
|
8
8
|
createProjectScopedToken: (token: string, projectId: string) => Promise<CreateProjectScopedTokenOutput>;
|
|
@@ -13,9 +13,9 @@ class IAMService {
|
|
|
13
13
|
},
|
|
14
14
|
})) {
|
|
15
15
|
this.client = client;
|
|
16
|
-
this.createProject = async (token,
|
|
16
|
+
this.createProject = async (token, projectInput) => {
|
|
17
17
|
try {
|
|
18
|
-
const result = await this.client.v1.createProject(
|
|
18
|
+
const result = await this.client.v1.createProject(projectInput, {
|
|
19
19
|
headers: {
|
|
20
20
|
Authorization: `Bearer ${token}`,
|
|
21
21
|
'content-type': 'application/json',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/affinidi/iam/index.ts"],"names":[],"mappings":";;;AAAA,uCAYkB;AAClB,iDAAgD;AAChD,sCAA8C;AAE9C,MAAM,UAAU;IACd,YACmB,SAAS,IAAI,aAAM,CAAC;QACnC,OAAO,EAAE,cAAO;QAChB,eAAe,EAAE,IAAI;QACrB,OAAO,EAAE;YACP,iBAAiB,EAAE,kBAAkB;SACtC;KACF,CAAC;QANe,WAAM,GAAN,MAAM,CAMrB;QAGG,kBAAa,GAAG,KAAK,EAAE,KAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/affinidi/iam/index.ts"],"names":[],"mappings":";;;AAAA,uCAYkB;AAClB,iDAAgD;AAChD,sCAA8C;AAE9C,MAAM,UAAU;IACd,YACmB,SAAS,IAAI,aAAM,CAAC;QACnC,OAAO,EAAE,cAAO;QAChB,eAAe,EAAE,IAAI;QACrB,OAAO,EAAE;YACP,iBAAiB,EAAE,kBAAkB;SACtC;KACF,CAAC;QANe,WAAM,GAAN,MAAM,CAMrB;QAGG,kBAAa,GAAG,KAAK,EAAE,KAAa,EAAE,YAAgC,EAAuB,EAAE;YACpG,IAAI;gBACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE;oBAC9D,OAAO,EAAE;wBACP,aAAa,EAAE,UAAU,KAAK,EAAE;wBAChC,cAAc,EAAE,kBAAkB;wBAClC,MAAM,EAAE,kBAAkB;qBAC3B;iBACF,CAAC,CAAA;gBACF,OAAO,MAAM,CAAC,IAAI,CAAA;aACnB;YAAC,OAAO,KAAK,EAAE;gBACd,IAAA,2BAAkB,EAAC,KAAK,CAAC,CAAA;aAC1B;QACH,CAAC,CAAA;QAEM,iBAAY,GAAG,KAAK,EAAE,KAAa,EAA8B,EAAE;YACxE,IAAI;gBACF,MAAM,EACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,GACnB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC;oBACnC,OAAO,EAAE;wBACP,aAAa,EAAE,UAAU,KAAK,EAAE;wBAChC,cAAc,EAAE,kBAAkB;wBAClC,MAAM,EAAE,kBAAkB;qBAC3B;iBACF,CAAC,CAAA;gBAEF,OAAO,QAAQ,CAAA;aAChB;YAAC,OAAO,KAAK,EAAE;gBACd,IAAA,2BAAkB,EAAC,KAAK,CAAC,CAAA;aAC1B;QACH,CAAC,CAAA;QAEM,WAAM,GAAG,KAAK,EAAE,KAAa,EAAmB,EAAE;YACvD,IAAI;gBACF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC;oBAC3C,OAAO,EAAE;wBACP,aAAa,EAAE,UAAU,KAAK,EAAE;wBAChC,cAAc,EAAE,kBAAkB;wBAClC,MAAM,EAAE,kBAAkB;qBAC3B;iBACF,CAAC,CAAA;gBAEF,OAAO,IAAI,CAAC,WAAW,CAAA;aACxB;YAAC,OAAO,KAAK,EAAE;gBACd,IAAA,2BAAkB,EAAC,KAAK,CAAC,CAAA;aAC1B;QACH,CAAC,CAAA;QAEM,6BAAwB,GAAG,KAAK,EACrC,KAAa,EACb,SAAiB,EACwB,EAAE;YAC3C,IAAI;gBACF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,wBAAwB,CAC5D,EAAE,SAAS,EAAE,EACb;oBACE,OAAO,EAAE;wBACP,aAAa,EAAE,UAAU,KAAK,EAAE;wBAChC,cAAc,EAAE,kBAAkB;wBAClC,MAAM,EAAE,kBAAkB;qBAC3B;iBACF,CACF,CAAA;gBAED,OAAO,IAAI,CAAA;aACZ;YAAC,OAAO,KAAK,EAAE;gBACd,IAAA,2BAAkB,EAAC,KAAK,CAAC,CAAA;aAC1B;QACH,CAAC,CAAA;QAEM,gBAAW,GAAG,KAAK,EAAE,KAAa,EAA4B,EAAE;YACrE,IAAI;gBACF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,eAAe,CAAC;oBACpD,OAAO,EAAE;wBACP,aAAa,EAAE,UAAU,KAAK,EAAE;wBAChC,cAAc,EAAE,kBAAkB;wBAClC,MAAM,EAAE,kBAAkB;qBAC3B;iBACF,CAAC,CAAA;gBAEF,OAAO,IAAI,CAAA;aACZ;YAAC,OAAO,KAAK,EAAE;gBACd,IAAA,2BAAkB,EAAC,KAAK,CAAC,CAAA;aAC1B;QACH,CAAC,CAAA;QAEM,sBAAiB,GAAG,KAAK,EAAE,KAAa,EAAE,aAAqB,EAAiB,EAAE;YACvF,IAAI;gBACF,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC,aAAa,EAAE;oBACpD,OAAO,EAAE;wBACP,aAAa,EAAE,UAAU,KAAK,EAAE;wBAChC,cAAc,EAAE,kBAAkB;wBAClC,MAAM,EAAE,kBAAkB;qBAC3B;iBACF,CAAC,CAAA;aACH;YAAC,OAAO,KAAK,EAAE;gBACd,IAAA,2BAAkB,EAAC,KAAK,CAAC,CAAA;aAC1B;QACH,CAAC,CAAA;QAEM,mBAAc,GAAG,KAAK,EAAE,KAAa,EAAE,aAAqB,EAA2B,EAAE;YAC9F,IAAI;gBACF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,cAAc,CAAC,aAAa,EAAE;oBAClE,OAAO,EAAE;wBACP,aAAa,EAAE,UAAU,KAAK,EAAE;wBAChC,cAAc,EAAE,kBAAkB;wBAClC,MAAM,EAAE,kBAAkB;qBAC3B;iBACF,CAAC,CAAA;gBACF,OAAO,IAAI,CAAA;aACZ;YAAC,OAAO,KAAK,EAAE;gBACd,IAAA,2BAAkB,EAAC,KAAK,CAAC,CAAA;aAC1B;QACH,CAAC,CAAA;QAEM,sBAAiB,GAAG,KAAK,EAC9B,kBAA0B,EAC1B,sBAA8C,EACrB,EAAE;YAC3B,IAAI;gBACF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC,sBAAsB,EAAE;oBAC9E,OAAO,EAAE;wBACP,aAAa,EAAE,UAAU,kBAAkB,EAAE;wBAC7C,cAAc,EAAE,kBAAkB;wBAClC,MAAM,EAAE,kBAAkB;qBAC3B;iBACF,CAAC,CAAA;gBAEF,OAAO,IAAI,CAAA;aACZ;YAAC,OAAO,KAAK,EAAE;gBACd,IAAA,2BAAkB,EAAC,KAAK,CAAC,CAAA;aAC1B;QACH,CAAC,CAAA;QAEM,sBAAiB,GAAG,KAAK,EAC9B,KAAa,EACb,aAAqB,EACrB,sBAA8C,EACrB,EAAE;YAC3B,IAAI;gBACF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC,aAAa,EAAE,sBAAsB,EAAE;oBAC7F,OAAO,EAAE;wBACP,aAAa,EAAE,UAAU,KAAK,EAAE;wBAChC,cAAc,EAAE,kBAAkB;wBAClC,MAAM,EAAE,kBAAkB;qBAC3B;iBACF,CAAC,CAAA;gBAEF,OAAO,IAAI,CAAA;aACZ;YAAC,OAAO,KAAK,EAAE;gBACd,IAAA,2BAAkB,EAAC,KAAK,CAAC,CAAA;aAC1B;QACH,CAAC,CAAA;QAEM,4BAAuB,GAAG,KAAK,EAAE,kBAA0B,EAAqB,EAAE;YACvF,IAAI;gBACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,uBAAuB,CAAC;oBAC1D,OAAO,EAAE;wBACP,aAAa,EAAE,UAAU,kBAAkB,EAAE;wBAC7C,cAAc,EAAE,kBAAkB;wBAClC,MAAM,EAAE,kBAAkB;qBAC3B;iBACF,CAAC,CAAA;gBACF,OAAO,MAAM,CAAC,IAAI,CAAA;aACnB;YAAC,OAAO,KAAK,EAAE;gBACd,IAAA,2BAAkB,EAAC,KAAK,CAAC,CAAA;aAC1B;QACH,CAAC,CAAA;QAEM,0BAAqB,GAAG,KAAK,EAClC,kBAA0B,EAC1B,qBAA4C,EAC7B,EAAE;YACjB,IAAI;gBACF,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,qBAAqB,CAAC,qBAAqB,EAAE;oBAChE,OAAO,EAAE;wBACP,aAAa,EAAE,UAAU,kBAAkB,EAAE;wBAC7C,cAAc,EAAE,kBAAkB;wBAClC,MAAM,EAAE,kBAAkB;qBAC3B;iBACF,CAAC,CAAA;aACH;YAAC,OAAO,KAAK,EAAE;gBACd,IAAA,2BAAkB,EAAC,KAAK,CAAC,CAAA;aAC1B;QACH,CAAC,CAAA;QAEM,+BAA0B,GAAG,KAAK,EACvC,kBAA0B,EAC1B,WAAmB,EACnB,aAAsC,EACvB,EAAE;YACjB,IAAI;gBACF,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,0BAA0B,CAC7C,WAAW,EACX,EAAE,aAAa,EAAE,EACjB;oBACE,OAAO,EAAE;wBACP,aAAa,EAAE,UAAU,kBAAkB,EAAE;wBAC7C,cAAc,EAAE,kBAAkB;wBAClC,MAAM,EAAE,kBAAkB;qBAC3B;iBACF,CACF,CAAA;aACF;YAAC,OAAO,KAAK,EAAE;gBACd,IAAA,2BAAkB,EAAC,KAAK,CAAC,CAAA;aAC1B;QACH,CAAC,CAAA;QAEM,gBAAW,GAAG,KAAK,EACxB,KAAa,EACb,WAAmB,EACnB,aAAsC,EAClB,EAAE;YACtB,IAAI;gBACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,CAC7C,WAAW,EACX,EAAE,aAAa,EAAE,EACjB;oBACE,OAAO,EAAE;wBACP,aAAa,EAAE,UAAU,KAAK,EAAE;wBAChC,cAAc,EAAE,kBAAkB;wBAClC,MAAM,EAAE,kBAAkB;qBAC3B;iBACF,CACF,CAAA;gBACD,OAAO,MAAM,CAAC,IAAI,CAAA;aACnB;YAAC,OAAO,KAAK,EAAE;gBACd,IAAA,2BAAkB,EAAC,KAAK,CAAC,CAAA;aAC1B;QACH,CAAC,CAAA;QAEM,mBAAc,GAAG,KAAK,EAC3B,KAAa,EACb,WAAmB,EACnB,aAAsC,EACtC,IAAe,EACK,EAAE;YACtB,IAAI;gBACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,cAAc,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE;oBACvF,OAAO,EAAE;wBACP,aAAa,EAAE,UAAU,KAAK,EAAE;wBAChC,cAAc,EAAE,kBAAkB;wBAClC,MAAM,EAAE,kBAAkB;qBAC3B;iBACF,CAAC,CAAA;gBACF,OAAO,MAAM,CAAC,IAAI,CAAA;aACnB;YAAC,OAAO,KAAK,EAAE;gBACd,IAAA,2BAAkB,EAAC,KAAK,CAAC,CAAA;aAC1B;QACH,CAAC,CAAA;IA5PE,CAAC;CA6PL;AAEY,QAAA,UAAU,GAAG,IAAI,UAAU,EAAE,CAAA"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createAuth0Resources = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
6
|
+
async function createAuth0Resources(accessToken, domain, affinidiClientId, affinidiClientSecret, affinidiIssuer) {
|
|
7
|
+
const { auth0ClientId, auth0ClientSecret } = await createApplication(accessToken, domain);
|
|
8
|
+
const connectionName = 'Affinidi';
|
|
9
|
+
await createSocialConnection(accessToken, domain, connectionName, auth0ClientId, affinidiClientId, affinidiClientSecret, affinidiIssuer);
|
|
10
|
+
return { auth0ClientId, auth0ClientSecret, connectionName };
|
|
11
|
+
}
|
|
12
|
+
exports.createAuth0Resources = createAuth0Resources;
|
|
13
|
+
const createApplication = async (accessToken, domain) => {
|
|
14
|
+
const myHeaders = new Headers();
|
|
15
|
+
myHeaders.append('Authorization', `Bearer ${accessToken}`);
|
|
16
|
+
myHeaders.append('Content-Type', 'application/json');
|
|
17
|
+
const body = JSON.stringify({
|
|
18
|
+
name: 'Affinidi Reference App',
|
|
19
|
+
description: 'Generated Reference Application from Affinidi CLI',
|
|
20
|
+
logo_uri: '',
|
|
21
|
+
callbacks: ['http://localhost:3000/api/auth/callback/auth0'],
|
|
22
|
+
web_origins: ['http://localhost:3000'],
|
|
23
|
+
allowed_logout_urls: ['http://localhost:3000'],
|
|
24
|
+
jwt_configuration: {
|
|
25
|
+
alg: 'RS256',
|
|
26
|
+
},
|
|
27
|
+
token_endpoint_auth_method: 'client_secret_post',
|
|
28
|
+
app_type: 'regular_web',
|
|
29
|
+
is_first_party: true,
|
|
30
|
+
organization_usage: 'deny',
|
|
31
|
+
oidc_conformant: true,
|
|
32
|
+
organization_require_behavior: 'no_prompt',
|
|
33
|
+
});
|
|
34
|
+
const requestOptions = {
|
|
35
|
+
method: 'POST',
|
|
36
|
+
headers: myHeaders,
|
|
37
|
+
body,
|
|
38
|
+
};
|
|
39
|
+
const response = await fetch(`${domain}/api/v2/clients`, requestOptions);
|
|
40
|
+
const reponseBody = await response.json();
|
|
41
|
+
if (!reponseBody.client_id || !reponseBody.client_secret) {
|
|
42
|
+
throw new Error(`Failed to create Auth0 Application. Response from Auth0: ${reponseBody.message}`);
|
|
43
|
+
}
|
|
44
|
+
return {
|
|
45
|
+
auth0ClientId: reponseBody.client_id,
|
|
46
|
+
auth0ClientSecret: reponseBody.client_secret,
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
const createSocialConnection = async (accessToken, domain, name, auth0ClientId, affinidiClientId, affinidiClientSecret, affinidiIssuer) => {
|
|
50
|
+
const myHeaders = new Headers();
|
|
51
|
+
myHeaders.append('Authorization', `Bearer ${accessToken}`);
|
|
52
|
+
myHeaders.append('Content-Type', 'application/json');
|
|
53
|
+
const body = JSON.stringify({
|
|
54
|
+
name: name,
|
|
55
|
+
display_name: name,
|
|
56
|
+
strategy: 'oauth2',
|
|
57
|
+
options: {
|
|
58
|
+
scope: 'openid offline_access',
|
|
59
|
+
scripts: {
|
|
60
|
+
fetchUserProfile: "function fetchUserProfile(accessToken, context, callback) { \n const idToken = JSON.parse(Buffer.from(context.id_token.split('.')[1], 'base64').toString()); \n const profile = { \n user_id: idToken.sub, \n email: idToken.custom.find(c => c.email).email, \n profile: idToken.custom \n }; \n callback(null, profile, context); \n }\n",
|
|
61
|
+
},
|
|
62
|
+
tokenURL: `${affinidiIssuer}/oauth2/token`,
|
|
63
|
+
client_id: affinidiClientId,
|
|
64
|
+
client_secret: affinidiClientSecret,
|
|
65
|
+
customHeaders: '',
|
|
66
|
+
authorizationURL: `${affinidiIssuer}/oauth2/auth`,
|
|
67
|
+
},
|
|
68
|
+
enabled_clients: [auth0ClientId],
|
|
69
|
+
});
|
|
70
|
+
const response = await fetch(`${domain}/api/v2/connections`, {
|
|
71
|
+
method: 'POST',
|
|
72
|
+
headers: myHeaders,
|
|
73
|
+
body,
|
|
74
|
+
});
|
|
75
|
+
if (response.status !== 201) {
|
|
76
|
+
const responseBody = await response.json();
|
|
77
|
+
throw new Error(`Failed to create Auth0 Social Connection. Response from Auth0: ${chalk_1.default.red.bold(responseBody.message)}`);
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
//# sourceMappingURL=auth0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth0.js","sourceRoot":"","sources":["../../../src/services/generator/auth0.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function configureAppEnvironment(path: string, clientId: string, clientSecret: string, issuer: string, connectionName?: string): Promise<void>;
|