@owlmeans/server-auth 0.1.18-rc.2 → 0.1.18-rc.20
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 +5 -5
- package/agent-meta/manifest.json +9 -2
- package/agent-meta/skills/server-auth/SKILL.md +93 -22
- package/agent-meta/skills/supervisor-auth/SKILL.md +128 -0
- package/build/entrypoints.d.ts +3 -0
- package/build/entrypoints.d.ts.map +1 -0
- package/build/{modules.js → entrypoints.js} +4 -4
- package/build/entrypoints.js.map +1 -0
- package/build/index.d.ts +1 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js +1 -1
- package/build/index.js.map +1 -1
- package/build/manager/context.d.ts.map +1 -1
- package/build/manager/context.js +0 -1
- package/build/manager/context.js.map +1 -1
- package/build/manager/entrypoints.d.ts +2 -0
- package/build/manager/entrypoints.d.ts.map +1 -0
- package/build/manager/{modules.js → entrypoints.js} +5 -5
- package/build/manager/entrypoints.js.map +1 -0
- package/build/manager/index.d.ts +1 -1
- package/build/manager/index.d.ts.map +1 -1
- package/build/manager/index.js +1 -1
- package/build/manager/index.js.map +1 -1
- package/build/manager/main.js +2 -2
- package/build/manager/main.js.map +1 -1
- package/build/manager/model.d.ts.map +1 -1
- package/build/manager/model.js +14 -1
- package/build/manager/model.js.map +1 -1
- package/build/manager/plugins/basic-ed25519.js.map +1 -1
- package/build/manager/plugins/basic-rely.d.ts.map +1 -1
- package/build/manager/plugins/basic-rely.js +5 -5
- package/build/manager/plugins/basic-rely.js.map +1 -1
- package/build/manager/plugins/re-captcha.js +1 -1
- package/build/manager/plugins/re-captcha.js.map +1 -1
- package/build/manager/plugins/supervisor.js +3 -3
- package/build/manager/plugins/supervisor.js.map +1 -1
- package/build/manager/rely/flow.js +1 -1
- package/build/manager/rely/flow.js.map +1 -1
- package/build/manager/supervisor.d.ts +5 -5
- package/build/manager/supervisor.d.ts.map +1 -1
- package/build/manager/supervisor.js +4 -4
- package/build/manager/supervisor.js.map +1 -1
- package/build/service.js +1 -1
- package/build/service.js.map +1 -1
- package/package.json +26 -26
- package/src/{modules.ts → entrypoints.ts} +3 -3
- package/src/index.ts +1 -1
- package/src/manager/README.md +1 -1
- package/src/manager/context.ts +0 -2
- package/src/manager/{modules.ts → entrypoints.ts} +4 -4
- package/src/manager/index.ts +1 -1
- package/src/manager/main.ts +2 -2
- package/src/manager/model.ts +16 -1
- package/src/manager/plugins/basic-ed25519.ts +2 -2
- package/src/manager/plugins/basic-rely.ts +7 -6
- package/src/manager/plugins/re-captcha.ts +3 -3
- package/src/manager/plugins/supervisor.ts +4 -4
- package/src/manager/rely/flow.ts +1 -1
- package/src/manager/supervisor.ts +6 -6
- package/src/service.ts +1 -1
- package/tests/context.ts +1 -2
- package/tests/supervisor.spec.ts +6 -4
- package/build/.gitkeep +0 -0
- package/build/manager/modules.d.ts +0 -2
- package/build/manager/modules.d.ts.map +0 -1
- package/build/manager/modules.js.map +0 -1
- package/build/modules.d.ts +0 -3
- package/build/modules.d.ts.map +0 -1
- package/build/modules.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basic-rely.js","sourceRoot":"","sources":["../../../src/manager/plugins/basic-rely.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAI3H,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"basic-rely.js","sourceRoot":"","sources":["../../../src/manager/plugins/basic-rely.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@ export const reCaptcha = (context) => {
|
|
|
20
20
|
throw new PluginMissconfigured('value');
|
|
21
21
|
}
|
|
22
22
|
const validateRecaptcha = context.entrypoint(MOD_RECAPTCHA);
|
|
23
|
-
const
|
|
23
|
+
const { value: result, outcome: status } = await validateRecaptcha.invoke({
|
|
24
24
|
body: {
|
|
25
25
|
secret: config.value,
|
|
26
26
|
response: credential.credential
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"re-captcha.js","sourceRoot":"","sources":["../../../src/manager/plugins/re-captcha.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAGvH,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAE1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAEvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAEvC,MAAM,CAAC,MAAM,SAAS,GAAG,CAA+C,OAAU,EAAc,EAAE;IAChG,MAAM,MAAM,GAAe;QACzB,IAAI,EAAE,kBAAkB,CAAC,SAAS;QAElC,IAAI,EAAE,KAAK,EAAC,OAAO,EAAC,EAAE;YACpB,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YAEhC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAA;YAEhD,OAAO,EAAE,SAAS,EAAE,CAAA;QACtB,CAAC;QAED,YAAY,EAAE,KAAK,EAAC,UAAU,EAAC,EAAE;YAC/B,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,
|
|
1
|
+
{"version":3,"file":"re-captcha.js","sourceRoot":"","sources":["../../../src/manager/plugins/re-captcha.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAGvH,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAE1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAEvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAEvC,MAAM,CAAC,MAAM,SAAS,GAAG,CAA+C,OAAU,EAAc,EAAE;IAChG,MAAM,MAAM,GAAe;QACzB,IAAI,EAAE,kBAAkB,CAAC,SAAS;QAElC,IAAI,EAAE,KAAK,EAAC,OAAO,EAAC,EAAE;YACpB,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YAEhC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAA;YAEhD,OAAO,EAAE,SAAS,EAAE,CAAA;QACtB,CAAC;QAED,YAAY,EAAE,KAAK,EAAC,UAAU,EAAC,EAAE;YAC/B,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAe,OAAO,CAAC,CAAA;YAC5D,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;YAC3C,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;gBACzB,MAAM,IAAI,oBAAoB,CAAC,OAAO,CAAC,CAAA;YACzC,CAAC;YACD,MAAM,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAsC,aAAa,CAAC,CAAA;YAChG,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAsC;gBAC7G,IAAI,EAAE;oBACJ,MAAM,EAAE,MAAM,CAAC,KAAK;oBACpB,QAAQ,EAAE,UAAU,CAAC,UAAU;iBAChC;gBACD,OAAO,EAAE,EAAE,cAAc,EAAE,mCAAmC,EAAE;aACjE,CAAC,CAAA;YACF,IAAI,MAAM,KAAK,iBAAiB,CAAC,EAAE,EAAE,CAAC;gBACpC,MAAM,IAAI,eAAe,CAAC,eAAe,CAAC,CAAA;YAC5C,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,IAAI,YAAY,CAAC,YAAY,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAA;YACxF,CAAC;YAED,UAAU,CAAC,MAAM,GAAG,CAAC,UAAU,CAAC,CAAA;YAChC,UAAU,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAA;YAChC,UAAU,CAAC,IAAI,GAAG,kBAAkB,CAAC,SAAS,CAAA;YAE9C,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAiC,CAAA;YAC7F,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;gBACtB,UAAU,CAAC,SAAS,GAAG,QAAQ,CAAA;gBAE/B,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAA;YAC5B,CAAC;YAED,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;QACtB,CAAC;KACF,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA"}
|
|
@@ -38,7 +38,7 @@ export const makeSupervisorPlugin = (context, opts) => {
|
|
|
38
38
|
for (const alias of opts.supervisors) {
|
|
39
39
|
try {
|
|
40
40
|
const record = await context.getConfigResource(TRUSTED)
|
|
41
|
-
.load(alias
|
|
41
|
+
.load({ name: alias });
|
|
42
42
|
if (record?.credential == null) {
|
|
43
43
|
continue;
|
|
44
44
|
}
|
|
@@ -59,8 +59,8 @@ export const makeSupervisorPlugin = (context, opts) => {
|
|
|
59
59
|
: { userId: credential.userId };
|
|
60
60
|
credential.userId = resolution.userId;
|
|
61
61
|
credential.profileId = resolution.profileId ?? resolution.userId;
|
|
62
|
-
if (resolution.
|
|
63
|
-
credential.
|
|
62
|
+
if (resolution.entitySlug != null) {
|
|
63
|
+
credential.entitySlug = resolution.entitySlug;
|
|
64
64
|
}
|
|
65
65
|
credential.scopes = resolution.scopes ?? credential.scopes ?? [ALL_SCOPES];
|
|
66
66
|
credential.role = resolution.role ?? AuthRole.User;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supervisor.js","sourceRoot":"","sources":["../../../src/manager/plugins/supervisor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AAG/G,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAK1C;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,OAA8B,EAAE,IAA6B,EACjD,EAAE;IACd,MAAM,MAAM,GAAe;QACzB,IAAI,EAAE,kBAAkB,CAAC,UAAU;QAEnC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QAEjE,YAAY,EAAE,KAAK,EAAC,UAAU,EAAC,EAAE;YAC/B,yEAAyE;YACzE,kDAAkD;YAClD,IAAI,MAAmC,CAAA;YACvC,IAAI,CAAC;gBACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAgC,CAAA;YAC3E,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,IAAI,YAAY,CAAC,uBAAuB,CAAC,CAAA;YACjD,CAAC;YACD,IAAI,MAAM,EAAE,SAAS,IAAI,IAAI,IAAI,MAAM,EAAE,IAAI,IAAI,IAAI,IAAI,UAAU,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;gBACnF,MAAM,IAAI,YAAY,CAAC,oBAAoB,CAAC,CAAA;YAC9C,CAAC;YAED,MAAM,OAAO,GAAG,sBAAsB,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;YAE5F,IAAI,OAAO,GAAkB,IAAI,CAAA;YACjC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrC,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,iBAAiB,
|
|
1
|
+
{"version":3,"file":"supervisor.js","sourceRoot":"","sources":["../../../src/manager/plugins/supervisor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AAG/G,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAK1C;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,OAA8B,EAAE,IAA6B,EACjD,EAAE;IACd,MAAM,MAAM,GAAe;QACzB,IAAI,EAAE,kBAAkB,CAAC,UAAU;QAEnC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QAEjE,YAAY,EAAE,KAAK,EAAC,UAAU,EAAC,EAAE;YAC/B,yEAAyE;YACzE,kDAAkD;YAClD,IAAI,MAAmC,CAAA;YACvC,IAAI,CAAC;gBACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAgC,CAAA;YAC3E,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,IAAI,YAAY,CAAC,uBAAuB,CAAC,CAAA;YACjD,CAAC;YACD,IAAI,MAAM,EAAE,SAAS,IAAI,IAAI,IAAI,MAAM,EAAE,IAAI,IAAI,IAAI,IAAI,UAAU,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;gBACnF,MAAM,IAAI,YAAY,CAAC,oBAAoB,CAAC,CAAA;YAC9C,CAAC;YAED,MAAM,OAAO,GAAG,sBAAsB,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;YAE5F,IAAI,OAAO,GAAkB,IAAI,CAAA;YACjC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrC,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAgB,OAAO,CAAC;yBACnE,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;oBACxB,IAAI,MAAM,EAAE,UAAU,IAAI,IAAI,EAAE,CAAC;wBAC/B,SAAQ;oBACV,CAAC;oBACD,IAAI,MAAM,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;wBAC1E,OAAO,GAAG,KAAK,CAAA;wBACf,MAAK;oBACP,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,wEAAwE;gBAC1E,CAAC;YACH,CAAC;YACD,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;gBACpB,MAAM,IAAI,YAAY,CAAC,sBAAsB,CAAC,CAAA;YAChD,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI;gBACzC,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC1F,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAA;YAEjC,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;YACrC,UAAU,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,IAAI,UAAU,CAAC,MAAM,CAAA;YAChE,IAAI,UAAU,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;gBAClC,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAA;YAC/C,CAAC;YACD,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,CAAA;YAC1E,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAA;YAElD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAA;YAC5C,UAAU,CAAC,SAAS,GAAG,KAAK,CAAA;YAC5B,UAAU,CAAC,IAAI,GAAG,kBAAkB,CAAC,YAAY,CAAA;YAEjD,OAAO,EAAE,KAAK,EAAE,CAAA;QAClB,CAAC;KACF,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA"}
|
|
@@ -31,7 +31,7 @@ export const createRelyFlow = (context, conn, auth) => {
|
|
|
31
31
|
await closeReceiver();
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
|
-
}, source.nonce);
|
|
34
|
+
}, { channel: source.nonce });
|
|
35
35
|
// We allow to just forward call messages back and forth
|
|
36
36
|
conn._receiveCall = async (msg) => { console.info(source.nonce, 'Forward call', msg.method, msg.id); };
|
|
37
37
|
conn._receiveResult = async (msg) => { console.info(source.nonce, 'Forward result', msg.id); };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow.js","sourceRoot":"","sources":["../../../src/manager/rely/flow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzH,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE3D,yDAAyD;AACzD,4CAA4C;AAC5C,gEAAgE;AAChE,wDAAwD;AACxD,mDAAmD;AACnD,2DAA2D;AAC3D,4DAA4D;AAC5D,+DAA+D;AAC/D,+CAA+C;AAE/C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAmB,EAAE,IAAgB,EAAE,IAAkB,EAAsB,EAAE;IAC9G,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAA;IAEtC,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;IACpC,IAAI,YAAY,GAAgB,IAAI,IAAI,IAAI,CAAA;IAE5C,MAAM,MAAM,GAAe,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;QACxD,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAA8B,WAAW,CAAC,CAAA;QACzE,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;YAC3D,IAAI,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC1B,CAAC;iBAAM,IAAI,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;gBACzC,IAAK,OAAiC,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;oBACzD,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;oBAClB,WAAW,EAAE,CAAA;oBACb,MAAM,aAAa,EAAE,CAAA;gBACvB,CAAC;YACH,CAAC;QACH,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"flow.js","sourceRoot":"","sources":["../../../src/manager/rely/flow.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import type { AppConfig, AppContext } from './types.js';
|
|
|
4
4
|
* What a `SupervisorUserResolver` returns: the identity the supervisor-minted
|
|
5
5
|
* token will represent. Only `userId` is required - the rest default sensibly.
|
|
6
6
|
*/
|
|
7
|
-
export interface SupervisorUserResolution extends Partial<Pick<AuthPayload, 'profileId' | '
|
|
7
|
+
export interface SupervisorUserResolution extends Partial<Pick<AuthPayload, 'profileId' | 'entitySlug' | 'role' | 'scopes'>> {
|
|
8
8
|
userId: string;
|
|
9
9
|
}
|
|
10
10
|
/**
|
|
@@ -34,7 +34,7 @@ export interface SupervisorAuthOptions {
|
|
|
34
34
|
enabled?: boolean;
|
|
35
35
|
/**
|
|
36
36
|
* Also accept internal owlmeans `Ed25519BasicToken`s even when another guard
|
|
37
|
-
* (e.g. OIDC) is the primary guard on protected
|
|
37
|
+
* (e.g. OIDC) is the primary guard on protected entrypoints. Default: true.
|
|
38
38
|
*/
|
|
39
39
|
acceptInternalTokens?: boolean;
|
|
40
40
|
/** The internal-token guard to add as a coguard. Default: DEFAULT_GUARD ('auth'). */
|
|
@@ -42,12 +42,12 @@ export interface SupervisorAuthOptions {
|
|
|
42
42
|
}
|
|
43
43
|
/**
|
|
44
44
|
* Ensure the internal `Ed25519BasicToken` guard is accepted as a coguard on every
|
|
45
|
-
* already-guarded backend
|
|
45
|
+
* already-guarded backend entrypoint, so internal owlmeans tokens keep working even
|
|
46
46
|
* when another guard (e.g. OIDC) is the primary guard. The primary guard stays
|
|
47
47
|
* first; the internal guard is appended as a fallback (its `match` only fires for
|
|
48
48
|
* an `Ed25519BasicToken` authorization header).
|
|
49
49
|
*/
|
|
50
|
-
export declare const setupInternalTokenCoguard: (
|
|
50
|
+
export declare const setupInternalTokenCoguard: (entrypoints: Array<{
|
|
51
51
|
guards?: string[];
|
|
52
52
|
}>, guard?: string) => void;
|
|
53
53
|
/**
|
|
@@ -56,7 +56,7 @@ export declare const setupInternalTokenCoguard: (modules: Array<{
|
|
|
56
56
|
*
|
|
57
57
|
* It registers the supervisor auth plugin (verifies a front-end signature against
|
|
58
58
|
* the allowlisted trusted keys, then resolves/registers the target user) and -
|
|
59
|
-
* unless disabled - makes protected
|
|
59
|
+
* unless disabled - makes protected entrypoints also accept internal owlmeans tokens
|
|
60
60
|
* (requirement: understand internal tokens even when OIDC is the primary guard).
|
|
61
61
|
*/
|
|
62
62
|
export declare const appendSupervisorAuth: <C extends AppConfig, T extends AppContext<C>>(context: T, opts?: SupervisorAuthOptions) => T;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supervisor.d.ts","sourceRoot":"","sources":["../../src/manager/supervisor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAEjD,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAIvD;;;GAGG;AACH,MAAM,WAAW,wBAAyB,SAAQ,OAAO,CAAC,IAAI,CAAC,WAAW,EACxE,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"supervisor.d.ts","sourceRoot":"","sources":["../../src/manager/supervisor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAEjD,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAIvD;;;GAGG;AACH,MAAM,WAAW,wBAAyB,SAAQ,OAAO,CAAC,IAAI,CAAC,WAAW,EACxE,WAAW,GAAG,YAAY,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC;IAChD,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,EAC3C,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,GACtD,OAAO,CAAC,wBAAwB,CAAC,CAAA;CACrC;AAED,qDAAqD;AACrD,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,WAAW,CAAC,EAAE,sBAAsB,CAAA;CACrC;AAED,MAAM,WAAW,qBAAqB;IACpC,2FAA2F;IAC3F,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,sBAAsB,CAAA;IACpC,+EAA+E;IAC/E,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,+FAA+F;IAC/F,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,qFAAqF;IACrF,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAOD;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,gBACvB,KAAK,CAAC;IAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,UAAS,MAAM,KACvD,IAMF,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,WACtE,CAAC,SAAS,qBAAqB,KACvC,CAyBF,CAAA"}
|
|
@@ -6,13 +6,13 @@ const DEFAULT_SUPERVISORS = ['master', 'superuser'];
|
|
|
6
6
|
const isDevelopment = (context) => context.cfg.debug?.all === true || context.cfg.debug?.supervisor === true;
|
|
7
7
|
/**
|
|
8
8
|
* Ensure the internal `Ed25519BasicToken` guard is accepted as a coguard on every
|
|
9
|
-
* already-guarded backend
|
|
9
|
+
* already-guarded backend entrypoint, so internal owlmeans tokens keep working even
|
|
10
10
|
* when another guard (e.g. OIDC) is the primary guard. The primary guard stays
|
|
11
11
|
* first; the internal guard is appended as a fallback (its `match` only fires for
|
|
12
12
|
* an `Ed25519BasicToken` authorization header).
|
|
13
13
|
*/
|
|
14
|
-
export const setupInternalTokenCoguard = (
|
|
15
|
-
|
|
14
|
+
export const setupInternalTokenCoguard = (entrypoints, guard = DEFAULT_GUARD) => {
|
|
15
|
+
entrypoints.forEach(module => {
|
|
16
16
|
if (module.guards != null && module.guards.length > 0 && !module.guards.includes(guard)) {
|
|
17
17
|
module.guards.push(guard);
|
|
18
18
|
}
|
|
@@ -24,7 +24,7 @@ export const setupInternalTokenCoguard = (modules, guard = DEFAULT_GUARD) => {
|
|
|
24
24
|
*
|
|
25
25
|
* It registers the supervisor auth plugin (verifies a front-end signature against
|
|
26
26
|
* the allowlisted trusted keys, then resolves/registers the target user) and -
|
|
27
|
-
* unless disabled - makes protected
|
|
27
|
+
* unless disabled - makes protected entrypoints also accept internal owlmeans tokens
|
|
28
28
|
* (requirement: understand internal tokens even when OIDC is the primary guard).
|
|
29
29
|
*/
|
|
30
30
|
export const appendSupervisorAuth = (context, opts) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supervisor.js","sourceRoot":"","sources":["../../src/manager/supervisor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAEnD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AA+C9D,MAAM,mBAAmB,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;AAEnD,MAAM,aAAa,GAAG,CAAC,OAAqE,EAAW,EAAE,CACvG,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;AAE3E;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,
|
|
1
|
+
{"version":3,"file":"supervisor.js","sourceRoot":"","sources":["../../src/manager/supervisor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAEnD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AA+C9D,MAAM,mBAAmB,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;AAEnD,MAAM,aAAa,GAAG,CAAC,OAAqE,EAAW,EAAE,CACvG,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;AAE3E;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,WAAyC,EAAE,KAAK,GAAW,aAAa,EAClE,EAAE;IACR,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QAC3B,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACxF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC3B,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,OAAU,EAAE,IAA4B,EACrC,EAAE;IACL,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,CAAA;IACvD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,MAAM,QAAQ,GAA4B;QACxC,WAAW,EAAE,IAAI,EAAE,WAAW,IAAI,mBAAmB;QACrD,iBAAiB,EAAE,IAAI,EAAE,iBAAiB,IAAI,IAAI;QAClD,WAAW,EAAE,IAAI,EAAE,WAAW;KAC/B,CAAA;IAED,cAAc,CACZ,kBAAkB,CAAC,UAAU,EAC7B,CAAC,GAAG,CAAC,EAAE,CAAC,oBAAoB,CAAC,GAAuC,EAAE,QAAQ,CAAC,CAAyC,CACzH,CAAA;IAED,IAAI,IAAI,EAAE,oBAAoB,KAAK,KAAK,EAAE,CAAC;QACzC,yBAAyB,CACvB,OAAO,CAAC,WAAW,EAA6C,EAChE,IAAI,EAAE,KAAK,IAAI,aAAa,CAC7B,CAAA;IACH,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
|
package/build/service.js
CHANGED
|
@@ -65,7 +65,7 @@ export const makeAuthService = (alias = DEFAULT_ALIAS) => {
|
|
|
65
65
|
type: AuthroizationType.Ed25519BasicToken,
|
|
66
66
|
source: context.cfg.service,
|
|
67
67
|
profileId: credentials.profileId,
|
|
68
|
-
|
|
68
|
+
entitySlug: credentials.entitySlug,
|
|
69
69
|
isUser: true,
|
|
70
70
|
createdAt: new Date()
|
|
71
71
|
};
|
package/build/service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEvF,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAE1E,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAGpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAKrE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAK,GAAW,aAAa,EAAe,EAAE;IAC5E,MAAM,QAAQ,GAAG,eAAe,KAAK,EAAE,CAAA;IAEvC,MAAM,KAAK,GAAG,CAAC,OAAgB,EAAuB,EAAE,CACtD,OAAO,CAAC,QAAQ,CAAsB,UAAU,CAAC,CAAA;IAEnD,MAAM,OAAO,GAAgB,aAAa,CAAc,KAAK,EAAE;QAC7D,KAAK,EAAE,KAAK,EAAC,GAAG,EAAC,EAAE,CAAC,gBAAgB,CAAC,GAAG,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,IAAI;QAEtF,MAAM,EAAE,KAAK,EAAK,GAAoB,EAAE,GAA2B,EAAE,EAAE;YACrE,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAY,CAAA;YACrD,MAAM,aAAa,GAAG,gBAAgB,CAAC,GAAG,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,CAAA;YAChF,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;gBAC1B,OAAO,KAAU,CAAA;YACnB,CAAC;YAED,MAAM,QAAQ,GAAG,iBAAiB,CAAO,aAAa,EAAE,YAAY,CAAC,KAAK,CAAC,CAAA;YAE3E,MAAM,OAAO,GAAG,MAAM,KAAK,CAAkB,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACxG,IAAI,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxC,OAAO,KAAU,CAAA;YACnB,CAAC;YAED,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;YAE/B,OAAO,IAAS,CAAA;QAClB,CAAC;QAED,MAAM,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YACpB,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,EAAmB,CAAA;YACpD,MAAM,CAAC,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC1C,MAAM,QAAQ,GAAG,iBAAiB,CAAO,aAAa,EAAE,YAAY,CAAC,KAAK,CAAC,CAAA;YAE3E,MAAM,OAAO,GAAG,MAAM,KAAK,CAAkB,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACxG,IAAI,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxC,MAAM,IAAI,kBAAkB,CAAC,QAAQ,CAAC,CAAA;YACxC,CAAC;YAED,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAA;QAC3B,CAAC;QAED,aAAa,EAAE,KAAK,IAAI,EAAE;YACxB,OAAO,IAAI,CAAA;QACb,CAAC;QAED,YAAY,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YAC1B,MAAM,OAAO,GAAG,aAAa,CAAkB,OAAO,CAAC,GAAc,EAAE,QAAQ,CAAC,CAAA;YAChF,MAAM,QAAQ,GAAG,iBAAiB,CAAkB,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,CAAA;YAEpF,MAAM,WAAW,GAAG,MAAM,KAAK,CAAkB,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,CAAA;YAChF,IAAI,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5C,MAAM,IAAI,YAAY,EAAE,CAAA;YAC1B,CAAC;YAED,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAA;YACtC,MAAM,GAAG,GAAG,WAAW,CAAC,SAAS,CAAA;YAEjC,6EAA6E;YAE7E,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,gBAAgB,GAAG,IAAI,EAAE,CAAC,CAAA;YAC5E,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,IAAI,YAAY,EAAE,CAAA;YAC1B,CAAC;YAED,IAAI,WAAW,CAAC,UAAU,KAAK,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;gBACnD,MAAM,IAAI,YAAY,EAAE,CAAA;YAC1B,CAAC;YAED,yBAAyB;YACzB,MAAM,IAAI,GAAS;gBACjB,KAAK,EAAE,WAAW,CAAC,SAAS;gBAC5B,MAAM,EAAE,WAAW,CAAC,MAAM;gBAC1B,MAAM,EAAE,WAAW,CAAC,MAAM;gBAC1B,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,IAAI,EAAE,iBAAiB,CAAC,iBAAiB;gBACzC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO;gBAC3B,SAAS,EAAE,WAAW,CAAC,SAAS;gBAChC,
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEvF,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAE1E,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAGpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAKrE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAK,GAAW,aAAa,EAAe,EAAE;IAC5E,MAAM,QAAQ,GAAG,eAAe,KAAK,EAAE,CAAA;IAEvC,MAAM,KAAK,GAAG,CAAC,OAAgB,EAAuB,EAAE,CACtD,OAAO,CAAC,QAAQ,CAAsB,UAAU,CAAC,CAAA;IAEnD,MAAM,OAAO,GAAgB,aAAa,CAAc,KAAK,EAAE;QAC7D,KAAK,EAAE,KAAK,EAAC,GAAG,EAAC,EAAE,CAAC,gBAAgB,CAAC,GAAG,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,IAAI;QAEtF,MAAM,EAAE,KAAK,EAAK,GAAoB,EAAE,GAA2B,EAAE,EAAE;YACrE,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAY,CAAA;YACrD,MAAM,aAAa,GAAG,gBAAgB,CAAC,GAAG,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,CAAA;YAChF,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;gBAC1B,OAAO,KAAU,CAAA;YACnB,CAAC;YAED,MAAM,QAAQ,GAAG,iBAAiB,CAAO,aAAa,EAAE,YAAY,CAAC,KAAK,CAAC,CAAA;YAE3E,MAAM,OAAO,GAAG,MAAM,KAAK,CAAkB,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACxG,IAAI,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxC,OAAO,KAAU,CAAA;YACnB,CAAC;YAED,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;YAE/B,OAAO,IAAS,CAAA;QAClB,CAAC;QAED,MAAM,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YACpB,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,EAAmB,CAAA;YACpD,MAAM,CAAC,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC1C,MAAM,QAAQ,GAAG,iBAAiB,CAAO,aAAa,EAAE,YAAY,CAAC,KAAK,CAAC,CAAA;YAE3E,MAAM,OAAO,GAAG,MAAM,KAAK,CAAkB,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACxG,IAAI,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxC,MAAM,IAAI,kBAAkB,CAAC,QAAQ,CAAC,CAAA;YACxC,CAAC;YAED,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAA;QAC3B,CAAC;QAED,aAAa,EAAE,KAAK,IAAI,EAAE;YACxB,OAAO,IAAI,CAAA;QACb,CAAC;QAED,YAAY,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YAC1B,MAAM,OAAO,GAAG,aAAa,CAAkB,OAAO,CAAC,GAAc,EAAE,QAAQ,CAAC,CAAA;YAChF,MAAM,QAAQ,GAAG,iBAAiB,CAAkB,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,CAAA;YAEpF,MAAM,WAAW,GAAG,MAAM,KAAK,CAAkB,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,CAAA;YAChF,IAAI,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5C,MAAM,IAAI,YAAY,EAAE,CAAA;YAC1B,CAAC;YAED,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAA;YACtC,MAAM,GAAG,GAAG,WAAW,CAAC,SAAS,CAAA;YAEjC,6EAA6E;YAE7E,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,gBAAgB,GAAG,IAAI,EAAE,CAAC,CAAA;YAC5E,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,IAAI,YAAY,EAAE,CAAA;YAC1B,CAAC;YAED,IAAI,WAAW,CAAC,UAAU,KAAK,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;gBACnD,MAAM,IAAI,YAAY,EAAE,CAAA;YAC1B,CAAC;YAED,yBAAyB;YACzB,MAAM,IAAI,GAAS;gBACjB,KAAK,EAAE,WAAW,CAAC,SAAS;gBAC5B,MAAM,EAAE,WAAW,CAAC,MAAM;gBAC1B,MAAM,EAAE,WAAW,CAAC,MAAM;gBAC1B,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,IAAI,EAAE,iBAAiB,CAAC,iBAAiB;gBACzC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO;gBAC3B,SAAS,EAAE,WAAW,CAAC,SAAS;gBAChC,UAAU,EAAE,WAAW,CAAC,UAAU;gBAClC,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE,IAAI,IAAI,EAAE;aACtB,CAAA;YAED,MAAM,OAAO,GAAG,MAAM,KAAK,CAAkB,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACxG,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAO,iBAAiB,CAAC,iBAAiB,CAAC;iBACrF,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC,CAAA;YAEzD,OAAO,EAAE,KAAK,EAAE,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,WAAW,EAAE,IAAI,aAAa,EAAE,EAAE,CAAA;QAC3F,CAAC;KACF,CAAC,CAAA;IAEF,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,GAAM,EAAE,KAAK,GAAW,aAAa,EACd,EAAE;IAEzB,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;QACjC,GAAG,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAA;IACxD,CAAC;IAED,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;IACtC,MAAM,OAAO,GAAG,GAA4B,CAAA;IAE5C,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;IAChC,OAAO,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAE/C,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@owlmeans/server-auth",
|
|
3
|
-
"version": "0.1.18-rc.
|
|
3
|
+
"version": "0.1.18-rc.20",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
@@ -37,29 +37,29 @@
|
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@noble/hashes": "^1.5.0",
|
|
40
|
-
"@owlmeans/api": "^0.1.18-rc.
|
|
41
|
-
"@owlmeans/api-config-server": "^0.1.18-rc.
|
|
42
|
-
"@owlmeans/auth": "^0.1.18-rc.
|
|
43
|
-
"@owlmeans/auth-common": "^0.1.18-rc.
|
|
44
|
-
"@owlmeans/basic-envelope": "^0.1.18-rc.
|
|
45
|
-
"@owlmeans/basic-ids": "^0.1.18-rc.
|
|
46
|
-
"@owlmeans/basic-keys": "^0.1.18-rc.
|
|
47
|
-
"@owlmeans/client-config": "^0.1.18-rc.
|
|
48
|
-
"@owlmeans/client-entrypoint": "^0.1.18-rc.
|
|
49
|
-
"@owlmeans/config": "^0.1.18-rc.
|
|
50
|
-
"@owlmeans/context": "^0.1.18-rc.
|
|
51
|
-
"@owlmeans/kluster": "^0.1.18-rc.
|
|
52
|
-
"@owlmeans/entrypoint": "^0.1.18-rc.
|
|
53
|
-
"@owlmeans/redis-resource": "^0.1.18-rc.
|
|
54
|
-
"@owlmeans/resource": "^0.1.18-rc.
|
|
55
|
-
"@owlmeans/route": "^0.1.18-rc.
|
|
56
|
-
"@owlmeans/server-api": "^0.1.18-rc.
|
|
57
|
-
"@owlmeans/server-context": "^0.1.18-rc.
|
|
58
|
-
"@owlmeans/server-entrypoint": "^0.1.18-rc.
|
|
59
|
-
"@owlmeans/server-route": "^0.1.18-rc.
|
|
60
|
-
"@owlmeans/server-socket": "^0.1.18-rc.
|
|
61
|
-
"@owlmeans/socket": "^0.1.18-rc.
|
|
62
|
-
"@owlmeans/static-resource": "^0.1.18-rc.
|
|
40
|
+
"@owlmeans/api": "^0.1.18-rc.15",
|
|
41
|
+
"@owlmeans/api-config-server": "^0.1.18-rc.19",
|
|
42
|
+
"@owlmeans/auth": "^0.1.18-rc.11",
|
|
43
|
+
"@owlmeans/auth-common": "^0.1.18-rc.15",
|
|
44
|
+
"@owlmeans/basic-envelope": "^0.1.18-rc.14",
|
|
45
|
+
"@owlmeans/basic-ids": "^0.1.18-rc.11",
|
|
46
|
+
"@owlmeans/basic-keys": "^0.1.18-rc.14",
|
|
47
|
+
"@owlmeans/client-config": "^0.1.18-rc.14",
|
|
48
|
+
"@owlmeans/client-entrypoint": "^0.1.18-rc.15",
|
|
49
|
+
"@owlmeans/config": "^0.1.18-rc.14",
|
|
50
|
+
"@owlmeans/context": "^0.1.18-rc.10",
|
|
51
|
+
"@owlmeans/kluster": "^0.1.18-rc.14",
|
|
52
|
+
"@owlmeans/entrypoint": "^0.1.18-rc.13",
|
|
53
|
+
"@owlmeans/redis-resource": "^0.1.18-rc.14",
|
|
54
|
+
"@owlmeans/resource": "^0.1.18-rc.11",
|
|
55
|
+
"@owlmeans/route": "^0.1.18-rc.11",
|
|
56
|
+
"@owlmeans/server-api": "^0.1.18-rc.19",
|
|
57
|
+
"@owlmeans/server-context": "^0.1.18-rc.14",
|
|
58
|
+
"@owlmeans/server-entrypoint": "^0.1.18-rc.13",
|
|
59
|
+
"@owlmeans/server-route": "^0.1.18-rc.11",
|
|
60
|
+
"@owlmeans/server-socket": "^0.1.18-rc.20",
|
|
61
|
+
"@owlmeans/socket": "^0.1.18-rc.11",
|
|
62
|
+
"@owlmeans/static-resource": "^0.1.18-rc.11",
|
|
63
63
|
"@scure/base": "^2.3.0"
|
|
64
64
|
},
|
|
65
65
|
"peerDependencies": {
|
|
@@ -67,8 +67,8 @@
|
|
|
67
67
|
},
|
|
68
68
|
"devDependencies": {
|
|
69
69
|
"@owlmeans/dep-config": "workspace:*",
|
|
70
|
-
"@owlmeans/test-auth": "^0.1.18-rc.
|
|
71
|
-
"@types/bun": "^1.
|
|
70
|
+
"@owlmeans/test-auth": "^0.1.18-rc.15",
|
|
71
|
+
"@types/bun": "^1.4.0",
|
|
72
72
|
"@types/node": "^26.1.0",
|
|
73
73
|
"nodemon": "^3.1.14",
|
|
74
74
|
"typescript": "^7.0.2"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
import { elevate } from '@owlmeans/server-entrypoint'
|
|
3
|
-
import {
|
|
3
|
+
import { entrypoints as list } from '@owlmeans/auth-common'
|
|
4
4
|
import { DISPATCHER, DISPATCHER_AUTHEN } from '@owlmeans/auth'
|
|
5
5
|
import type { ServerEntrypoint } from '@owlmeans/server-entrypoint'
|
|
6
6
|
import { authenticate } from './actions/service.js'
|
|
@@ -9,9 +9,9 @@ import { stab, elevate as celevate } from '@owlmeans/client-entrypoint'
|
|
|
9
9
|
elevate(list, DISPATCHER_AUTHEN, authenticate)
|
|
10
10
|
celevate(list, DISPATCHER, stab)
|
|
11
11
|
|
|
12
|
-
export const
|
|
12
|
+
export const entrypoints: ServerEntrypoint<unknown>[] = [
|
|
13
13
|
...list.filter(
|
|
14
14
|
(module): module is ServerEntrypoint<unknown> =>
|
|
15
|
-
[DISPATCHER, DISPATCHER_AUTHEN].includes(module.
|
|
15
|
+
[DISPATCHER, DISPATCHER_AUTHEN].includes(module.alias)
|
|
16
16
|
)
|
|
17
17
|
]
|
package/src/index.ts
CHANGED
package/src/manager/README.md
CHANGED
|
@@ -38,7 +38,7 @@ The manager is built on the OwlMeans module system, providing:
|
|
|
38
38
|
This manager app is part of the `@owlmeans/server-auth` package:
|
|
39
39
|
|
|
40
40
|
```bash
|
|
41
|
-
npm install @owlmeans/server-auth
|
|
41
|
+
npm install @owlmeans/server-auth@^0.1.18-rc.17
|
|
42
42
|
```
|
|
43
43
|
|
|
44
44
|
## API Reference
|
package/src/manager/context.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
|
|
2
2
|
import { AUTHEN, AUTHEN_AUTHEN, AUTHEN_INIT, AUTHEN_RELY, MOD_RECAPTCHA } from '@owlmeans/auth'
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { entrypoints as list } from '@owlmeans/auth-common'
|
|
4
|
+
import { entrypoints as apiConfig } from '@owlmeans/api-config-server'
|
|
5
5
|
import { elevate, guard } from '@owlmeans/server-entrypoint'
|
|
6
6
|
import * as actions from './actions/index.js'
|
|
7
7
|
import { entrypoint } from '@owlmeans/client-entrypoint'
|
|
@@ -10,13 +10,13 @@ import { handleIntermediate } from '@owlmeans/server-api'
|
|
|
10
10
|
import { DEFAULT_RELY } from './consts.js'
|
|
11
11
|
|
|
12
12
|
elevate(list, AUTHEN, handleIntermediate(
|
|
13
|
-
async (_, context) =>
|
|
13
|
+
async (_, context) => context
|
|
14
14
|
), { intermediate: true })
|
|
15
15
|
elevate(list, AUTHEN_INIT, actions.authenticationInit)
|
|
16
16
|
elevate(list, AUTHEN_AUTHEN, actions.authenticate)
|
|
17
17
|
elevate(list, AUTHEN_RELY, actions.rely, guard(DEFAULT_RELY))
|
|
18
18
|
|
|
19
|
-
export const
|
|
19
|
+
export const entrypoints = list
|
|
20
20
|
list.push(...apiConfig)
|
|
21
21
|
list.push(
|
|
22
22
|
entrypoint(
|
package/src/manager/index.ts
CHANGED
package/src/manager/main.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
|
|
2
|
-
import {
|
|
2
|
+
import { entrypoints } from './entrypoints.js'
|
|
3
3
|
import type { AppContext, AppConfig } from './types.js'
|
|
4
4
|
|
|
5
5
|
export const main = async <C extends AppConfig, T extends AppContext<C>>(ctx: T) => {
|
|
6
|
-
ctx.registerEntrypoints(
|
|
6
|
+
ctx.registerEntrypoints(entrypoints)
|
|
7
7
|
await ctx.configure().init()
|
|
8
8
|
await ctx.getApiServer().listen()
|
|
9
9
|
}
|
package/src/manager/model.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { AuthModel, AppConfig, AppContext } from './types.js'
|
|
2
|
-
import { AuthenFailed, AuthenPayloadError } from '@owlmeans/auth'
|
|
2
|
+
import { AuthenFailed, AuthenPayloadError, entitySlugOf } from '@owlmeans/auth'
|
|
3
3
|
import type { AuthCredentials } from '@owlmeans/auth'
|
|
4
|
+
import type { EntityResolverService } from '@owlmeans/auth-common'
|
|
5
|
+
import { ENTITY_RESOLVER } from '@owlmeans/auth-common'
|
|
4
6
|
import { getPlugin } from './plugins/utils.js'
|
|
5
7
|
import { AUTH_CACHE, AUTHEN_TIMEFRAME } from '../consts.js'
|
|
6
8
|
import { EnvelopeKind, makeEnvelopeModel } from '@owlmeans/basic-envelope'
|
|
@@ -75,6 +77,19 @@ export const makeAuthModel = (context: AppContext<AppConfig>): AuthModel => {
|
|
|
75
77
|
const { token } = await plugin.authenticate(Object.assign(credential, { challenge: msg }))
|
|
76
78
|
credential.challenge = token === '' ? challenge : token
|
|
77
79
|
|
|
80
|
+
// Plugins accept whatever the caller typed — a current slug, a slug the organization has
|
|
81
|
+
// since retired, or (for a token minted before slugs existed) its stable key. The token is
|
|
82
|
+
// signed once and read for as long as it lives, so the value is canonicalized here rather
|
|
83
|
+
// than at every place that later reads it back.
|
|
84
|
+
const entitySlug = entitySlugOf(credential)
|
|
85
|
+
if (entitySlug != null && context.hasService(ENTITY_RESOLVER)) {
|
|
86
|
+
const entity = await context.service<EntityResolverService>(ENTITY_RESOLVER).resolve(entitySlug)
|
|
87
|
+
if (entity == null) {
|
|
88
|
+
throw new AuthenFailed('entity')
|
|
89
|
+
}
|
|
90
|
+
credential.entitySlug = entity.slug
|
|
91
|
+
}
|
|
92
|
+
|
|
78
93
|
credential.credential = trustedUser.id
|
|
79
94
|
|
|
80
95
|
return {
|
|
@@ -23,8 +23,8 @@ export const basicEd25519 = <C extends AppConfig, T extends AppContext<C>>(conte
|
|
|
23
23
|
/**
|
|
24
24
|
* @TODO We need to find users in some db not just in static
|
|
25
25
|
*/
|
|
26
|
-
const systemUser = await context.getConfigResource(TRUSTED)
|
|
27
|
-
.load
|
|
26
|
+
const systemUser = await context.getConfigResource<TrustedRecord>(TRUSTED)
|
|
27
|
+
.load(credential.userId)
|
|
28
28
|
|
|
29
29
|
if (systemUser == null) {
|
|
30
30
|
throw new AuthenFailed()
|
|
@@ -7,17 +7,18 @@ import { trusted } from '../utils/trusted.js'
|
|
|
7
7
|
import { EnvelopeKind, makeEnvelopeModel } from '@owlmeans/basic-envelope'
|
|
8
8
|
import { AUTH_CACHE } from '../../consts.js'
|
|
9
9
|
import { ResourceError } from '@owlmeans/resource'
|
|
10
|
+
import type { Unsubscribe } from '@owlmeans/resource'
|
|
10
11
|
import { RELY_CALL_TIMEOUT, RELY_PIN_PERFIX, RELY_TOKEN_PREFIX } from '@owlmeans/auth-common'
|
|
11
12
|
|
|
12
|
-
const _subscriptions: Record<string,
|
|
13
|
+
const _subscriptions: Record<string, Unsubscribe> = {}
|
|
13
14
|
export const basicRely = (context: AppContext, type?: string): AuthPlugin => {
|
|
14
15
|
const plugin: AuthPlugin = {
|
|
15
16
|
type: type ?? AuthenticationType.RelyHandshake,
|
|
16
17
|
|
|
17
18
|
// This method is used by consumer and by provider (wallet)
|
|
18
19
|
// to initialize shared authentication process.
|
|
19
|
-
// The idea is that both
|
|
20
|
-
//
|
|
20
|
+
// The idea is that both watch the record holding their own pin/token and wake
|
|
21
|
+
// up when the peer writes its handshake value into it.
|
|
21
22
|
init: async (request: RelyAllowanceRequest): Promise<AllowanceResponse> => {
|
|
22
23
|
const [, keyPair] = await trusted(context)
|
|
23
24
|
const tunnel = context.resource<AuthRedisResource>(AUTH_CACHE)
|
|
@@ -41,8 +42,8 @@ export const basicRely = (context: AppContext, type?: string): AuthPlugin => {
|
|
|
41
42
|
|
|
42
43
|
if (request.provideRely != null) {
|
|
43
44
|
await Promise.all([pin, token].filter(key => key != null).map(async key => {
|
|
44
|
-
_subscriptions[key] = await tunnel.
|
|
45
|
-
if (value
|
|
45
|
+
_subscriptions[key] = await tunnel.watch(key, async value => {
|
|
46
|
+
if (value?.challenge != null) {
|
|
46
47
|
const rely = makeEnvelopeModel<RelyToken>(value.challenge, EnvelopeKind.Wrap)
|
|
47
48
|
if (await rely.verify(keyPair)) {
|
|
48
49
|
[pin, token].filter(key => key != null).forEach(key => {
|
|
@@ -54,7 +55,7 @@ export const basicRely = (context: AppContext, type?: string): AuthPlugin => {
|
|
|
54
55
|
await request.provideRely?.(rely.message(), relyMsg, true)
|
|
55
56
|
}
|
|
56
57
|
}
|
|
57
|
-
}, {
|
|
58
|
+
}, { once: true })
|
|
58
59
|
|
|
59
60
|
// @TODO they need to be killed on close - but actually live a little bit longer
|
|
60
61
|
// then timeout for them is ok
|
|
@@ -23,13 +23,13 @@ export const reCaptcha = <C extends AppConfig, T extends AppContext<C>>(context:
|
|
|
23
23
|
},
|
|
24
24
|
|
|
25
25
|
authenticate: async credential => {
|
|
26
|
-
const cfg = context.getConfigResource(PLUGINS)
|
|
27
|
-
const config = await cfg.get
|
|
26
|
+
const cfg = context.getConfigResource<PluginConfig>(PLUGINS)
|
|
27
|
+
const config = await cfg.get(MOD_RECAPTCHA)
|
|
28
28
|
if (config.value == null) {
|
|
29
29
|
throw new PluginMissconfigured('value')
|
|
30
30
|
}
|
|
31
31
|
const validateRecaptcha = context.entrypoint<ClientEntrypoint<RecpatchaResponse>>(MOD_RECAPTCHA)
|
|
32
|
-
const
|
|
32
|
+
const { value: result, outcome: status } = await validateRecaptcha.invoke<RecpatchaResponse, RecaptchaRequest>({
|
|
33
33
|
body: {
|
|
34
34
|
secret: config.value,
|
|
35
35
|
response: credential.credential
|
|
@@ -48,8 +48,8 @@ export const makeSupervisorPlugin = (
|
|
|
48
48
|
let matched: string | null = null
|
|
49
49
|
for (const alias of opts.supervisors) {
|
|
50
50
|
try {
|
|
51
|
-
const record = await context.getConfigResource(TRUSTED)
|
|
52
|
-
.load
|
|
51
|
+
const record = await context.getConfigResource<TrustedRecord>(TRUSTED)
|
|
52
|
+
.load({ name: alias })
|
|
53
53
|
if (record?.credential == null) {
|
|
54
54
|
continue
|
|
55
55
|
}
|
|
@@ -71,8 +71,8 @@ export const makeSupervisorPlugin = (
|
|
|
71
71
|
|
|
72
72
|
credential.userId = resolution.userId
|
|
73
73
|
credential.profileId = resolution.profileId ?? resolution.userId
|
|
74
|
-
if (resolution.
|
|
75
|
-
credential.
|
|
74
|
+
if (resolution.entitySlug != null) {
|
|
75
|
+
credential.entitySlug = resolution.entitySlug
|
|
76
76
|
}
|
|
77
77
|
credential.scopes = resolution.scopes ?? credential.scopes ?? [ALL_SCOPES]
|
|
78
78
|
credential.role = resolution.role ?? AuthRole.User
|
package/src/manager/rely/flow.ts
CHANGED
|
@@ -38,7 +38,7 @@ export const createRelyFlow = (context: AppContext, conn: Connection, auth?: Aut
|
|
|
38
38
|
await closeReceiver()
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
|
-
}, source.nonce)
|
|
41
|
+
}, { channel: source.nonce })
|
|
42
42
|
// We allow to just forward call messages back and forth
|
|
43
43
|
conn._receiveCall = async msg => { console.info(source.nonce, 'Forward call', msg.method, msg.id) }
|
|
44
44
|
conn._receiveResult = async msg => { console.info(source.nonce, 'Forward result', msg.id) }
|
|
@@ -10,7 +10,7 @@ import { makeSupervisorPlugin } from './plugins/supervisor.js'
|
|
|
10
10
|
* token will represent. Only `userId` is required - the rest default sensibly.
|
|
11
11
|
*/
|
|
12
12
|
export interface SupervisorUserResolution extends Partial<Pick<AuthPayload,
|
|
13
|
-
'profileId' | '
|
|
13
|
+
'profileId' | 'entitySlug' | 'role' | 'scopes'>> {
|
|
14
14
|
userId: string
|
|
15
15
|
}
|
|
16
16
|
|
|
@@ -43,7 +43,7 @@ export interface SupervisorAuthOptions {
|
|
|
43
43
|
enabled?: boolean
|
|
44
44
|
/**
|
|
45
45
|
* Also accept internal owlmeans `Ed25519BasicToken`s even when another guard
|
|
46
|
-
* (e.g. OIDC) is the primary guard on protected
|
|
46
|
+
* (e.g. OIDC) is the primary guard on protected entrypoints. Default: true.
|
|
47
47
|
*/
|
|
48
48
|
acceptInternalTokens?: boolean
|
|
49
49
|
/** The internal-token guard to add as a coguard. Default: DEFAULT_GUARD ('auth'). */
|
|
@@ -57,15 +57,15 @@ const isDevelopment = (context: { cfg: { debug?: { all?: boolean, supervisor?: b
|
|
|
57
57
|
|
|
58
58
|
/**
|
|
59
59
|
* Ensure the internal `Ed25519BasicToken` guard is accepted as a coguard on every
|
|
60
|
-
* already-guarded backend
|
|
60
|
+
* already-guarded backend entrypoint, so internal owlmeans tokens keep working even
|
|
61
61
|
* when another guard (e.g. OIDC) is the primary guard. The primary guard stays
|
|
62
62
|
* first; the internal guard is appended as a fallback (its `match` only fires for
|
|
63
63
|
* an `Ed25519BasicToken` authorization header).
|
|
64
64
|
*/
|
|
65
65
|
export const setupInternalTokenCoguard = (
|
|
66
|
-
|
|
66
|
+
entrypoints: Array<{ guards?: string[] }>, guard: string = DEFAULT_GUARD
|
|
67
67
|
): void => {
|
|
68
|
-
|
|
68
|
+
entrypoints.forEach(module => {
|
|
69
69
|
if (module.guards != null && module.guards.length > 0 && !module.guards.includes(guard)) {
|
|
70
70
|
module.guards.push(guard)
|
|
71
71
|
}
|
|
@@ -78,7 +78,7 @@ export const setupInternalTokenCoguard = (
|
|
|
78
78
|
*
|
|
79
79
|
* It registers the supervisor auth plugin (verifies a front-end signature against
|
|
80
80
|
* the allowlisted trusted keys, then resolves/registers the target user) and -
|
|
81
|
-
* unless disabled - makes protected
|
|
81
|
+
* unless disabled - makes protected entrypoints also accept internal owlmeans tokens
|
|
82
82
|
* (requirement: understand internal tokens even when OIDC is the primary guard).
|
|
83
83
|
*/
|
|
84
84
|
export const appendSupervisorAuth = <C extends AppConfig, T extends AppContext<C>>(
|
package/src/service.ts
CHANGED
|
@@ -92,7 +92,7 @@ export const makeAuthService = (alias: string = DEFAULT_ALIAS): AuthService => {
|
|
|
92
92
|
type: AuthroizationType.Ed25519BasicToken,
|
|
93
93
|
source: context.cfg.service,
|
|
94
94
|
profileId: credentials.profileId,
|
|
95
|
-
|
|
95
|
+
entitySlug: credentials.entitySlug,
|
|
96
96
|
isUser: true,
|
|
97
97
|
createdAt: new Date()
|
|
98
98
|
}
|