@owlmeans/client-auth 0.1.18-rc.2 → 0.1.18-rc.21

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.
Files changed (170) hide show
  1. package/README.md +6 -6
  2. package/agent-meta/manifest.json +2 -2
  3. package/agent-meta/skills/client-auth/SKILL.md +134 -21
  4. package/build/components/dispatcher/component.js +1 -1
  5. package/build/components/dispatcher/component.js.map +1 -1
  6. package/build/{modules.d.ts → entrypoints.d.ts} +2 -2
  7. package/build/entrypoints.d.ts.map +1 -0
  8. package/build/{modules.js → entrypoints.js} +3 -3
  9. package/build/entrypoints.js.map +1 -0
  10. package/build/helper.js +1 -1
  11. package/build/helper.js.map +1 -1
  12. package/build/index.d.ts +1 -1
  13. package/build/index.d.ts.map +1 -1
  14. package/build/index.js +1 -1
  15. package/build/index.js.map +1 -1
  16. package/build/login/adopt.d.ts +24 -0
  17. package/build/login/adopt.d.ts.map +1 -0
  18. package/build/login/adopt.js +28 -0
  19. package/build/login/adopt.js.map +1 -0
  20. package/build/login/consts.d.ts +57 -0
  21. package/build/login/consts.d.ts.map +1 -0
  22. package/build/login/consts.js +57 -0
  23. package/build/login/consts.js.map +1 -0
  24. package/build/login/credit.d.ts +24 -0
  25. package/build/login/credit.d.ts.map +1 -0
  26. package/build/login/credit.js +58 -0
  27. package/build/login/credit.js.map +1 -0
  28. package/build/login/env.d.ts +32 -0
  29. package/build/login/env.d.ts.map +1 -0
  30. package/build/login/env.js +84 -0
  31. package/build/login/env.js.map +1 -0
  32. package/build/login/flow.d.ts +20 -0
  33. package/build/login/flow.d.ts.map +1 -0
  34. package/build/login/flow.js +39 -0
  35. package/build/login/flow.js.map +1 -0
  36. package/build/login/hook.d.ts +37 -0
  37. package/build/login/hook.d.ts.map +1 -0
  38. package/build/login/hook.js +72 -0
  39. package/build/login/hook.js.map +1 -0
  40. package/build/login/i18n/be.json +37 -0
  41. package/build/login/i18n/de.json +37 -0
  42. package/build/login/i18n/en.json +37 -0
  43. package/build/login/i18n/es.json +37 -0
  44. package/build/login/i18n/pl.json +37 -0
  45. package/build/login/i18n/ru.json +37 -0
  46. package/build/login/i18n/uk.json +37 -0
  47. package/build/login/i18n.d.ts +2 -0
  48. package/build/login/i18n.d.ts.map +1 -0
  49. package/build/login/i18n.js +25 -0
  50. package/build/login/i18n.js.map +1 -0
  51. package/build/login/index.d.ts +15 -0
  52. package/build/login/index.d.ts.map +1 -0
  53. package/build/login/index.js +15 -0
  54. package/build/login/index.js.map +1 -0
  55. package/build/login/methods.d.ts +25 -0
  56. package/build/login/methods.d.ts.map +1 -0
  57. package/build/login/methods.js +97 -0
  58. package/build/login/methods.js.map +1 -0
  59. package/build/login/resume.d.ts +30 -0
  60. package/build/login/resume.d.ts.map +1 -0
  61. package/build/login/resume.js +55 -0
  62. package/build/login/resume.js.map +1 -0
  63. package/build/login/screen.d.ts +17 -0
  64. package/build/login/screen.d.ts.map +1 -0
  65. package/build/login/screen.js +76 -0
  66. package/build/login/screen.js.map +1 -0
  67. package/build/login/service.d.ts +31 -0
  68. package/build/login/service.d.ts.map +1 -0
  69. package/build/login/service.js +137 -0
  70. package/build/login/service.js.map +1 -0
  71. package/build/login/surrogate.d.ts +20 -0
  72. package/build/login/surrogate.d.ts.map +1 -0
  73. package/build/login/surrogate.js +33 -0
  74. package/build/login/surrogate.js.map +1 -0
  75. package/build/login/terms.d.ts +20 -0
  76. package/build/login/terms.d.ts.map +1 -0
  77. package/build/login/terms.js +0 -0
  78. package/build/login/terms.js.map +1 -0
  79. package/build/login/types.d.ts +236 -0
  80. package/build/login/types.d.ts.map +1 -0
  81. package/build/login/types.js +23 -0
  82. package/build/login/types.js.map +1 -0
  83. package/build/manager/components/authentication/control.js +3 -3
  84. package/build/manager/components/authentication/control.js.map +1 -1
  85. package/build/manager/components/authentication/types.d.ts +2 -2
  86. package/build/manager/components/authentication/types.d.ts.map +1 -1
  87. package/build/manager/components/tunnel-consumer.js +2 -2
  88. package/build/manager/components/tunnel-consumer.js.map +1 -1
  89. package/build/manager/entrypoints.d.ts +2 -0
  90. package/build/manager/entrypoints.d.ts.map +1 -0
  91. package/build/manager/{modules.js → entrypoints.js} +4 -4
  92. package/build/manager/entrypoints.js.map +1 -0
  93. package/build/manager/plugins/basic-ed25519.d.ts.map +1 -1
  94. package/build/manager/plugins/basic-ed25519.js +5 -0
  95. package/build/manager/plugins/basic-ed25519.js.map +1 -1
  96. package/build/manager/plugins/exports.d.ts +2 -0
  97. package/build/manager/plugins/exports.d.ts.map +1 -1
  98. package/build/manager/plugins/exports.js +2 -0
  99. package/build/manager/plugins/exports.js.map +1 -1
  100. package/build/manager/plugins/index.d.ts +1 -5
  101. package/build/manager/plugins/index.d.ts.map +1 -1
  102. package/build/manager/plugins/index.js +9 -1
  103. package/build/manager/plugins/index.js.map +1 -1
  104. package/build/manager/plugins/methods.d.ts +6 -0
  105. package/build/manager/plugins/methods.d.ts.map +1 -0
  106. package/build/manager/plugins/methods.js +65 -0
  107. package/build/manager/plugins/methods.js.map +1 -0
  108. package/build/manager/plugins/re-captcha.d.ts.map +1 -1
  109. package/build/manager/plugins/re-captcha.js +5 -0
  110. package/build/manager/plugins/re-captcha.js.map +1 -1
  111. package/build/manager/plugins/registry.d.ts +20 -0
  112. package/build/manager/plugins/registry.d.ts.map +1 -0
  113. package/build/manager/plugins/registry.js +19 -0
  114. package/build/manager/plugins/registry.js.map +1 -0
  115. package/build/manager/plugins/tunnel-consumer.d.ts.map +1 -1
  116. package/build/manager/plugins/tunnel-consumer.js +4 -0
  117. package/build/manager/plugins/tunnel-consumer.js.map +1 -1
  118. package/build/manager/plugins/types.d.ts +53 -0
  119. package/build/manager/plugins/types.d.ts.map +1 -1
  120. package/build/service.js +1 -1
  121. package/build/service.js.map +1 -1
  122. package/package.json +36 -27
  123. package/src/components/dispatcher/component.tsx +1 -1
  124. package/src/{modules.ts → entrypoints.ts} +2 -2
  125. package/src/helper.ts +1 -1
  126. package/src/index.ts +1 -1
  127. package/src/login/adopt.ts +31 -0
  128. package/src/login/consts.ts +70 -0
  129. package/src/login/credit.ts +75 -0
  130. package/src/login/env.ts +86 -0
  131. package/src/login/flow.ts +44 -0
  132. package/src/login/hook.ts +80 -0
  133. package/src/login/i18n/be.json +37 -0
  134. package/src/login/i18n/de.json +37 -0
  135. package/src/login/i18n/en.json +37 -0
  136. package/src/login/i18n/es.json +37 -0
  137. package/src/login/i18n/pl.json +37 -0
  138. package/src/login/i18n/ru.json +37 -0
  139. package/src/login/i18n/uk.json +37 -0
  140. package/src/login/i18n.ts +26 -0
  141. package/src/login/index.ts +15 -0
  142. package/src/login/methods.ts +113 -0
  143. package/src/login/resume.ts +56 -0
  144. package/src/login/screen.tsx +136 -0
  145. package/src/login/service.ts +181 -0
  146. package/src/login/surrogate.ts +45 -0
  147. package/src/login/terms.ts +0 -0
  148. package/src/login/types.ts +258 -0
  149. package/src/manager/README.md +1 -1
  150. package/src/manager/components/authentication/control.ts +3 -3
  151. package/src/manager/components/authentication/types.ts +2 -2
  152. package/src/manager/components/tunnel-consumer.tsx +2 -2
  153. package/src/manager/{modules.ts → entrypoints.ts} +3 -3
  154. package/src/manager/plugins/basic-ed25519.tsx +7 -0
  155. package/src/manager/plugins/exports.ts +2 -0
  156. package/src/manager/plugins/index.ts +10 -4
  157. package/src/manager/plugins/methods.ts +74 -0
  158. package/src/manager/plugins/re-captcha.tsx +7 -0
  159. package/src/manager/plugins/registry.ts +26 -0
  160. package/src/manager/plugins/tunnel-consumer.tsx +6 -0
  161. package/src/manager/plugins/types.ts +54 -0
  162. package/src/service.ts +1 -1
  163. package/tests/context.ts +1 -2
  164. package/tests/login.spec.ts +313 -0
  165. package/build/.gitkeep +0 -0
  166. package/build/manager/modules.d.ts +0 -2
  167. package/build/manager/modules.d.ts.map +0 -1
  168. package/build/manager/modules.js.map +0 -1
  169. package/build/modules.d.ts.map +0 -1
  170. package/build/modules.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/login/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAGrD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAMzC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAK,GAAW,aAAa,EAAgB,EAAE;IAC9E,MAAM,OAAO,GAAkB,EAAE,CAAA;IACjC,MAAM,aAAa,GAAwB,EAAE,CAAA;IAC7C,MAAM,aAAa,GAAwB,EAAE,CAAA;IAC7C,IAAI,MAAM,GAAgC,IAAI,CAAA;IAE9C,MAAM,GAAG,GAAG,GAAiB,EAAE,CAAC,OAAO,CAAC,GAAmB,CAAA;IAE3D,MAAM,OAAO,GAAiB,iBAAiB,CAAe,KAAK,EAAE;QACnE,cAAc,EAAE,CAAC,MAAmB,EAAE,EAAE;YACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC,CAAA;YACjF,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;gBAClB,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;YAC7B,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAA;QAC/D,CAAC;QAED,oBAAoB,EAAE,CAAC,YAA+B,EAAE,EAAE;YACxD,MAAM,QAAQ,GAAG,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,KAAK,YAAY,CAAC,KAAK,CAAC,CAAA;YAC7F,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;gBAClB,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;YACnC,CAAC;YACD,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YAChC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAA;QACrE,CAAC;QAED,oBAAoB,EAAE,CAAC,MAAyB,EAAE,EAAE;YAClD,MAAM,QAAQ,GAAG,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC,CAAA;YACvF,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;gBAClB,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;YACnC,CAAC;YACD,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC5B,CAAC;QAED,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC,mBAAmB,CACvC,SAAS,EACR,SAAS,CAAC,OAAO,CAAC,GAAoB,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAC7D,aAAa,CACd;QAED,cAAc,EAAE,KAAK,CAAC,EAAE,GAAG,MAAM,GAAG,KAAK,CAAA,CAAC,CAAC;QAE3C,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM;QAEpB,MAAM,EAAE,GAAG,CAAC,EAAE;YACZ,MAAM,WAAW,GAAG,GAAG,IAAI,eAAe,EAAE,CAAA;YAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CACzB,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,GAA+B,CAAC,IAAI,IAAI,CAC7F,CAAA;YACD,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;YACrE,CAAC;YACD,OAAO,MAAM,CAAA;QACf,CAAC;QAED,GAAG,EAAE,GAAG,EAAE,CAAC,eAAe,EAAE;QAE5B,KAAK,EAAE,GAAG,EAAE;YACV,MAAM,GAAG,GAAG,eAAe,EAAE,CAAA;YAC7B,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAA;QACzC,CAAC;QAED,KAAK,EAAE,OAAO,CAAC,EAAE;YACf,MAAM,GAAG,GAAG,eAAe,EAAE,CAAA;YAC7B,2FAA2F;YAC3F,mFAAmF;YACnF,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;gBACzC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;oBAC7C,OAAO,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;gBAC9C,CAAC;YACH,CAAC;YAED,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;QACvD,CAAC;QAED,SAAS,EAAE,KAAK,EAAC,GAAG,EAAC,EAAE;YACrB,MAAM,GAAG,GAAG,eAAe,EAAE,CAAA;YAE7B,OAAO,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;QAC7D,CAAC;QAED,QAAQ,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YACtB,MAAM,GAAG,GAAG,eAAe,EAAE,CAAA;YAE7B,OAAO,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;QAC9D,CAAC;QAED,MAAM,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YACpB,MAAM,GAAG,GAAG,eAAe,EAAE,CAAA;YAC7B,2FAA2F;YAC3F,sDAAsD;YACtD,OAAO,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,YAAY,CAAC,MAAM,CAAA;QACrF,CAAC;QAED,MAAM,EAAE,OAAO,CAAC,EAAE;YAChB,MAAM,GAAG,GAAG,eAAe,EAAE,CAAA;YAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAClC,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;gBAC1B,4EAA4E;gBAC5E,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;oBACxC,MAAM,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAA;oBAE1B,OAAO,YAAY,CAAC,MAAM,CAAA;gBAC5B,CAAC,CAAC,CAAA;YACJ,CAAC;YAED,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;QAC3C,CAAC;QAED,cAAc,EAAE,KAAK,IAAI,EAAE;YACzB,MAAM,GAAG,GAAG,eAAe,EAAE,CAAA;YAE7B,OAAO,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,IAAI,YAAY,CAAC,MAAM,CAAA;QACtF,CAAC;QAED,KAAK,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAA,CAAC,CAAC;QAExD,MAAM,EAAE,KAAK,IAAI,EAAE,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,CAAC,CAAA,CAAC,CAAC;KACjD,CAAC,CAAA;IAEF,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAsB,EAAgB,EAAE;IACzE,IAAI,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAClC,OAAO,GAAG,CAAC,OAAO,CAAe,aAAa,CAAC,CAAA;IACjD,CAAC;IACD,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAA;IAClC,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;IAE5B,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,4DAA4D;AAC5D,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,GAAM,EACkB,EAAE;IAC1B,kBAAkB,CAAC,GAAG,CAAC,CAAA;IACvB,MAAM,UAAU,GAAG,GAA6B,CAAA;IAChD,UAAU,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAe,aAAa,CAAC,CAAA;IAEjE,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA;AAED,OAAO,EAAE,YAAY,EAAE,CAAA"}
