@owlmeans/client-auth 0.1.18-rc.13 → 0.1.18-rc.15
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/agent-meta/manifest.json +2 -2
- package/agent-meta/skills/client-auth/SKILL.md +7 -1
- package/build/login/credit.d.ts +5 -0
- package/build/login/credit.d.ts.map +1 -1
- package/build/login/credit.js +43 -9
- package/build/login/credit.js.map +1 -1
- package/build/login/flow.d.ts +20 -0
- package/build/login/flow.d.ts.map +1 -0
- package/build/login/flow.js +39 -0
- package/build/login/flow.js.map +1 -0
- package/build/login/i18n/be.json +1 -1
- package/build/login/i18n/de.json +1 -1
- package/build/login/i18n/en.json +1 -1
- package/build/login/i18n/es.json +1 -1
- package/build/login/i18n/pl.json +1 -1
- package/build/login/i18n/ru.json +1 -1
- package/build/login/i18n/uk.json +1 -1
- package/build/login/index.d.ts +1 -0
- package/build/login/index.d.ts.map +1 -1
- package/build/login/index.js +1 -0
- package/build/login/index.js.map +1 -1
- package/build/login/resume.d.ts +10 -0
- package/build/login/resume.d.ts.map +1 -1
- package/build/login/resume.js +22 -0
- package/build/login/resume.js.map +1 -1
- package/build/login/screen.d.ts +13 -0
- package/build/login/screen.d.ts.map +1 -1
- package/build/login/screen.js +27 -14
- package/build/login/screen.js.map +1 -1
- package/build/login/types.d.ts +9 -1
- package/build/login/types.d.ts.map +1 -1
- package/build/manager/plugins/basic-ed25519.d.ts.map +1 -1
- package/build/manager/plugins/basic-ed25519.js +4 -0
- package/build/manager/plugins/basic-ed25519.js.map +1 -1
- package/build/manager/plugins/methods.d.ts +0 -4
- package/build/manager/plugins/methods.d.ts.map +1 -1
- package/build/manager/plugins/methods.js +25 -6
- package/build/manager/plugins/methods.js.map +1 -1
- package/build/manager/plugins/re-captcha.d.ts.map +1 -1
- package/build/manager/plugins/re-captcha.js +3 -0
- package/build/manager/plugins/re-captcha.js.map +1 -1
- package/build/manager/plugins/tunnel-consumer.d.ts.map +1 -1
- package/build/manager/plugins/tunnel-consumer.js +3 -0
- package/build/manager/plugins/tunnel-consumer.js.map +1 -1
- package/build/manager/plugins/types.d.ts +22 -0
- package/build/manager/plugins/types.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/login/credit.ts +47 -9
- package/src/login/flow.ts +44 -0
- package/src/login/i18n/be.json +1 -1
- package/src/login/i18n/de.json +1 -1
- package/src/login/i18n/en.json +1 -1
- package/src/login/i18n/es.json +1 -1
- package/src/login/i18n/pl.json +1 -1
- package/src/login/i18n/ru.json +1 -1
- package/src/login/i18n/uk.json +1 -1
- package/src/login/index.ts +1 -0
- package/src/login/resume.ts +23 -0
- package/src/login/screen.tsx +27 -13
- package/src/login/types.ts +9 -1
- package/src/manager/plugins/basic-ed25519.tsx +5 -0
- package/src/manager/plugins/methods.ts +29 -7
- package/src/manager/plugins/re-captcha.tsx +4 -0
- package/src/manager/plugins/tunnel-consumer.tsx +4 -0
- package/src/manager/plugins/types.ts +22 -0
- package/tests/login.spec.ts +115 -4
- package/build/.gitkeep +0 -0
package/agent-meta/manifest.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 2,
|
|
3
3
|
"package": "@owlmeans/client-auth",
|
|
4
|
-
"version": "0.1.18-rc.
|
|
5
|
-
"generatedAt": "2026-
|
|
4
|
+
"version": "0.1.18-rc.15",
|
|
5
|
+
"generatedAt": "2026-09-01T12:30:48.594Z",
|
|
6
6
|
"canonicalRepo": "https://github.com/owlmeans/common",
|
|
7
7
|
"entries": [
|
|
8
8
|
{
|
|
@@ -8,7 +8,7 @@ user-invocable: false
|
|
|
8
8
|
# @owlmeans/client-auth
|
|
9
9
|
|
|
10
10
|
**Layer:** Client
|
|
11
|
-
**Install:** `"@owlmeans/client-auth": "^0.1.18-rc.
|
|
11
|
+
**Install:** `"@owlmeans/client-auth": "^0.1.18-rc.15"` in `dependencies`
|
|
12
12
|
|
|
13
13
|
## Key Exports
|
|
14
14
|
|
|
@@ -44,6 +44,12 @@ can complete at all. Do not conflate them.
|
|
|
44
44
|
| Export | Description |
|
|
45
45
|
|--------|-------------|
|
|
46
46
|
| `appendLogin(ctx)` | Register the host and expose it as `context.login()` |
|
|
47
|
+
| `registerMethodSource`, `resolveLoginMethods`, `primaryLoginMethod` | Which sign-in methods are offered — see `login-methods` |
|
|
48
|
+
| `resolveTerms`, `termsAccepted`, `acceptTerms`, `resolveCredit` | The confirmation and the credit line |
|
|
49
|
+
| `FallbackLoginScreen` | The plain sign-in screen a relying party renders when no UI family registered one |
|
|
50
|
+
| `surrogatePath(ctx, target)` | Where a surrogate login window opens; `null` on an older entrypoint list |
|
|
51
|
+
| `resumeAction(outcome)` | The one reading of a `resume` outcome, shared by three dispatchers |
|
|
52
|
+
| `revokeToken(ctx)` | The single de-adoption path, mirroring `adoptToken` |
|
|
47
53
|
| `ensureLoginService(ctx)` | Idempotently obtain the host — what a plugin package calls before `registerPlugin` |
|
|
48
54
|
| `makeLoginService(alias?)` | The host itself: a **lazy** service, so `makeContext` can reach it at the Loading stage |
|
|
49
55
|
| `LoginPlugin`, `LoginEnv`, `LoginRequest`, `LoginOutcome`, `LoginService` | The contract |
|
package/build/login/credit.d.ts
CHANGED
|
@@ -8,6 +8,11 @@ export interface ResolvedCredit {
|
|
|
8
8
|
/**
|
|
9
9
|
* What the bottom of the sign-in screen says.
|
|
10
10
|
*
|
|
11
|
+
* It is a copyright notice, so it is composed as one: `© <year> <holder>`. That is the whole
|
|
12
|
+
* reason `copyright` defaults to on — the name on its own reads as a caption, and an application
|
|
13
|
+
* that means to assert a copyright would have had to write the mark and the year into a literal
|
|
14
|
+
* `line` to get one.
|
|
15
|
+
*
|
|
11
16
|
* The organization falls back to its slug because an organization record carries no readable name
|
|
12
17
|
* — so "no name" is the ordinary case, not an error, and a screen that rendered an empty line for
|
|
13
18
|
* it would be worse than one that renders the slug.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credit.d.ts","sourceRoot":"","sources":["../../src/login/credit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAExE,MAAM,WAAW,cAAc;IAC7B,iDAAiD;IACjD,SAAS,EAAE,OAAO,CAAA;IAClB,8FAA8F;IAC9F,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CACpB;
|
|
1
|
+
{"version":3,"file":"credit.d.ts","sourceRoot":"","sources":["../../src/login/credit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAExE,MAAM,WAAW,cAAc;IAC7B,iDAAiD;IACjD,SAAS,EAAE,OAAO,CAAA;IAClB,8FAA8F;IAC9F,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CACpB;AAuBD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa,SAClB,iBAAiB,UAAU,aAAa,YAAY,MAAM,KAC/D,cA2BF,CAAA"}
|
package/build/login/credit.js
CHANGED
|
@@ -1,6 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The years one notice covers.
|
|
3
|
+
*
|
|
4
|
+
* A range only while the first year is genuinely in the past — an app configured with the current
|
|
5
|
+
* year, or with a year a skewed clock puts in the future, still gets a well-formed notice rather
|
|
6
|
+
* than `© 2026–2026` or a range that runs backwards.
|
|
7
|
+
*/
|
|
8
|
+
const years = (since, now) => since != null && since > 0 && since < now ? `${since}–${now}` : `${now}`;
|
|
9
|
+
/**
|
|
10
|
+
* A configured value that was actually SET.
|
|
11
|
+
*
|
|
12
|
+
* Empty is how a build-time default spells "unset", and this config is filled from environment
|
|
13
|
+
* variables a platform delivers — `BRANDING_ORGANIZATION: meta.brandingOrganization ?? ''` is the
|
|
14
|
+
* shape of every one of them. `??` does not fall through an empty string, so an undelivered
|
|
15
|
+
* organization used to win the fallback chain and compose a line ending in a bare dash.
|
|
16
|
+
*/
|
|
17
|
+
const set = (value) => value != null && value.trim() !== '' ? value : null;
|
|
1
18
|
/**
|
|
2
19
|
* What the bottom of the sign-in screen says.
|
|
3
20
|
*
|
|
21
|
+
* It is a copyright notice, so it is composed as one: `© <year> <holder>`. That is the whole
|
|
22
|
+
* reason `copyright` defaults to on — the name on its own reads as a caption, and an application
|
|
23
|
+
* that means to assert a copyright would have had to write the mark and the year into a literal
|
|
24
|
+
* `line` to get one.
|
|
25
|
+
*
|
|
4
26
|
* The organization falls back to its slug because an organization record carries no readable name
|
|
5
27
|
* — so "no name" is the ordinary case, not an error, and a screen that rendered an empty line for
|
|
6
28
|
* it would be worse than one that renders the slug.
|
|
@@ -10,15 +32,27 @@
|
|
|
10
32
|
*/
|
|
11
33
|
export const resolveCredit = (cfg, brand, service) => {
|
|
12
34
|
const poweredBy = cfg?.poweredBy ?? true;
|
|
13
|
-
|
|
14
|
-
|
|
35
|
+
const literal = set(cfg?.line);
|
|
36
|
+
if (literal != null) {
|
|
37
|
+
return { poweredBy, line: literal };
|
|
15
38
|
}
|
|
16
|
-
const product = cfg?.product ?? brand?.name ?? service
|
|
17
|
-
const organization = cfg?.organization ?? brand?.organization
|
|
18
|
-
?? cfg?.entity ?? brand?.entity
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
39
|
+
const product = set(cfg?.product) ?? set(brand?.name) ?? set(service);
|
|
40
|
+
const organization = set(cfg?.organization) ?? set(brand?.organization)
|
|
41
|
+
?? set(cfg?.entity) ?? set(brand?.entity);
|
|
42
|
+
// Whoever the notice names. A product with no organization behind it holds its own copyright,
|
|
43
|
+
// which is why this falls through to the product rather than dropping the notice.
|
|
44
|
+
const holder = set(cfg?.holder) ?? organization ?? product;
|
|
45
|
+
const wording = typeof cfg?.copyright === 'string' ? set(cfg.copyright) : null;
|
|
46
|
+
const notice = cfg?.copyright === false || holder == null
|
|
47
|
+
? organization
|
|
48
|
+
: wording ?? `© ${years(cfg?.since, new Date().getFullYear())} ${holder}`;
|
|
49
|
+
// The product is named beside the notice only when it is not already the thing being claimed —
|
|
50
|
+
// "OwlMeans — © 2026 OwlMeans" says the name twice and neither time usefully.
|
|
51
|
+
return {
|
|
52
|
+
poweredBy,
|
|
53
|
+
line: product != null && notice != null && product !== holder
|
|
54
|
+
? `${product} — ${notice}`
|
|
55
|
+
: notice ?? product,
|
|
56
|
+
};
|
|
23
57
|
};
|
|
24
58
|
//# sourceMappingURL=credit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credit.js","sourceRoot":"","sources":["../../src/login/credit.ts"],"names":[],"mappings":"AASA
|
|
1
|
+
{"version":3,"file":"credit.js","sourceRoot":"","sources":["../../src/login/credit.ts"],"names":[],"mappings":"AASA;;;;;;GAMG;AACH,MAAM,KAAK,GAAG,CAAC,KAAyB,EAAE,GAAW,EAAU,EAAE,CAC/D,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAA;AAE1E;;;;;;;GAOG;AACH,MAAM,GAAG,GAAG,CAAC,KAAqB,EAAiB,EAAE,CACnD,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;AAErD;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,GAAuB,EAAE,KAAqB,EAAE,OAAgB,EAChD,EAAE;IAClB,MAAM,SAAS,GAAG,GAAG,EAAE,SAAS,IAAI,IAAI,CAAA;IACxC,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAC9B,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;QACpB,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;IACrC,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAA;IACrE,MAAM,YAAY,GAAG,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC;WAClE,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IAE3C,8FAA8F;IAC9F,kFAAkF;IAClF,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,YAAY,IAAI,OAAO,CAAA;IAC1D,MAAM,OAAO,GAAG,OAAO,GAAG,EAAE,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAC9E,MAAM,MAAM,GAAG,GAAG,EAAE,SAAS,KAAK,KAAK,IAAI,MAAM,IAAI,IAAI;QACvD,CAAC,CAAC,YAAY;QACd,CAAC,CAAC,OAAO,IAAI,KAAK,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,MAAM,EAAE,CAAA;IAE3E,+FAA+F;IAC/F,8EAA8E;IAC9E,OAAO;QACL,SAAS;QACT,IAAI,EAAE,OAAO,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,OAAO,KAAK,MAAM;YAC3D,CAAC,CAAC,GAAG,OAAO,MAAM,MAAM,EAAE;YAC1B,CAAC,CAAC,MAAM,IAAI,OAAO;KACtB,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { FlowModel } from '@owlmeans/flow';
|
|
2
|
+
/**
|
|
3
|
+
* Bring a freshly booted standard OIDC flow to the step an authorization request can be made from.
|
|
4
|
+
*
|
|
5
|
+
* `stdOidcFlow` starts at `Dispatch`, but `OidcAuthService.authenticate` refuses any state that is
|
|
6
|
+
* not `Ephemeral` and returns null — so an application whose flow was only booted can ask for an
|
|
7
|
+
* authorization URL all day and be told nothing, forever. The dispatcher in this package has always
|
|
8
|
+
* done this transition inline; a relying party that replaces that dispatcher (`web-oidc-rp`,
|
|
9
|
+
* `mui-oidc-rp`) inherited the requirement without the code, which is what left a sign-in button
|
|
10
|
+
* that reported no error and did nothing at all.
|
|
11
|
+
*
|
|
12
|
+
* `Ephemeral` is the branch for an application that is its OWN authority — its flow configuration
|
|
13
|
+
* maps the auth service to a placeholder, which is exactly the generated-application case. An app
|
|
14
|
+
* federated with a real auth service keeps its target and is left alone.
|
|
15
|
+
*
|
|
16
|
+
* Idempotent, and safe to call on every attempt: a flow already past `Dispatch`, or one that is
|
|
17
|
+
* not the standard OIDC flow at all, is returned untouched.
|
|
18
|
+
*/
|
|
19
|
+
export declare const enterOidcAuthorization: (model: FlowModel) => FlowModel;
|
|
20
|
+
//# sourceMappingURL=flow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flow.d.ts","sourceRoot":"","sources":["../../src/login/flow.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAG/C;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,sBAAsB,UAAW,SAAS,KAAG,SAsBzD,CAAA"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { FLOW_PLACEHOLDER, OidcAuthStep, STD_OIDC_FLOW } from '@owlmeans/flow';
|
|
2
|
+
import { DEFAULT_ENTITY } from '../consts.js';
|
|
3
|
+
/**
|
|
4
|
+
* Bring a freshly booted standard OIDC flow to the step an authorization request can be made from.
|
|
5
|
+
*
|
|
6
|
+
* `stdOidcFlow` starts at `Dispatch`, but `OidcAuthService.authenticate` refuses any state that is
|
|
7
|
+
* not `Ephemeral` and returns null — so an application whose flow was only booted can ask for an
|
|
8
|
+
* authorization URL all day and be told nothing, forever. The dispatcher in this package has always
|
|
9
|
+
* done this transition inline; a relying party that replaces that dispatcher (`web-oidc-rp`,
|
|
10
|
+
* `mui-oidc-rp`) inherited the requirement without the code, which is what left a sign-in button
|
|
11
|
+
* that reported no error and did nothing at all.
|
|
12
|
+
*
|
|
13
|
+
* `Ephemeral` is the branch for an application that is its OWN authority — its flow configuration
|
|
14
|
+
* maps the auth service to a placeholder, which is exactly the generated-application case. An app
|
|
15
|
+
* federated with a real auth service keeps its target and is left alone.
|
|
16
|
+
*
|
|
17
|
+
* Idempotent, and safe to call on every attempt: a flow already past `Dispatch`, or one that is
|
|
18
|
+
* not the standard OIDC flow at all, is returned untouched.
|
|
19
|
+
*/
|
|
20
|
+
export const enterOidcAuthorization = (model) => {
|
|
21
|
+
const state = model.state();
|
|
22
|
+
if (state.flow !== STD_OIDC_FLOW || state.step !== OidcAuthStep.Dispatch) {
|
|
23
|
+
return model;
|
|
24
|
+
}
|
|
25
|
+
const target = model.step().service;
|
|
26
|
+
if (state.service == null || state.service === '') {
|
|
27
|
+
model.target(target);
|
|
28
|
+
}
|
|
29
|
+
// The entity travels to this app's own backend, which resolves its default provider by `def`
|
|
30
|
+
// alone. It still has to BE there: the init endpoint rejects a body without one.
|
|
31
|
+
if (state.entityId == null) {
|
|
32
|
+
model.entity(DEFAULT_ENTITY);
|
|
33
|
+
}
|
|
34
|
+
if (target === FLOW_PLACEHOLDER) {
|
|
35
|
+
model.transit(OidcAuthStep.Ephemeral, true);
|
|
36
|
+
}
|
|
37
|
+
return model;
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=flow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flow.js","sourceRoot":"","sources":["../../src/login/flow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAE9E,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAE7C;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,KAAgB,EAAa,EAAE;IACpE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAA;IAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,QAAQ,EAAE,CAAC;QACzE,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAA;IACnC,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,KAAK,EAAE,EAAE,CAAC;QAClD,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IACtB,CAAC;IAED,6FAA6F;IAC7F,iFAAiF;IACjF,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;QAC3B,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;IAC9B,CAAC;IAED,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;QAChC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;IAC7C,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA"}
|
package/build/login/i18n/be.json
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"method": {
|
|
8
8
|
"google": "Працягнуць з Google",
|
|
9
9
|
"oidc": "Працягнуць з {{provider}}",
|
|
10
|
-
"oidc-default": "Увайсці",
|
|
10
|
+
"oidc-default": "Увайсці / Зарэгістравацца",
|
|
11
11
|
"oidc-client": "Працягнуць з {{provider}}",
|
|
12
12
|
"basic-ed25519": "Увайсці з ключом",
|
|
13
13
|
"pk-supervisor": "Сакрэтны ключ (аператар)",
|
package/build/login/i18n/de.json
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"method": {
|
|
8
8
|
"google": "Mit Google fortfahren",
|
|
9
9
|
"oidc": "Mit {{provider}} fortfahren",
|
|
10
|
-
"oidc-default": "Anmelden",
|
|
10
|
+
"oidc-default": "Anmelden / Registrieren",
|
|
11
11
|
"oidc-client": "Mit {{provider}} fortfahren",
|
|
12
12
|
"basic-ed25519": "Mit einem Schlüssel anmelden",
|
|
13
13
|
"pk-supervisor": "Geheimer Schlüssel (Betreiber)",
|
package/build/login/i18n/en.json
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"method": {
|
|
8
8
|
"google": "Continue with Google",
|
|
9
9
|
"oidc": "Continue with {{provider}}",
|
|
10
|
-
"oidc-default": "Sign in",
|
|
10
|
+
"oidc-default": "Sign in / Sign up",
|
|
11
11
|
"oidc-client": "Continue with {{provider}}",
|
|
12
12
|
"basic-ed25519": "Sign in with a key",
|
|
13
13
|
"pk-supervisor": "Secret key (operator)",
|
package/build/login/i18n/es.json
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"method": {
|
|
8
8
|
"google": "Continuar con Google",
|
|
9
9
|
"oidc": "Continuar con {{provider}}",
|
|
10
|
-
"oidc-default": "Iniciar sesión",
|
|
10
|
+
"oidc-default": "Iniciar sesión / Registrarse",
|
|
11
11
|
"oidc-client": "Continuar con {{provider}}",
|
|
12
12
|
"basic-ed25519": "Iniciar sesión con una clave",
|
|
13
13
|
"pk-supervisor": "Clave secreta (operador)",
|
package/build/login/i18n/pl.json
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"method": {
|
|
8
8
|
"google": "Kontynuuj z Google",
|
|
9
9
|
"oidc": "Kontynuuj z {{provider}}",
|
|
10
|
-
"oidc-default": "Zaloguj się",
|
|
10
|
+
"oidc-default": "Zaloguj się / Zarejestruj się",
|
|
11
11
|
"oidc-client": "Kontynuuj z {{provider}}",
|
|
12
12
|
"basic-ed25519": "Zaloguj się kluczem",
|
|
13
13
|
"pk-supervisor": "Klucz tajny (operator)",
|
package/build/login/i18n/ru.json
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"method": {
|
|
8
8
|
"google": "Продолжить с Google",
|
|
9
9
|
"oidc": "Продолжить с {{provider}}",
|
|
10
|
-
"oidc-default": "Войти",
|
|
10
|
+
"oidc-default": "Войти / Зарегистрироваться",
|
|
11
11
|
"oidc-client": "Продолжить с {{provider}}",
|
|
12
12
|
"basic-ed25519": "Войти с ключом",
|
|
13
13
|
"pk-supervisor": "Секретный ключ (оператор)",
|
package/build/login/i18n/uk.json
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"method": {
|
|
8
8
|
"google": "Продовжити з Google",
|
|
9
9
|
"oidc": "Продовжити з {{provider}}",
|
|
10
|
-
"oidc-default": "Увійти",
|
|
10
|
+
"oidc-default": "Увійти / Зареєструватися",
|
|
11
11
|
"oidc-client": "Продовжити з {{provider}}",
|
|
12
12
|
"basic-ed25519": "Увійти з ключем",
|
|
13
13
|
"pk-supervisor": "Секретний ключ (оператор)",
|
package/build/login/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/login/index.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,CAAA;AAElB,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/login/index.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,CAAA;AAElB,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA"}
|
package/build/login/index.js
CHANGED
package/build/login/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/login/index.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,CAAA;AAElB,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/login/index.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,CAAA;AAElB,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA"}
|
package/build/login/resume.d.ts
CHANGED
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
import { LoginOutcome } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* The message key a FINISHED sign-in attempt should show, or null when it actually went somewhere.
|
|
4
|
+
*
|
|
5
|
+
* A dispatcher may treat `Passed` as "carry on with the ordinary continuation", because it has one.
|
|
6
|
+
* A screen does not: the user clicked, the document did not move, and nothing rendered — which is
|
|
7
|
+
* indistinguishable from a broken button, and is exactly how a null authorization URL used to
|
|
8
|
+
* present itself. Every outcome that leaves the user looking at the same screen therefore has to
|
|
9
|
+
* say something.
|
|
10
|
+
*/
|
|
11
|
+
export declare const loginAttemptError: (outcome: LoginOutcome | null) => string | null;
|
|
2
12
|
/** What a dispatcher does once `login().resume(...)` has answered. */
|
|
3
13
|
export declare enum ResumeAction {
|
|
4
14
|
/** The plugin took it over — the browser is leaving, or the window is closing. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resume.d.ts","sourceRoot":"","sources":["../../src/login/resume.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzC,sEAAsE;AACtE,oBAAY,YAAY;IACtB,kFAAkF;IAClF,IAAI,SAAS;IACb,oFAAoF;IACpF,MAAM,WAAW;IACjB,sEAAsE;IACtE,QAAQ,aAAa;CACtB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,YAAa,YAAY,KAAG,YAYpD,CAAA"}
|
|
1
|
+
{"version":3,"file":"resume.d.ts","sourceRoot":"","sources":["../../src/login/resume.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzC;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,YAAa,YAAY,GAAG,IAAI,KAAG,MAAM,GAAG,IAYzE,CAAA;AAED,sEAAsE;AACtE,oBAAY,YAAY;IACtB,kFAAkF;IAClF,IAAI,SAAS;IACb,oFAAoF;IACpF,MAAM,WAAW;IACjB,sEAAsE;IACtE,QAAQ,aAAa;CACtB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,YAAa,YAAY,KAAG,YAYpD,CAAA"}
|
package/build/login/resume.js
CHANGED
|
@@ -1,4 +1,26 @@
|
|
|
1
1
|
import { LoginOutcome } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* The message key a FINISHED sign-in attempt should show, or null when it actually went somewhere.
|
|
4
|
+
*
|
|
5
|
+
* A dispatcher may treat `Passed` as "carry on with the ordinary continuation", because it has one.
|
|
6
|
+
* A screen does not: the user clicked, the document did not move, and nothing rendered — which is
|
|
7
|
+
* indistinguishable from a broken button, and is exactly how a null authorization URL used to
|
|
8
|
+
* present itself. Every outcome that leaves the user looking at the same screen therefore has to
|
|
9
|
+
* say something.
|
|
10
|
+
*/
|
|
11
|
+
export const loginAttemptError = (outcome) => {
|
|
12
|
+
switch (outcome) {
|
|
13
|
+
case LoginOutcome.Gesture:
|
|
14
|
+
// The window never opened. That is the popup blocker, and it has its own copy.
|
|
15
|
+
return 'login.error.blocked';
|
|
16
|
+
case LoginOutcome.Failed:
|
|
17
|
+
case LoginOutcome.Passed:
|
|
18
|
+
return 'login.error.failed';
|
|
19
|
+
default:
|
|
20
|
+
// Handled, Redirected and Orphaned all did something; Orphaned reports itself elsewhere.
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
};
|
|
2
24
|
/** What a dispatcher does once `login().resume(...)` has answered. */
|
|
3
25
|
export var ResumeAction;
|
|
4
26
|
(function (ResumeAction) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resume.js","sourceRoot":"","sources":["../../src/login/resume.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzC,sEAAsE;AACtE,MAAM,CAAN,IAAY,YAOX;AAPD,WAAY,YAAY;IACtB,kFAAkF;IAClF,6BAAa,CAAA;IACb,oFAAoF;IACpF,iCAAiB,CAAA;IACjB,sEAAsE;IACtE,qCAAqB,CAAA;AACvB,CAAC,EAPW,YAAY,KAAZ,YAAY,QAOvB;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAqB,EAAgB,EAAE;IAClE,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,YAAY,CAAC,OAAO,CAAC;QAC1B,KAAK,YAAY,CAAC,UAAU;YAC1B,OAAO,YAAY,CAAC,IAAI,CAAA;QAC1B,KAAK,YAAY,CAAC,QAAQ,CAAC;QAC3B,KAAK,YAAY,CAAC,MAAM,CAAC;QACzB,KAAK,YAAY,CAAC,OAAO;YACvB,OAAO,YAAY,CAAC,MAAM,CAAA;QAC5B;YACE,OAAO,YAAY,CAAC,QAAQ,CAAA;IAChC,CAAC;AACH,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"resume.js","sourceRoot":"","sources":["../../src/login/resume.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,OAA4B,EAAiB,EAAE;IAC/E,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,YAAY,CAAC,OAAO;YACvB,+EAA+E;YAC/E,OAAO,qBAAqB,CAAA;QAC9B,KAAK,YAAY,CAAC,MAAM,CAAC;QACzB,KAAK,YAAY,CAAC,MAAM;YACtB,OAAO,oBAAoB,CAAA;QAC7B;YACE,yFAAyF;YACzF,OAAO,IAAI,CAAA;IACf,CAAC;AACH,CAAC,CAAA;AAED,sEAAsE;AACtE,MAAM,CAAN,IAAY,YAOX;AAPD,WAAY,YAAY;IACtB,kFAAkF;IAClF,6BAAa,CAAA;IACb,oFAAoF;IACpF,iCAAiB,CAAA;IACjB,sEAAsE;IACtE,qCAAqB,CAAA;AACvB,CAAC,EAPW,YAAY,KAAZ,YAAY,QAOvB;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAqB,EAAgB,EAAE;IAClE,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,YAAY,CAAC,OAAO,CAAC;QAC1B,KAAK,YAAY,CAAC,UAAU;YAC1B,OAAO,YAAY,CAAC,IAAI,CAAA;QAC1B,KAAK,YAAY,CAAC,QAAQ,CAAC;QAC3B,KAAK,YAAY,CAAC,MAAM,CAAC;QACzB,KAAK,YAAY,CAAC,OAAO;YACvB,OAAO,YAAY,CAAC,MAAM,CAAA;QAC5B;YACE,OAAO,YAAY,CAAC,QAAQ,CAAA;IAChC,CAAC;AACH,CAAC,CAAA"}
|
package/build/login/screen.d.ts
CHANGED
|
@@ -1,4 +1,17 @@
|
|
|
1
1
|
import type { FC } from 'react';
|
|
2
2
|
import type { LoginScreenProps } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* The sign-in screen every application gets, whether or not it registered a styled one.
|
|
5
|
+
*
|
|
6
|
+
* It exists because a relying party must render SOMETHING rather than start a flow on its own, and
|
|
7
|
+
* a relying party may not depend on a UI family. So this is deliberately plain: raw elements and
|
|
8
|
+
* inline styles, no Tailwind class that a consumer's stylesheet would have to scan for, no shadcn
|
|
9
|
+
* primitive a consumer would have to vendor. An application that registers a real screen through
|
|
10
|
+
* `login().registerScreen(...)` never sees it.
|
|
11
|
+
*
|
|
12
|
+
* Because it is the floor rather than the design, it still has to be correct: it offers the same
|
|
13
|
+
* methods, enforces the same terms confirmation, centres the same way, and renders the same
|
|
14
|
+
* credit line.
|
|
15
|
+
*/
|
|
3
16
|
export declare const FallbackLoginScreen: FC<LoginScreenProps>;
|
|
4
17
|
//# sourceMappingURL=screen.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screen.d.ts","sourceRoot":"","sources":["../../src/login/screen.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,EAAE,EAAE,MAAM,OAAO,CAAA;AAG9C,OAAO,KAAK,EAA6B,gBAAgB,EAAgB,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"screen.d.ts","sourceRoot":"","sources":["../../src/login/screen.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,EAAE,EAAE,MAAM,OAAO,CAAA;AAG9C,OAAO,KAAK,EAA6B,gBAAgB,EAAgB,MAAM,YAAY,CAAA;AA+B3F;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,mBAAmB,EAAE,EAAE,CAAC,gBAAgB,CAuFpD,CAAA"}
|
package/build/login/screen.js
CHANGED
|
@@ -6,27 +6,40 @@ import { primaryLoginMethod } from './methods.js';
|
|
|
6
6
|
import { acceptTerms, resolveTerms, termsAccepted } from './terms.js';
|
|
7
7
|
import { resolveCredit } from './credit.js';
|
|
8
8
|
/**
|
|
9
|
-
* The
|
|
9
|
+
* The page the card sits in.
|
|
10
10
|
*
|
|
11
|
-
* It
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* primitive a consumer would have to vendor. An application that registers a real screen through
|
|
15
|
-
* `login().registerScreen(...)` never sees it.
|
|
16
|
-
*
|
|
17
|
-
* Because it is the floor rather than the design, it still has to be correct: it offers the same
|
|
18
|
-
* methods, enforces the same terms confirmation, and renders the same credit line.
|
|
11
|
+
* It carries its own viewport height because this screen is rendered straight out of the
|
|
12
|
+
* dispatcher, into whatever the application happens to have around it — which is usually nothing
|
|
13
|
+
* with a height, so a percentage minimum would resolve to zero and leave the card at the top.
|
|
19
14
|
*/
|
|
20
|
-
const
|
|
21
|
-
|
|
15
|
+
const page = {
|
|
16
|
+
display: 'flex', alignItems: 'center', justifyContent: 'center',
|
|
17
|
+
minHeight: '100dvh', padding: '1rem',
|
|
22
18
|
fontFamily: 'system-ui, sans-serif', lineHeight: 1.5,
|
|
23
19
|
};
|
|
20
|
+
// Centred throughout, so the plain screen and the styled one read the same way.
|
|
21
|
+
const box = {
|
|
22
|
+
width: '100%', maxWidth: '24rem', padding: '1.5rem', textAlign: 'center',
|
|
23
|
+
};
|
|
24
24
|
const button = (emphasis) => ({
|
|
25
25
|
display: 'block', width: '100%', marginTop: '.5rem', padding: '.625rem 1rem',
|
|
26
26
|
fontSize: '1rem', cursor: 'pointer', borderRadius: '.375rem',
|
|
27
27
|
border: '1px solid currentColor',
|
|
28
28
|
...(emphasis === 'primary' ? { fontWeight: 600 } : {}),
|
|
29
29
|
});
|
|
30
|
+
/**
|
|
31
|
+
* The sign-in screen every application gets, whether or not it registered a styled one.
|
|
32
|
+
*
|
|
33
|
+
* It exists because a relying party must render SOMETHING rather than start a flow on its own, and
|
|
34
|
+
* a relying party may not depend on a UI family. So this is deliberately plain: raw elements and
|
|
35
|
+
* inline styles, no Tailwind class that a consumer's stylesheet would have to scan for, no shadcn
|
|
36
|
+
* primitive a consumer would have to vendor. An application that registers a real screen through
|
|
37
|
+
* `login().registerScreen(...)` never sees it.
|
|
38
|
+
*
|
|
39
|
+
* Because it is the floor rather than the design, it still has to be correct: it offers the same
|
|
40
|
+
* methods, enforces the same terms confirmation, centres the same way, and renders the same
|
|
41
|
+
* credit line.
|
|
42
|
+
*/
|
|
30
43
|
export const FallbackLoginScreen = props => {
|
|
31
44
|
const context = useContext();
|
|
32
45
|
const t = props.translate ?? ((_key, defaultValue) => defaultValue);
|
|
@@ -56,8 +69,8 @@ export const FallbackLoginScreen = props => {
|
|
|
56
69
|
setAttempted(false);
|
|
57
70
|
acceptTerms(resolved, value);
|
|
58
71
|
}, [resolved]);
|
|
59
|
-
return _jsxs("div", { style: box, children: [_jsx("h1", { style: { fontSize: '1.25rem', marginBottom: '.25rem' }, children: props.title ?? t('login.title', 'Sign in') }), _jsx("p", { style: { opacity: .75, marginTop: 0 }, children: props.subtitle ?? t('login.subtitle', 'Choose how you would like to continue.') }), methods.length < 1
|
|
60
|
-
|
|
61
|
-
|
|
72
|
+
return _jsx("div", { "data-login-screen": true, style: page, children: _jsxs("div", { style: box, children: [_jsx("h1", { style: { fontSize: '1.25rem', marginBottom: '.25rem' }, children: props.title ?? t('login.title', 'Sign in') }), _jsx("p", { style: { opacity: .75, marginTop: 0 }, children: props.subtitle ?? t('login.subtitle', 'Choose how you would like to continue.') }), methods.length < 1
|
|
73
|
+
? _jsx("p", { role: "status", children: t('login.empty', 'No sign-in method is configured for this application.') })
|
|
74
|
+
: methods.map(method => _jsx("button", { type: "button", "data-login-method": method.id, "aria-disabled": blocked, "data-blocked": blocked ? 'true' : undefined, style: { ...button(method.emphasis), opacity: blocked ? .6 : 1 }, autoFocus: method.id === primary?.id, onClick: () => select(method), children: method.label ?? t(`login.method.${method.i18nKey ?? method.id}`, method.id) }, method.id)), resolved != null && _jsxs("p", { style: { marginTop: '1rem', fontSize: '.875rem' }, children: [_jsxs("label", { children: [_jsx("input", { type: "checkbox", checked: accepted, "data-login-terms": true, onChange: event => onAccept(event.target.checked) }), ' ', t('login.terms.agreement', 'I have read and agree to the Terms & Conditions and the Privacy Policy.')] }), ' ', _jsx("a", { href: resolved.terms, target: "_blank", rel: "noreferrer noopener", children: t('login.terms.terms', 'Terms & Conditions') }), ' · ', _jsx("a", { href: resolved.privacy, target: "_blank", rel: "noreferrer noopener", children: t('login.terms.privacy', 'Privacy Policy') })] }), attempted && blocked && _jsx("p", { role: "alert", style: { color: '#b00', fontSize: '.875rem' }, children: t('login.terms.required', 'Please confirm the Terms & Conditions and the Privacy Policy to continue.') }), props.footer ?? _jsxs("p", { style: { marginTop: '2rem', fontSize: '.75rem', opacity: .7 }, children: [credit.poweredBy && _jsx("span", { children: t('login.credit.powered', 'Powered by OwlMeans') }), credit.poweredBy && credit.line != null && ' · ', credit.line] })] }) });
|
|
62
75
|
};
|
|
63
76
|
//# sourceMappingURL=screen.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screen.js","sourceRoot":"","sources":["../../src/login/screen.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAG7C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAE3C
|
|
1
|
+
{"version":3,"file":"screen.js","sourceRoot":"","sources":["../../src/login/screen.tsx"],"names":[],"mappings":"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"}
|
package/build/login/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ComponentType, ReactNode } from 'react';
|
|
1
|
+
import type { ComponentType, CSSProperties, ReactNode } from 'react';
|
|
2
2
|
import type { LazyService, BasicContext } from '@owlmeans/context';
|
|
3
3
|
import type { LoginMethodEmphasis, LoginScreenConfig, LoginTermsConfig } from '@owlmeans/config';
|
|
4
4
|
/**
|
|
@@ -189,6 +189,14 @@ export interface LoginScreenProps {
|
|
|
189
189
|
footer?: ReactNode;
|
|
190
190
|
className?: string;
|
|
191
191
|
containerClassName?: string;
|
|
192
|
+
/**
|
|
193
|
+
* Inline overrides for the screen's outer box.
|
|
194
|
+
*
|
|
195
|
+
* It exists because the outer box carries its viewport height inline rather than as a utility
|
|
196
|
+
* class, and an escape hatch that a class can no longer provide has to be provided some other
|
|
197
|
+
* way. See the note on the screen itself.
|
|
198
|
+
*/
|
|
199
|
+
style?: CSSProperties;
|
|
192
200
|
}
|
|
193
201
|
export type LoginScreenComponent = ComponentType<LoginScreenProps>;
|
|
194
202
|
export interface LoginService extends LazyService {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/login/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/login/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basic-ed25519.d.ts","sourceRoot":"","sources":["../../../src/manager/plugins/basic-ed25519.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAKtD,eAAO,MAAM,oBAAoB,EAAE,
|
|
1
|
+
{"version":3,"file":"basic-ed25519.d.ts","sourceRoot":"","sources":["../../../src/manager/plugins/basic-ed25519.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAKtD,eAAO,MAAM,oBAAoB,EAAE,oBA0ClC,CAAA"}
|
|
@@ -6,6 +6,10 @@ import { AuthenCredError } from '../errors.js';
|
|
|
6
6
|
export const ed25519BasicUIPlugin = {
|
|
7
7
|
type: AuthenticationType.BasicEd25519,
|
|
8
8
|
method: { order: 300, icon: 'key', emphasis: 'secondary' },
|
|
9
|
+
// This package ships no UI family, so the form below is a `Renderer` a panel package assigns
|
|
10
|
+
// (`@owlmeans/web-panel/auth/plugins`, `@owlmeans/mui-panel/auth/plugins`). Until one does, the
|
|
11
|
+
// Implementation throws on mount — so the sign-in screen must not offer the method.
|
|
12
|
+
requiresRenderer: true,
|
|
9
13
|
Implementation: Renderer => ({ type, stage, control, params }) => {
|
|
10
14
|
type = type ?? AuthenticationType.BasicEd25519;
|
|
11
15
|
Renderer = Renderer ?? ed25519BasicUIPlugin.Renderer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basic-ed25519.js","sourceRoot":"","sources":["../../../src/manager/plugins/basic-ed25519.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAExE,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE9C,MAAM,CAAC,MAAM,oBAAoB,GAAyB;IACxD,IAAI,EAAE,kBAAkB,CAAC,YAAY;IAErC,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE;IAE1D,cAAc,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;QAE/D,IAAI,GAAG,IAAI,IAAI,kBAAkB,CAAC,YAAY,CAAA;QAC9C,QAAQ,GAAG,QAAQ,IAAI,oBAAoB,CAAC,QAAQ,CAAA;QAEpD,iEAAiE;QACjE,+CAA+C;QAC/C,SAAS,CAAC,GAAG,EAAE;YACb,IAAI,OAAO,CAAC,KAAK,KAAK,mBAAmB,CAAC,IAAI,EAAE,CAAC;gBAC/C,KAAK,OAAO,CAAC,gBAAgB,EAAE,CAAA;YACjC,CAAC;QACH,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;QAEV,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,IAAI,WAAW,CAAC,iDAAiD,CAAC,CAAA;QAC1E,CAAC;QAED,OAAO,KAAC,QAAQ,IAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAI,CAAA;IACjF,CAAC;IAED,YAAY,EAAE,KAAK,EAAC,WAAW,EAAC,EAAE;QAChC,MAAM,GAAG,GAAG,gBAAgB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;QAEpD,IAAI,WAAW,CAAC,MAAM,KAAK,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC;YAC/C,MAAM,IAAI,eAAe,CAAC,uBAAuB,CAAC,CAAA;QACpD,CAAC;QAED,WAAW,CAAC,UAAU,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;QAE9D,4CAA4C;QAC5C,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;IACtB,CAAC;CACF,CAAA"}
|
|
1
|
+
{"version":3,"file":"basic-ed25519.js","sourceRoot":"","sources":["../../../src/manager/plugins/basic-ed25519.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAExE,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE9C,MAAM,CAAC,MAAM,oBAAoB,GAAyB;IACxD,IAAI,EAAE,kBAAkB,CAAC,YAAY;IAErC,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE;IAE1D,6FAA6F;IAC7F,gGAAgG;IAChG,oFAAoF;IACpF,gBAAgB,EAAE,IAAI;IAEtB,cAAc,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;QAE/D,IAAI,GAAG,IAAI,IAAI,kBAAkB,CAAC,YAAY,CAAA;QAC9C,QAAQ,GAAG,QAAQ,IAAI,oBAAoB,CAAC,QAAQ,CAAA;QAEpD,iEAAiE;QACjE,+CAA+C;QAC/C,SAAS,CAAC,GAAG,EAAE;YACb,IAAI,OAAO,CAAC,KAAK,KAAK,mBAAmB,CAAC,IAAI,EAAE,CAAC;gBAC/C,KAAK,OAAO,CAAC,gBAAgB,EAAE,CAAA;YACjC,CAAC;QACH,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;QAEV,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,IAAI,WAAW,CAAC,iDAAiD,CAAC,CAAA;QAC1E,CAAC;QAED,OAAO,KAAC,QAAQ,IAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAI,CAAA;IACjF,CAAC;IAED,YAAY,EAAE,KAAK,EAAC,WAAW,EAAC,EAAE;QAChC,MAAM,GAAG,GAAG,gBAAgB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;QAEpD,IAAI,WAAW,CAAC,MAAM,KAAK,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC;YAC/C,MAAM,IAAI,eAAe,CAAC,uBAAuB,CAAC,CAAA;QACpD,CAAC;QAED,WAAW,CAAC,UAAU,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;QAE9D,4CAA4C;QAC5C,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;IACtB,CAAC;CACF,CAAA"}
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import type { LoginMethodSource } from '../../login/types.js';
|
|
2
2
|
/**
|
|
3
3
|
* Every registered authentication plugin that declares itself offerable, as a sign-in method.
|
|
4
|
-
*
|
|
5
|
-
* A plugin without `method` is deliberately invisible here: `re-captcha` is a STEP inside another
|
|
6
|
-
* flow, not a way to sign in, and a registry that offered everything registered would put it on
|
|
7
|
-
* the screen as a choice.
|
|
8
4
|
*/
|
|
9
5
|
export declare const pluginMethodSource: LoginMethodSource;
|
|
10
6
|
//# sourceMappingURL=methods.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"methods.d.ts","sourceRoot":"","sources":["../../../src/manager/plugins/methods.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"methods.d.ts","sourceRoot":"","sources":["../../../src/manager/plugins/methods.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAmC,iBAAiB,EAAgB,MAAM,sBAAsB,CAAA;AA6B5G;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,iBAsChC,CAAA"}
|