@@ -0,0 +1,20 @@
1
+ import { LoginIntent } from './types.js';
2
+ import type { LoginContext } from './types.js';
3
+ export interface SurrogateTarget {
4
+ intent: LoginIntent;
5
+ /** The address the surrogate should actually run, once it is one window up. */
6
+ next?: string;
7
+ /** The method the user already chose in the opener. */
8
+ method?: string;
9
+ }
10
+ /**
11
+ * Where a surrogate window opens.
12
+ *
13
+ * Returns `null` when the application's entrypoint list predates the surrogate route — an app
14
+ * built against an older `@owlmeans/auth-common` has no such entrypoint, and the caller then falls
15
+ * back to opening the dispatcher directly, which is exactly what it used to do. That fallback is
16
+ * the whole compatibility story for already-deployed applications, so it must never be removed in
17
+ * favour of throwing.
18
+ */
19
+ export declare const surrogatePath: (ctx: LoginContext, target: SurrogateTarget) => string | null;
20
+ //# sourceMappingURL=surrogate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"surrogate.d.ts","sourceRoot":"","sources":["../../src/login/surrogate.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,WAAW,CAAA;IACnB,+EAA+E;IAC/E,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,QAAS,YAAY,UAAU,eAAe,KAAG,MAAM,GAAG,IAqBnF,CAAA"}
@@ -0,0 +1,33 @@
1
+ import { DISPATCHER_SURROGATE } from '@owlmeans/auth';
2
+ import { LOGIN_INTENT_QUERY, LOGIN_METHOD_QUERY, LOGIN_NEXT_QUERY } from './consts.js';
3
+ /**
4
+ * Where a surrogate window opens.
5
+ *
6
+ * Returns `null` when the application's entrypoint list predates the surrogate route — an app
7
+ * built against an older `@owlmeans/auth-common` has no such entrypoint, and the caller then falls
8
+ * back to opening the dispatcher directly, which is exactly what it used to do. That fallback is
9
+ * the whole compatibility story for already-deployed applications, so it must never be removed in
10
+ * favour of throwing.
11
+ */
12
+ export const surrogatePath = (ctx, target) => {
13
+ if (!ctx.hasEntrypoint(DISPATCHER_SURROGATE)) {
14
+ return null;
15
+ }
16
+ let path;
17
+ try {
18
+ path = ctx.entrypoint(DISPATCHER_SURROGATE).path();
19
+ }
20
+ catch {
21
+ return null;
22
+ }
23
+ const query = new URLSearchParams();
24
+ query.set(LOGIN_INTENT_QUERY, target.intent);
25
+ if (target.next != null && target.next !== '') {
26
+ query.set(LOGIN_NEXT_QUERY, target.next);
27
+ }
28
+ if (target.method != null && target.method !== '') {
29
+ query.set(LOGIN_METHOD_QUERY, target.method);
30
+ }
31
+ return `${path}?${query.toString()}`;
32
+ };
33
+ //# sourceMappingURL=surrogate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"surrogate.js","sourceRoot":"","sources":["../../src/login/surrogate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAErD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAYtF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAiB,EAAE,MAAuB,EAAiB,EAAE;IACzF,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,IAAY,CAAA;IAChB,IAAI,CAAC;QACH,IAAI,GAAG,GAAG,CAAC,UAAU,CAAmB,oBAAoB,CAAC,CAAC,IAAI,EAAE,CAAA;IACtE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAA;IACnC,KAAK,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IAC5C,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;QAC9C,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;IAC1C,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QAClD,KAAK,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IAC9C,CAAC;IAED,OAAO,GAAG,IAAI,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAA;AACtC,CAAC,CAAA"}
@@ -0,0 +1,20 @@
1
+ import type { LoginTermsConfig } from '@owlmeans/config';
2
+ export interface ResolvedTerms {
3
+ required: boolean;
4
+ terms: string;
5
+ privacy: string;
6
+ cookies?: string;
7
+ version: string;
8
+ }
9
+ export declare const resolveTerms: (cfg?: LoginTermsConfig | false) => ResolvedTerms | null;
10
+ /**
11
+ * Whether this browser has already agreed to exactly these documents.
12
+ *
13
+ * `localStorage` and not a cookie: the record is a UI convenience, it never travels to a server,
14
+ * and it must be readable by the surrogate login window — which is same-origin, so it sees the
15
+ * opener's acceptance and does not ask twice. A preview iframe on a different origin gets its own
16
+ * partition and therefore its own acceptance, which is correct rather than unfortunate.
17
+ */
18
+ export declare const termsAccepted: (resolved: ResolvedTerms | null) => boolean;
19
+ export declare const acceptTerms: (resolved: ResolvedTerms | null, accepted: boolean) => void;
20
+ //# sourceMappingURL=terms.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terms.d.ts","sourceRoot":"","sources":["../../src/login/terms.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAGxD,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,OAAO,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CAChB;AAkBD,eAAO,MAAM,YAAY,SAAU,gBAAgB,GAAG,KAAK,KAAG,aAAa,GAAG,IAa7E,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,aAAc,aAAa,GAAG,IAAI,KAAG,OAW9D,CAAA;AAED,eAAO,MAAM,WAAW,aAAc,aAAa,GAAG,IAAI,YAAY,OAAO,KAAG,IAW/E,CAAA"}
Binary file
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terms.js","sourceRoot":"","sources":["../../src/login/terms.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAEjG,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAUjD;;;;;;GAMG;AACH,MAAM,MAAM,GAAG,CAAC,KAAe,EAAU,EAAE;IACzC,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACtD,CAAC;IAED,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;AAClC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAA8B,EAAwB,EAAE;IACnF,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;QAClB,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,EAAE,KAAK,IAAI,kBAAkB,CAAA;IAC9C,MAAM,OAAO,GAAG,GAAG,EAAE,OAAO,IAAI,oBAAoB,CAAA;IACpD,MAAM,OAAO,GAAG,GAAG,EAAE,OAAO,IAAI,oBAAoB,CAAA;IAEpD,OAAO;QACL,QAAQ,EAAE,GAAG,EAAE,QAAQ,IAAI,IAAI;QAC/B,KAAK,EAAE,OAAO,EAAE,OAAO;QACvB,OAAO,EAAE,GAAG,EAAE,OAAO,IAAI,MAAM,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;KAC3D,CAAA;AACH,CAAC,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAA8B,EAAW,EAAE;IACvE,IAAI,QAAQ,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,QAAQ,CAAC,OAAO,CAAA;IAC9E,CAAC;IAAC,MAAM,CAAC;QACP,2FAA2F;QAC3F,yFAAyF;QACzF,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,QAA8B,EAAE,QAAiB,EAAQ,EAAE;IACrF,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrB,OAAM;IACR,CAAC;IACD,IAAI,CAAC;QACH,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,mBAAmB,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;QACpE,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAA;QACrD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,wDAAwD,CAAC,CAAC;AACtE,CAAC,CAAA"}
@@ -0,0 +1,236 @@
1
+ import type { ComponentType, CSSProperties, ReactNode } from 'react';
2
+ import type { LazyService, BasicContext } from '@owlmeans/context';
3
+ import type { LoginMethodEmphasis, LoginScreenConfig, LoginTermsConfig } from '@owlmeans/config';
4
+ /**
5
+ * The context a login plugin is handed.
6
+ *
7
+ * Deliberately `BasicContext<any>`, matching `RouterService`: a plugin only ever reaches services
8
+ * by alias, and pinning the config parameter would make every concrete app config — each of which
9
+ * adds its own required fields — fail to satisfy it, since `makeContext` is invariant in it.
10
+ */
11
+ export type LoginContext = BasicContext<any>;
12
+ /**
13
+ * Environment descriptor the cascade selects a login plugin on.
14
+ *
15
+ * This is the single source of environment truth — do NOT bake `window.self !== window.top` or a
16
+ * `sessionStorage` probe into a plugin's `match`. A native host will supply its own descriptor
17
+ * (`hasWindow: false`) so an in-app-browser plugin wins there without any DOM check.
18
+ */
19
+ export interface LoginEnv {
20
+ /** A DOM is present at all (false under SSR, native, and unit tests). */
21
+ hasWindow: boolean;
22
+ /** This document is embedded in a frame. A cross-origin `top` read throws — that throw counts. */
23
+ embedded: boolean;
24
+ /** This document IS the surrogate login window; survives the cross-origin round trip. */
25
+ surrogate: boolean;
26
+ /** The window that opened this one is still reachable (COOP severs it permanently). */
27
+ hasOpener: boolean;
28
+ }
29
+ /** What a stage did, and therefore what the caller must do next. */
30
+ export declare enum LoginOutcome {
31
+ /** The plugin took the flow over and it is finished. The caller does nothing more. */
32
+ Handled = "handled",
33
+ /** The plugin did nothing — the caller carries on with its ordinary continuation. */
34
+ Passed = "passed",
35
+ /** The browser is leaving this document. The caller must not navigate or render. */
36
+ Redirected = "redirected",
37
+ /** Cannot proceed without a fresh user gesture — the caller renders a sign-in control. */
38
+ Gesture = "gesture",
39
+ /** Authenticated, but with no channel back to the window that started it. */
40
+ Orphaned = "orphaned",
41
+ /** The attempt ended with no token (blocked window, user closed it, provider refused). */
42
+ Failed = "failed"
43
+ }
44
+ /** Why a surrogate window was opened. */
45
+ export declare enum LoginIntent {
46
+ Login = "login",
47
+ Logout = "logout"
48
+ }
49
+ export interface LoginRequest {
50
+ /** Where the login flow starts — a resolved dispatcher path, or the current address. */
51
+ url: string;
52
+ /**
53
+ * The ordinary in-app continuation, supplied by the caller because only a component may call
54
+ * `useNavigate`. A plugin that decides not to take the flow over calls this; without it the
55
+ * fallback is a full page load of {@link url}.
56
+ */
57
+ navigate?: () => void | Promise<void>;
58
+ /** Entrypoint alias to return to after login. */
59
+ target?: string;
60
+ }
61
+ export interface LogoutRequest {
62
+ /** Where a surrogate logout runs — a resolved surrogate path. */
63
+ url: string;
64
+ /** The in-app continuation once the local session is gone. */
65
+ navigate?: () => void | Promise<void>;
66
+ }
67
+ /**
68
+ * A pluggable login mechanic — WHERE the authorization round trip runs.
69
+ *
70
+ * Not to be confused with `AuthenticationPlugin` (./manager/plugins), which answers *how* a user
71
+ * proves their identity. This one answers *in which browsing context the flow can complete*: a
72
+ * redirect works in an ordinary tab and cannot work inside a frame whose provider refuses to be
73
+ * embedded, and that difference is a property of the environment, not of the credential.
74
+ */
75
+ export interface LoginPlugin {
76
+ alias: string;
77
+ /** Higher wins among matching plugins. Defaults to 0. */
78
+ priority?: number;
79
+ /** Free-form tag, e.g. 'redirect' | 'surrogate' | 'native'. */
80
+ mode?: string;
81
+ /** Selector; `undefined` means "always applicable". */
82
+ match?: (env: LoginEnv, ctx?: LoginContext) => boolean;
83
+ /**
84
+ * Record, while it is still knowable, whatever the later stages need about this document.
85
+ *
86
+ * Called synchronously as the FIRST statement of the dispatcher's effect: everything after it
87
+ * can navigate away, and some of the evidence (notably `window.name`) is cleared by the browser
88
+ * the moment a top-level context goes cross-origin.
89
+ */
90
+ enter?: (ctx: LoginContext, env: LoginEnv) => void;
91
+ /**
92
+ * Start login from a user gesture.
93
+ *
94
+ * MUST open any window synchronously — the popup blocker only yields while the gesture is still
95
+ * being handled. Implement as a NON-async function returning a promise.
96
+ */
97
+ begin: (ctx: LoginContext, request: LoginRequest, env: LoginEnv) => Promise<LoginOutcome>;
98
+ /** Send the browser to the identity provider's authorization URL. */
99
+ authorize: (ctx: LoginContext, url: string, env: LoginEnv) => Promise<LoginOutcome>;
100
+ /** A bearer token was issued in this document — decide where it goes. */
101
+ complete: (ctx: LoginContext, token: string, env: LoginEnv) => Promise<LoginOutcome>;
102
+ /**
103
+ * This document ALREADY holds a session — decide whether it is useful here.
104
+ *
105
+ * Absent means `Passed`: keep it and carry on, which is what an ordinary tab has always done.
106
+ * A surrogate hands it back to its opener instead, which is the whole point: a popup that
107
+ * discovers an existing session must sign the framed application in, not display the
108
+ * application to itself.
109
+ *
110
+ * Deliberately not `complete`: "a token was just issued here" and "a token was already here"
111
+ * are different facts, and a silent-refresh plugin will need to tell them apart.
112
+ */
113
+ resume?: (ctx: LoginContext, token: string, env: LoginEnv) => Promise<LoginOutcome>;
114
+ /**
115
+ * Start logout from a user gesture.
116
+ *
117
+ * MUST open any window synchronously, for exactly the reason `begin` must — logging out of a
118
+ * framed application opens a window too. Implement as a NON-async function.
119
+ */
120
+ logout?: (ctx: LoginContext, request: LogoutRequest, env: LoginEnv) => Promise<LoginOutcome>;
121
+ /** The local session is gone in this document — decide what to tell whom. */
122
+ logoutComplete?: (ctx: LoginContext, env: LoginEnv) => Promise<LoginOutcome>;
123
+ }
124
+ /**
125
+ * Something that must be true before a login flow may start.
126
+ *
127
+ * SYNCHRONOUS on purpose. `begin` must not cross a microtask boundary before a plugin's
128
+ * `window.open`, or the popup blocker eats the window. A precondition that has to ask a server
129
+ * belongs somewhere else entirely.
130
+ *
131
+ * Returning false stops the flow and resolves `begin` as {@link LoginOutcome.Gesture} — which
132
+ * already means "cannot proceed without a fresh user gesture; render a control", and is exactly
133
+ * the state a user is in after a blocking dialog has opened over the page.
134
+ */
135
+ export interface LoginPrecondition {
136
+ alias: string;
137
+ /** Higher runs first. Defaults to 0. */
138
+ priority?: number;
139
+ check: (ctx: LoginContext, request: LoginRequest, env: LoginEnv) => boolean;
140
+ }
141
+ /** What a source needs in order to describe the methods it offers. */
142
+ export interface LoginMethodContext {
143
+ context: LoginContext;
144
+ env: LoginEnv;
145
+ /** In-app navigation, when a component supplied it. */
146
+ navigate?: (alias: string, params?: Record<string, string>) => void | Promise<void>;
147
+ }
148
+ /**
149
+ * One way to sign in, as the screen renders it.
150
+ *
151
+ * `start` is what a button calls. It MUST be callable synchronously from a click — branch on
152
+ * `env.embedded && !env.surrogate` first and open any window before the first `await`.
153
+ */
154
+ export interface LoginMethod {
155
+ id: string;
156
+ /** Set when an `AuthenticationPlugin` drives this method. */
157
+ type?: string;
158
+ label?: string;
159
+ i18nKey?: string;
160
+ icon?: string;
161
+ order?: number;
162
+ emphasis?: LoginMethodEmphasis;
163
+ restricted?: boolean;
164
+ params?: Record<string, string>;
165
+ start: (ctx: LoginMethodContext) => Promise<LoginOutcome>;
166
+ }
167
+ export interface LoginMethodSource {
168
+ alias: string;
169
+ list: (ctx: LoginMethodContext) => LoginMethod[];
170
+ }
171
+ /** What every rendering of the sign-in screen accepts, whatever its UI family. */
172
+ export interface LoginScreenProps {
173
+ /** The one thing a consuming application is expected to supply. */
174
+ Logo?: ComponentType<{
175
+ className?: string;
176
+ }> | ReactNode;
177
+ title?: ReactNode;
178
+ subtitle?: ReactNode;
179
+ /**
180
+ * `(key, defaultValue) => string`. A prop, never an implicit context read: a component that
181
+ * reaches for an i18n provider crashes the whole render in an app mounted without one.
182
+ */
183
+ translate?: (key: string, defaultValue: string) => string;
184
+ /** Replace or reorder what the resolver produced. */
185
+ methods?: LoginMethod[] | ((methods: LoginMethod[]) => LoginMethod[]);
186
+ terms?: LoginTermsConfig | false;
187
+ config?: LoginScreenConfig;
188
+ /** Replaces the composed credit line entirely. */
189
+ footer?: ReactNode;
190
+ className?: string;
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;
200
+ }
201
+ export type LoginScreenComponent = ComponentType<LoginScreenProps>;
202
+ export interface LoginService extends LazyService {
203
+ registerPlugin: (plugin: LoginPlugin) => void;
204
+ /** Select the active plugin for the given (or default) environment. */
205
+ plugin: (env?: LoginEnv) => LoginPlugin;
206
+ /** The environment the cascade is currently selecting on. */
207
+ env: () => LoginEnv;
208
+ /** Something that must hold before any flow starts. Checked synchronously, in `begin`. */
209
+ registerPrecondition: (precondition: LoginPrecondition) => void;
210
+ /** A source of offerable sign-in methods, scoped to this context. */
211
+ registerMethodSource: (source: LoginMethodSource) => void;
212
+ methods: (ctx: LoginMethodContext) => LoginMethod[];
213
+ /**
214
+ * The screen a dispatcher renders when it cannot proceed.
215
+ *
216
+ * A slot rather than an import, because a relying party (`web-oidc-rp`) must never depend on a
217
+ * UI family (`web-panel` / `mui-panel`) — that edge would force every relying party to pick one.
218
+ */
219
+ registerScreen: (screen: LoginScreenComponent) => void;
220
+ screen: () => LoginScreenComponent | null;
221
+ enter: () => void;
222
+ begin: (request: LoginRequest) => Promise<LoginOutcome>;
223
+ authorize: (url: string) => Promise<LoginOutcome>;
224
+ complete: (token: string) => Promise<LoginOutcome>;
225
+ resume: (token: string) => Promise<LoginOutcome>;
226
+ logout: (request: LogoutRequest) => Promise<LoginOutcome>;
227
+ logoutComplete: () => Promise<LoginOutcome>;
228
+ /** Adopt an issued bearer token as this context's authentication. */
229
+ adopt: (token: string) => Promise<void>;
230
+ /** Drop this document's authentication. The single de-adoption path. */
231
+ revoke: () => Promise<void>;
232
+ }
233
+ export interface LoginServiceAppend {
234
+ login: () => LoginService;
235
+ }
236
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/login/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /** What a stage did, and therefore what the caller must do next. */
2
+ export var LoginOutcome;
3
+ (function (LoginOutcome) {
4
+ /** The plugin took the flow over and it is finished. The caller does nothing more. */
5
+ LoginOutcome["Handled"] = "handled";
6
+ /** The plugin did nothing — the caller carries on with its ordinary continuation. */
7
+ LoginOutcome["Passed"] = "passed";
8
+ /** The browser is leaving this document. The caller must not navigate or render. */
9
+ LoginOutcome["Redirected"] = "redirected";
10
+ /** Cannot proceed without a fresh user gesture — the caller renders a sign-in control. */
11
+ LoginOutcome["Gesture"] = "gesture";
12
+ /** Authenticated, but with no channel back to the window that started it. */
13
+ LoginOutcome["Orphaned"] = "orphaned";
14
+ /** The attempt ended with no token (blocked window, user closed it, provider refused). */
15
+ LoginOutcome["Failed"] = "failed";
16
+ })(LoginOutcome || (LoginOutcome = {}));
17
+ /** Why a surrogate window was opened. */
18
+ export var LoginIntent;
19
+ (function (LoginIntent) {
20
+ LoginIntent["Login"] = "login";
21
+ LoginIntent["Logout"] = "logout";
22
+ })(LoginIntent || (LoginIntent = {}));
23
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/login/types.ts"],"names":[],"mappings":"AA+BA,oEAAoE;AACpE,MAAM,CAAN,IAAY,YAaX;AAbD,WAAY,YAAY;IACtB,sFAAsF;IACtF,mCAAmB,CAAA;IACnB,qFAAqF;IACrF,iCAAiB,CAAA;IACjB,oFAAoF;IACpF,yCAAyB,CAAA;IACzB,0FAA0F;IAC1F,mCAAmB,CAAA;IACnB,6EAA6E;IAC7E,qCAAqB,CAAA;IACrB,0FAA0F;IAC1F,iCAAiB,CAAA;AACnB,CAAC,EAbW,YAAY,KAAZ,YAAY,QAavB;AAED,yCAAyC;AACzC,MAAM,CAAN,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,8BAAe,CAAA;IACf,gCAAiB,CAAA;AACnB,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB"}
@@ -23,7 +23,7 @@ export const makeControl = (context, callback) => {
23
23
  control.beforeAuthenticate = plugins[control.type].beforeAuthenticate;
24
24
  control.afterAuthenticate = plugins[control.type].afterAuthenticate;
25
25
  const module = context.entrypoint(AUTHEN_INIT);
26
- const [allowance] = await module.call({ body: control.request });
26
+ const allowance = await module.call({ body: control.request });
27
27
  control.allowance = allowance;
28
28
  control.updateStage(AuthenticationStage.Authenticate);
29
29
  },
@@ -56,8 +56,8 @@ export const makeControl = (context, callback) => {
56
56
  }
57
57
  // We return back unwrapped challenge
58
58
  credentials.challenge = control.allowance?.challenge;
59
- const [token, status] = await context.entrypoint(AUTHEN_AUTHEN)
60
- .call({ body: credentials });
59
+ const { value: token, outcome: status } = await context.entrypoint(AUTHEN_AUTHEN)
60
+ .invoke({ body: credentials });
61
61
  if (status === EntrypointOutcome.Ok && token.token != null
62
62
  && token.token !== '' && control.afterAuthenticate != null) {
63
63
  const resultingCred = makeEnvelopeModel(token.token, EnvelopeKind.Token).message();
@@ -1 +1 @@
1
- {"version":3,"file":"control.js","sourceRoot":"","sources":["../../../../src/manager/components/authentication/control.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,mBAAmB,EAAE,kBAAkB,GAC1F,MAAM,gBAAgB,CAAA;AAKvB,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAE1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,aAAa,IAAI,YAAY,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAEjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAEhD,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,OAAoC,EACpC,QAAiD,EAC1B,EAAE;IACzB,sDAAsD;IACtD,MAAM,OAAO,GAA0B;QAErC,KAAK,EAAE,mBAAmB,CAAC,IAAI;QAE/B,IAAI,EAAE,kBAAkB,CAAC,YAAY;QAErC,QAAQ;QAER,QAAQ,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YACtB,OAAO,CAAC,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,KAAc,CAAC,CAAA;YAErD,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAA;QAChD,CAAC;QAED,gBAAgB,EAAE,KAAK,EAAC,OAAO,EAAC,EAAE;YAChC,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAA;YAElD,OAAO,CAAC,OAAO,GAAG,CAAC,OAAO,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAqB,CAAA;YACzE,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAc,CAAA;YAE7C,OAAO,CAAC,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAA;YACrE,OAAO,CAAC,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAA;YAEnE,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAsC,WAAW,CAAC,CAAA;YACnF,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;YAEhE,OAAO,CAAC,SAAS,GAAG,SAAS,CAAA;YAE7B,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAA;QACvD,CAAC;QAED,YAAY,EAAE,KAAK,EAAC,WAAW,EAAC,EAAE;YAChC,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAA;YACvD,IAAI,CAAC;gBACH,WAAW,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;gBAC/B,IAAI,OAAO,CAAC,SAAS,EAAE,SAAS,IAAI,IAAI,EAAE,CAAC;oBACzC,MAAM,IAAI,eAAe,CAAC,WAAW,CAAC,CAAA;gBACxC,CAAC;gBACD,MAAM,QAAQ,GAAkB,iBAAiB,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,YAAY,CAAC,IAAI,CAAC,CAAA;gBAElG,WAAW,CAAC,SAAS,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAA;gBAC1C,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,CAAA;gBACvD,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAA;gBAEpD,IAAI,WAAW,CAAC,UAAU,IAAI,IAAI,IAAI,WAAW,CAAC,UAAU,KAAK,EAAE,EAAE,CAAC;oBACpE,MAAM,IAAI,eAAe,CAAC,YAAY,CAAC,CAAA;gBACzC,CAAC;gBAED,IAAI,WAAW,CAAC,MAAM,IAAI,IAAI,IAAI,WAAW,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;oBAC5D,MAAM,IAAI,eAAe,CAAC,QAAQ,CAAC,CAAA;gBACrC,CAAC;gBAED,IAAI,WAAW,CAAC,SAAS,IAAI,IAAI,IAAI,WAAW,CAAC,SAAS,KAAK,EAAE,EAAE,CAAC;oBAClE,MAAM,IAAI,eAAe,CAAC,WAAW,CAAC,CAAA;gBACxC,CAAC;gBAED,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;oBAC/C,wDAAwD;oBACxD,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,YAAa,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;oBAEnF,IAAI,WAAW,CAAC,KAAK,KAAK,EAAE,IAAI,OAAO,CAAC,kBAAkB,IAAI,IAAI,EAAE,CAAC;wBACnE,OAAO,CAAC,kBAAkB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;oBAClD,CAAC;gBACH,CAAC;gBAED,qCAAqC;gBACrC,WAAW,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,EAAE,SAAS,CAAA;gBAEpD,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,UAAU,CAA8B,aAAa,CAAC;qBACzF,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAA;gBAE9B,IAAI,MAAM,KAAK,iBAAiB,CAAC,EAAE,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI;uBACrD,KAAK,CAAC,KAAK,KAAK,EAAE,IAAI,OAAO,CAAC,iBAAiB,IAAI,IAAI,EAAE,CAAC;oBAC7D,MAAM,aAAa,GAAG,iBAAiB,CAAkB,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAA;oBACnG,MAAM,OAAO,CAAC,iBAAiB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;gBACzD,CAAC;gBAED,IAAI,OAAO,CAAC,QAAQ,IAAI,IAAI,IAAI,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC9D,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;gBACtB,CAAC;gBAED,OAAO,KAAK,CAAA;YACd,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,6EAA6E;gBAC7E,uEAAuE;gBACvE,MAAM,KAAK,CAAA;YACb,CAAC;QACH,CAAC;QAED,WAAW,EAAE,KAAK,CAAC,EAAE;YACnB,OAAO,CAAC,KAAK,GAAG,KAAK,CAAA;YACrB,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAA;QAC3B,CAAC;QAED,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,IAAI,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;gBACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAgB,UAAU,CAAC,CAAA;gBAC5D,MAAM,QAAQ,CAAC,IAAI,CAAC;oBAClB,EAAE,EAAE,gBAAgB,EAAE,GAAG;wBACvB,IAAI,EAAE,OAAO,CAAC,IAAI;wBAClB,KAAK,EAAE,OAAO,CAAC,KAAK;wBACpB,SAAS,EAAE,OAAO,CAAC,SAAS;qBAC7B;iBACF,CAAC,CAAA;gBAEF,OAAO,IAAI,CAAA;YACb,CAAC;YAED,OAAO,KAAK,CAAA;QACd,CAAC;QAED,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,IAAI,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;gBACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAgB,UAAU,CAAC,CAAA;gBAC5D,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;gBACnD,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;oBAClB,MAAM,MAAM,GAAG,KAAkD,CAAA;oBACjE,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;wBACxB,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;oBAC5B,CAAC;oBACD,OAAO,CAAC,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAA;oBACrE,OAAO,CAAC,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAA;oBAEnE,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;wBACzB,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;oBAC9B,CAAC;oBACD,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;wBAC7B,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;oBACtC,CAAC;oBAED,OAAO,IAAI,CAAA;gBACb,CAAC;YACH,CAAC;YACD,OAAO,KAAK,CAAA;QACd,CAAC;QAED,kBAAkB,EAAE,KAAK,IAAI,EAAE;YAC7B,IAAI,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;gBACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAgB,UAAU,CAAC,CAAA;gBAC5D,IAAI,IAAI,IAAI,MAAM,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBAClD,OAAO,IAAI,CAAA;gBACb,CAAC;YACH,CAAC;YAED,OAAO,KAAK,CAAA;QACd,CAAC;QAED,YAAY,EAAE,KAAK,IAAI,EAAE;YACvB,IAAI,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;gBACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAgB,UAAU,CAAC,CAAA;gBAC5D,MAAM,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;YACzC,CAAC;QACH,CAAC;QAED,IAAI,EAAE,KAAK,IAAI,EAAE;YACf,MAAM,KAAK,GAAG,YAAY,CAAA;YAC1B,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAc,KAAK,CAAC,CAAA;gBAChD,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;gBAClB,IAAI,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACxB,OAAO,IAAI,CAAA;gBACb,CAAC;YACH,CAAC;YAED,OAAO,IAAI,CAAA;QACb,CAAC;KACF,CAAA;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
1
+ {"version":3,"file":"control.js","sourceRoot":"","sources":["../../../../src/manager/components/authentication/control.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import type { AllowanceRequest, AllowanceResponse, AuthCredentials, AuthenticationStage, AuthenticationType, AuthToken } from '@owlmeans/auth';
2
- import type { ModuleContextParams } from '@owlmeans/client';
2
+ import type { EntrypointContextParams } from '@owlmeans/client';
3
3
  import type { FC } from 'react';
4
4
  import type { ClientContext } from '@owlmeans/client';
5
5
  import type { FlowService } from '@owlmeans/client-flow';
6
6
  import type { ResilientError } from '@owlmeans/error';
7
7
  export type ClientAuthType = AuthenticationType | string;
8
- export interface AuthenticationProps extends ModuleContextParams {
8
+ export interface AuthenticationProps extends EntrypointContextParams {
9
9
  type?: ClientAuthType;
10
10
  callback?: AuthenticationCallback;
11
11
  source?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/manager/components/authentication/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/manager/components/authentication/types.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,9 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { AuthenticationType } from '@owlmeans/auth';
3
3
  import { AuthenticationHOC } from './authentication/component.js';
4
4
  import { useMemo } from 'react';
5
- import { useModule } from '@owlmeans/client';
5
+ import { useEntrypoint } from '@owlmeans/client';
6
6
  export const TunnelConsumer = ({ ...props }) => {
7
- const mod = useModule();
7
+ const mod = useEntrypoint();
8
8
  const Implementation = useMemo(() => AuthenticationHOC(undefined, AuthenticationType.WalletConsumer), []);
9
9
  return _jsx(Implementation, { ...mod, ...props, type: AuthenticationType.WalletConsumer });
10
10
  };
@@ -1 +1 @@
1
- {"version":3,"file":"tunnel-consumer.js","sourceRoot":"","sources":["../../../src/manager/components/tunnel-consumer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AAEjE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAG5C,MAAM,CAAC,MAAM,cAAc,GAA2C,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACrF,MAAM,GAAG,GAAG,SAAS,EAAE,CAAA;IACvB,MAAM,cAAc,GAAG,OAAO,CAC5B,GAAG,EAAE,CAAC,iBAAiB,CAAC,SAAS,EAAE,kBAAkB,CAAC,cAAc,CAAC,EAAE,EAAE,CAC1E,CAAA;IAED,OAAO,KAAC,cAAc,OAAK,GAAG,KAAM,KAAK,EAAE,IAAI,EAAE,kBAAkB,CAAC,cAAc,GAAG,CAAA;AACvF,CAAC,CAAA"}
1
+ {"version":3,"file":"tunnel-consumer.js","sourceRoot":"","sources":["../../../src/manager/components/tunnel-consumer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AAEjE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAGhD,MAAM,CAAC,MAAM,cAAc,GAA2C,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACrF,MAAM,GAAG,GAAG,aAAa,EAAE,CAAA;IAC3B,MAAM,cAAc,GAAG,OAAO,CAC5B,GAAG,EAAE,CAAC,iBAAiB,CAAC,SAAS,EAAE,kBAAkB,CAAC,cAAc,CAAC,EAAE,EAAE,CAC1E,CAAA;IAED,OAAO,KAAC,cAAc,OAAK,GAAG,KAAM,KAAK,EAAE,IAAI,EAAE,kBAAkB,CAAC,cAAc,GAAG,CAAA;AACvF,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const entrypoints: import("@owlmeans/entrypoint").CommonEntrypoint[];
2
+ //# sourceMappingURL=entrypoints.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entrypoints.d.ts","sourceRoot":"","sources":["../../src/manager/entrypoints.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,WAAW,mDAAO,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { AUTHEN, AUTHEN_AUTHEN, AUTHEN_INIT, AUTHEN_RELY, CAUTHEN, CAUTHEN_AUTHEN, CAUTHEN_AUTHEN_DEFAULT, CAUTHEN_AUTHEN_TYPED, DISPATCHER } from '@owlmeans/auth';
2
- import { modules as list } from '@owlmeans/auth-common';
2
+ import { entrypoints as list } from '@owlmeans/auth-common';
3
3
  import { handler } from '@owlmeans/client';
4
4
  import { elevate, stab } from '@owlmeans/client-entrypoint';
5
5
  import { AuthenticationHOC } from './components/authentication/component.js';
@@ -11,6 +11,6 @@ elevate(list, CAUTHEN);
11
11
  elevate(list, CAUTHEN_AUTHEN);
12
12
  elevate(list, CAUTHEN_AUTHEN_DEFAULT, handler(AuthenticationHOC()));
13
13
  elevate(list, CAUTHEN_AUTHEN_TYPED, handler(AuthenticationHOC()));
14
- elevate(list, DISPATCHER, stab, { force: true });
15
- export const modules = list;
16
- //# sourceMappingURL=modules.js.map
14
+ elevate(list, DISPATCHER, stab);
15
+ export const entrypoints = list;
16
+ //# sourceMappingURL=entrypoints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entrypoints.js","sourceRoot":"","sources":["../../src/manager/entrypoints.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AACnK,OAAO,EAAE,WAAW,IAAI,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAA;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAA;AAE5E,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;AACrB,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,CAAA;AAChC,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,CAAA;AAClC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;AAC1B,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;AACtB,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,CAAA;AAC7B,OAAO,CAAC,IAAI,EAAE,sBAAsB,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAA;AACnE,OAAO,CAAC,IAAI,EAAE,oBAAoB,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAA;AACjE,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAA;AAE/B,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAA"}
@@ -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,oBAmClC,CAAA"}
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"}
@@ -5,6 +5,11 @@ import { makeKeyPairModel } from '@owlmeans/basic-keys';
5
5
  import { AuthenCredError } from '../errors.js';
6
6
  export const ed25519BasicUIPlugin = {
7
7
  type: AuthenticationType.BasicEd25519,
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,
8
13
  Implementation: Renderer => ({ type, stage, control, params }) => {
9
14
  type = type ?? AuthenticationType.BasicEd25519;
10
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,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,4 +1,6 @@
1
1
  export type * from './types.js';
2
+ export * from './registry.js';
3
+ export * from './methods.js';
2
4
  export * from './tunnel/index.js';
3
5
  export * from './basic-ed25519.js';
4
6
  export * from './re-captcha.js';
@@ -1 +1 @@
1
- {"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../../../src/manager/plugins/exports.ts"],"names":[],"mappings":"AAAA,mBAAmB,YAAY,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,sBAAsB,CAAA"}
1
+ {"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../../../src/manager/plugins/exports.ts"],"names":[],"mappings":"AAAA,mBAAmB,YAAY,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,sBAAsB,CAAA"}
@@ -1,3 +1,5 @@
1
+ export * from './registry.js';
2
+ export * from './methods.js';
1
3
  export * from './tunnel/index.js';
2
4
  export * from './basic-ed25519.js';
3
5
  export * from './re-captcha.js';
@@ -1 +1 @@
1
- {"version":3,"file":"exports.js","sourceRoot":"","sources":["../../../src/manager/plugins/exports.ts"],"names":[],"mappings":"AACA,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,sBAAsB,CAAA"}
1
+ {"version":3,"file":"exports.js","sourceRoot":"","sources":["../../../src/manager/plugins/exports.ts"],"names":[],"mappings":"AACA,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,sBAAsB,CAAA"}
@@ -1,6 +1,2 @@
1
- import type { ClientAuthType } from '../components/index.js';
2
- import { AuthenticationPlugin } from './types.js';
3
- export declare const plugins: {
4
- [type: ClientAuthType]: AuthenticationPlugin;
5
- };
1
+ export { plugins, registerAuthPlugin, getAuthPlugin, listAuthPlugins } from './registry.js';
6
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/manager/plugins/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAI5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAIjD,eAAO,MAAM,OAAO,EAAE;IAAE,CAAC,IAAI,EAAE,cAAc,GAAG,oBAAoB,CAAA;CAAO,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/manager/plugins/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA"}
@@ -2,8 +2,16 @@ import { AuthenticationType } from '@owlmeans/auth';
2
2
  import { ed25519BasicUIPlugin } from './basic-ed25519.js';
3
3
  import { reCaptchaPlugin } from './re-captcha.js';
4
4
  import { tunnelConsumerUIPlugin } from './tunnel-consumer.js';
5
- export const plugins = {};
5
+ import { pluginMethodSource } from './methods.js';
6
+ import { registerMethodSource } from '../../login/methods.js';
7
+ import { plugins } from './registry.js';
8
+ export { plugins, registerAuthPlugin, getAuthPlugin, listAuthPlugins } from './registry.js';
6
9
  plugins[AuthenticationType.BasicEd25519] = ed25519BasicUIPlugin;
7
10
  plugins[AuthenticationType.ReCaptcha] = reCaptchaPlugin;
8
11
  plugins[AuthenticationType.WalletConsumer] = tunnelConsumerUIPlugin;
12
+ // Registered from here, not from `login/`, so that importing `@owlmeans/client-auth/login` never
13
+ // drags this module's React plugin implementations into a bundle that only wanted the login host.
14
+ // A generated application imports the login subpath through `client-iam`; it must not gain three
15
+ // authentication methods it never registered as a side effect of that.
16
+ registerMethodSource(pluginMethodSource);
9
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/manager/plugins/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAEzD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAE7D,MAAM,CAAC,MAAM,OAAO,GAAqD,EAAE,CAAA;AAE3E,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAC,GAAG,oBAAoB,CAAA;AAC/D,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,eAAe,CAAA;AACvD,OAAO,CAAC,kBAAkB,CAAC,cAAc,CAAC,GAAG,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/manager/plugins/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAE3F,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAC,GAAG,oBAAoB,CAAA;AAC/D,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,eAAe,CAAA;AACvD,OAAO,CAAC,kBAAkB,CAAC,cAAc,CAAC,GAAG,sBAAsB,CAAA;AAEnE,iGAAiG;AACjG,kGAAkG;AAClG,iGAAiG;AACjG,uEAAuE;AACvE,oBAAoB,CAAC,kBAAkB,CAAC,CAAA"}