strapi-plugin-magic-link-v5 5.3.20 → 5.5.1

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/CHANGELOG.md ADDED
@@ -0,0 +1,222 @@
1
+ ## [5.5.1](https://github.com/Schero94/strapi-plugin-magic-link-v5/compare/v5.5.0...v5.5.1) (2026-04-21)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **build:** pin @strapi/sdk-plugin to ^5.4.0 — v6 produces broken 23-line stub bundles ([c653a7d](https://github.com/Schero94/strapi-plugin-magic-link-v5/commit/c653a7da00d2331cfecca533552d956e861447bd))
7
+
8
+ # [5.5.0](https://github.com/Schero94/strapi-plugin-magic-link-v5/compare/v5.4.0...v5.5.0) (2026-04-21)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * **deps:** move baileys to optionalDependencies + bump runtime deps ([b1716b2](https://github.com/Schero94/strapi-plugin-magic-link-v5/commit/b1716b22cb905aaa52fa5c7bfea5092ef722fc91)), closes [package.json#exports](https://github.com/package.json/issues/exports)
14
+ * **deps:** pin styled-components to ^6.3.9 to avoid npm ci ERESOLVE ([351cf6f](https://github.com/Schero94/strapi-plugin-magic-link-v5/commit/351cf6fd325bce0f7bc8df1bfa35895c81c326b9))
15
+ * **deps:** revert baileys back to dependencies, document protobufjs override for consumers ([260e144](https://github.com/Schero94/strapi-plugin-magic-link-v5/commit/260e1441959dfaa1bdc31550b76f4849854cc6c6))
16
+ * **enduser:** harden magic-link login/OTP flow (no enumeration, deterministic email lookup, clean delivery errors) ([707c45c](https://github.com/Schero94/strapi-plugin-magic-link-v5/commit/707c45cb4a007aa9c25b705c2b9e2f977749f126))
17
+ * **license:** wrap every license-server call in a 12s timeout with 1 retry ([6ab88ba](https://github.com/Schero94/strapi-plugin-magic-link-v5/commit/6ab88ba47e15c1d0feab53ff71866f7e5958d24a))
18
+ * **security:** gate every admin route with hasPermissions (plugin::magic-link.access) ([db821ef](https://github.com/Schero94/strapi-plugin-magic-link-v5/commit/db821ef24a46d5f5ccbebb452803dcab057123ff))
19
+
20
+
21
+ ### Features
22
+
23
+ * **security,settings:** otp binding, crypto hardening, wire-up dead settings ([90dc76d](https://github.com/Schero94/strapi-plugin-magic-link-v5/commit/90dc76d3cb77fe6bc2272155b43272e6541ab91f))
24
+
25
+ # [5.4.0](https://github.com/Schero94/strapi-plugin-magic-link-v5/compare/v5.3.20...v5.4.0) (2026-04-15)
26
+
27
+
28
+ ### Bug Fixes
29
+
30
+ * **rbac:** keep routes functional, only hide UI for unpermitted roles ([5f230cb](https://github.com/Schero94/strapi-plugin-magic-link-v5/commit/5f230cbc4432477bea6c9c3886205d058fa90f10))
31
+ * **routes:** restore original open policies for end-user facing routes ([30d7fb5](https://github.com/Schero94/strapi-plugin-magic-link-v5/commit/30d7fb5ec77c1576068052ca92e4fe9fb4771fbc))
32
+
33
+
34
+ ### Features
35
+
36
+ * **rbac:** add access permission and secure all admin routes ([7e68283](https://github.com/Schero94/strapi-plugin-magic-link-v5/commit/7e6828333a26f64612f0cf1831bdc2f535fb308f))
37
+
38
+ ## [5.3.20](https://github.com/Schero94/strapi-plugin-magic-link-v5/compare/v5.3.19...v5.3.20) (2026-02-27)
39
+
40
+
41
+ ### Bug Fixes
42
+
43
+ * loosen peerDependencies to avoid conflicts with Strapi 5.37+ ([4ac6f96](https://github.com/Schero94/strapi-plugin-magic-link-v5/commit/4ac6f96493a408e8302655b94b0e93a8f4019ff4))
44
+ * security hardening - hash-based JWT storage, prefix token lookup, rate limiter rewrite ([7010255](https://github.com/Schero94/strapi-plugin-magic-link-v5/commit/701025549ef8f2af9d99d791c2eb143afab1a1c0))
45
+
46
+ ## [5.3.19](https://github.com/Schero94/strapi-plugin-magic-link-v5/compare/v5.3.18...v5.3.19) (2026-02-14)
47
+
48
+
49
+ ### Bug Fixes
50
+
51
+ * resolve libsignal git+ssh dependency issue for CI/CD compatibility ([9c0d840](https://github.com/Schero94/strapi-plugin-magic-link-v5/commit/9c0d8403630806c10f6ea8e45de84d843d5bc206))
52
+
53
+ ## [5.3.18](https://github.com/Schero94/strapi-plugin-magic-link-v5/compare/v5.3.17...v5.3.18) (2026-02-08)
54
+
55
+
56
+ ### Bug Fixes
57
+
58
+ * dark mode compatibility for LicensePage and LicenseGuard ([e3292b2](https://github.com/Schero94/strapi-plugin-magic-link-v5/commit/e3292b267ca1c1260c809ca6f7eed80be117b70a)), closes [#4945ff](https://github.com/Schero94/strapi-plugin-magic-link-v5/issues/4945ff)
59
+
60
+ ## [5.3.17](https://github.com/Schero94/strapi-plugin-magic-link-v5/compare/v5.3.16...v5.3.17) (2026-02-07)
61
+
62
+
63
+ ### Bug Fixes
64
+
65
+ * replace all hardcoded theme colors with DS props and rgba for dark/light mode ([28b4f8e](https://github.com/Schero94/strapi-plugin-magic-link-v5/commit/28b4f8ee66e83012bb8037a4439dd393afe022e6)), closes [#BAE6FD](https://github.com/Schero94/strapi-plugin-magic-link-v5/issues/BAE6FD) [#BBF7D0](https://github.com/Schero94/strapi-plugin-magic-link-v5/issues/BBF7D0)
66
+
67
+ ## [5.3.16](https://github.com/Schero94/strapi-plugin-magic-link-v5/compare/v5.3.15...v5.3.16) (2026-02-07)
68
+
69
+
70
+ ### Bug Fixes
71
+
72
+ * use Strapi DS tokens for light+dark mode compatibility ([6a603f9](https://github.com/Schero94/strapi-plugin-magic-link-v5/commit/6a603f9da6ec07a962e785cd3410f088b8f83a9d))
73
+
74
+ ## [5.3.15](https://github.com/Schero94/strapi-plugin-magic-link-v5/compare/v5.3.14...v5.3.15) (2026-02-07)
75
+
76
+
77
+ ### Bug Fixes
78
+
79
+ * settings page fully dark mode compatible ([4b8e402](https://github.com/Schero94/strapi-plugin-magic-link-v5/commit/4b8e4026ae9d654fe655c1a812601517e82de4cd)), closes [#E5E7EB](https://github.com/Schero94/strapi-plugin-magic-link-v5/issues/E5E7EB) [#D1D5DB](https://github.com/Schero94/strapi-plugin-magic-link-v5/issues/D1D5DB) [#E9D5FF](https://github.com/Schero94/strapi-plugin-magic-link-v5/issues/E9D5FF) [#d1d5db](https://github.com/Schero94/strapi-plugin-magic-link-v5/issues/d1d5db)
80
+
81
+ ## [5.3.14](https://github.com/Schero94/strapi-plugin-magic-link-v5/compare/v5.3.13...v5.3.14) (2026-02-07)
82
+
83
+
84
+ ### Bug Fixes
85
+
86
+ * extend token modal dark mode compatible ([cb10fc6](https://github.com/Schero94/strapi-plugin-magic-link-v5/commit/cb10fc64806d1a4e3055120740413a18dd5aa9b4))
87
+
88
+ ## [5.3.13](https://github.com/Schero94/strapi-plugin-magic-link-v5/compare/v5.3.12...v5.3.13) (2026-02-07)
89
+
90
+
91
+ ### Bug Fixes
92
+
93
+ * token details modal fully dark mode compatible ([15da652](https://github.com/Schero94/strapi-plugin-magic-link-v5/commit/15da652fb8505017edc6b164d58dccb0325214dc))
94
+
95
+ ## [5.3.12](https://github.com/Schero94/strapi-plugin-magic-link-v5/compare/v5.3.11...v5.3.12) (2026-02-07)
96
+
97
+
98
+ ### Bug Fixes
99
+
100
+ * white text color for reference badge in dark mode ([cac77ee](https://github.com/Schero94/strapi-plugin-magic-link-v5/commit/cac77ee2be56d9f7fd82bd62b8a38f632891ea07))
101
+
102
+ ## [5.3.11](https://github.com/Schero94/strapi-plugin-magic-link-v5/compare/v5.3.10...v5.3.11) (2026-02-07)
103
+
104
+
105
+ ### Bug Fixes
106
+
107
+ * reference badge readable in dark mode ([7bb8ab6](https://github.com/Schero94/strapi-plugin-magic-link-v5/commit/7bb8ab6ed6329c2e9c6dc8f67da4b851bff92667))
108
+
109
+ ## [5.3.10](https://github.com/Schero94/strapi-plugin-magic-link-v5/compare/v5.3.9...v5.3.10) (2026-02-07)
110
+
111
+
112
+ ### Bug Fixes
113
+
114
+ * use expire_period from settings as default TTL in token creation ([f8cb324](https://github.com/Schero94/strapi-plugin-magic-link-v5/commit/f8cb324882807bba5fc84a2b6ab853022f988601))
115
+
116
+ ## [5.3.9](https://github.com/Schero94/strapi-plugin-magic-link-v5/compare/v5.3.8...v5.3.9) (2026-02-07)
117
+
118
+
119
+ ### Bug Fixes
120
+
121
+ * replace Toggle with Switch component (Strapi DS v2) ([a0af2f0](https://github.com/Schero94/strapi-plugin-magic-link-v5/commit/a0af2f02ac745fb6cb001008eb4af6c91257848f))
122
+
123
+ ## [5.3.8](https://github.com/Schero94/strapi-plugin-magic-link-v5/compare/v5.3.7...v5.3.8) (2026-02-07)
124
+
125
+
126
+ ### Bug Fixes
127
+
128
+ * update admin UI to Strapi Design System v2 patterns ([057f5a3](https://github.com/Schero94/strapi-plugin-magic-link-v5/commit/057f5a3d4f137bb4e91b48c6a8cca103afaf067e))
129
+
130
+ ## [5.3.7](https://github.com/Schero94/strapi-plugin-magic-link-v5/compare/v5.3.6...v5.3.7) (2026-02-07)
131
+
132
+
133
+ ### Bug Fixes
134
+
135
+ * context whitelist/blacklist input fields not typeable ([5e87a8c](https://github.com/Schero94/strapi-plugin-magic-link-v5/commit/5e87a8c1a78347a68d2089a0440a3c5e30f5187b))
136
+
137
+ ## [5.3.6](https://github.com/Schero94/strapi-plugin-magic-link-v5/compare/v5.3.5...v5.3.6) (2026-02-07)
138
+
139
+
140
+ ### Bug Fixes
141
+
142
+ * pass all context fields through on login instead of hard whitelist ([116a032](https://github.com/Schero94/strapi-plugin-magic-link-v5/commit/116a032ecfe567dea51ec35688a030ebdef8e113))
143
+
144
+ ## [5.3.5](https://github.com/Schero94/strapi-plugin-magic-link-v5/compare/v5.3.4...v5.3.5) (2026-01-30)
145
+
146
+
147
+ ### Bug Fixes
148
+
149
+ * restore package-lock.json for CI/CD npm ci ([422f849](https://github.com/Schero94/strapi-plugin-magic-link-v5/commit/422f8492e4cc677381d9c2ad8f15a63bdfbb545b))
150
+ * update NumberInput onChange to onValueChange for Strapi Design System v2 ([2b2c91f](https://github.com/Schero94/strapi-plugin-magic-link-v5/commit/2b2c91fb3b51383cc540ee06b00325831855007e))
151
+ * use expire_period from settings instead of hardcoded 1 hour ([cc48094](https://github.com/Schero94/strapi-plugin-magic-link-v5/commit/cc4809471ad7f1d890881534a223eab330475629))
152
+
153
+ ## [5.3.4](https://github.com/Schero94/strapi-plugin-magic-link-v5/compare/v5.3.3...v5.3.4) (2026-01-27)
154
+
155
+
156
+ ### Bug Fixes
157
+
158
+ * use onValueChange for NumberInput components ([cbdfd3e](https://github.com/Schero94/strapi-plugin-magic-link-v5/commit/cbdfd3e61efabdb3867fdfce8a4e58c2959ddbe8))
159
+
160
+ ## [5.3.3](https://github.com/Schero94/strapi-plugin-magic-link-v5/compare/v5.3.2...v5.3.3) (2025-12-28)
161
+
162
+
163
+ ### Bug Fixes
164
+
165
+ * remove begservice references and support email ([f8a5581](https://github.com/Schero94/strapi-plugin-magic-link-v5/commit/f8a558181b62388c3019e654ad55edb118561a4e))
166
+
167
+ ## [5.3.2](https://github.com/Schero94/strapi-plugin-magic-link-v5/compare/v5.3.1...v5.3.2) (2025-12-28)
168
+
169
+
170
+ ### Bug Fixes
171
+
172
+ * update repository URLs from begservice to Schero94 ([0a5169c](https://github.com/Schero94/strapi-plugin-magic-link-v5/commit/0a5169cefba54f1582026c2027aa905c3e6b13f9))
173
+
174
+ ## [5.3.1](https://github.com/Schero94/strapi-plugin-magic-link-v5/compare/v5.3.0...v5.3.1) (2025-12-16)
175
+
176
+
177
+ ### Bug Fixes
178
+
179
+ * improve WhatsApp integration stability and documentation ([5730c07](https://github.com/Schero94/strapi-plugin-magic-link-v5/commit/5730c07710cd59d007341608e10758cf7a23f2aa))
180
+
181
+ # [5.3.0](https://github.com/Schero94/strapi-plugin-magic-link-v5/compare/v5.2.0...v5.3.0) (2025-12-16)
182
+
183
+
184
+ ### Features
185
+
186
+ * add WhatsApp integration for magic links v5.2.7 ([bc2ba06](https://github.com/Schero94/strapi-plugin-magic-link-v5/commit/bc2ba068d5375002a068f49f3566fee3b3e5fbca))
187
+
188
+ # [5.2.0](https://github.com/Schero94/strapi-plugin-magic-link-v5/compare/v5.1.4...v5.2.0) (2025-12-08)
189
+
190
+
191
+ ### Features
192
+
193
+ * enhance GitHub issue templates with plugin-specific fields and feature request template ([78f9829](https://github.com/Schero94/strapi-plugin-magic-link-v5/commit/78f982927fb970d6062a584b4b81294795330d0e))
194
+ * enhance pull request template with comprehensive sections and plugin-specific checklist ([e64eec1](https://github.com/Schero94/strapi-plugin-magic-link-v5/commit/e64eec1c2986776a9f7f00f14fec37b29acd9fb5))
195
+
196
+ ## [5.1.4](https://github.com/Schero94/strapi-plugin-magic-link-v5/compare/v5.1.3...v5.1.4) (2025-12-08)
197
+
198
+
199
+ ### Bug Fixes
200
+
201
+ * move semantic-release to devDependencies and add GitHub templates ([a942b79](https://github.com/Schero94/strapi-plugin-magic-link-v5/commit/a942b791a401c48f9c7450183c9ba57b4938a777))
202
+
203
+ ## [5.1.3](https://github.com/Schero94/strapi-plugin-magic-link-v5/compare/v5.1.2...v5.1.3) (2025-12-05)
204
+
205
+
206
+ ### Bug Fixes
207
+
208
+ * resolve strapi reference loss in setInterval cleanup functions ([1caae3f](https://github.com/Schero94/strapi-plugin-magic-link-v5/commit/1caae3f81c274d64ee4e15457d8989e4873e9875))
209
+
210
+ ## [5.1.2](https://github.com/Schero94/strapi-plugin-magic-link-v5/compare/v5.1.1...v5.1.2) (2025-12-04)
211
+
212
+
213
+ ### Bug Fixes
214
+
215
+ * hide internal content-types from Content Manager (Strapi v5) ([6cc1309](https://github.com/Schero94/strapi-plugin-magic-link-v5/commit/6cc13095229800ad00c71964738215453e102f27))
216
+
217
+ ## [5.1.1](https://github.com/Schero94/strapi-plugin-magic-link-v5/compare/v5.1.0...v5.1.1) (2025-12-04)
218
+
219
+
220
+ ### Bug Fixes
221
+
222
+ * trigger release for code quality improvements ([ed51892](https://github.com/Schero94/strapi-plugin-magic-link-v5/commit/ed51892f120278841b2798adb371fa8c56f88c7a))
package/LICENSE CHANGED
@@ -12,12 +12,6 @@ furnished to do so, subject to the following conditions:
12
12
  The above copyright notice and this permission notice shall be included in all
13
13
  copies or substantial portions of the Software.
14
14
 
15
- **ADDITIONAL CONDITION:**
16
- The license validation system (including but not limited to license-guard.js,
17
- license controller, and related API endpoints) must remain intact and functional.
18
- Removing, bypassing, or disabling the license validation system is strictly
19
- prohibited.
20
-
21
15
  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22
16
  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23
17
  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
package/README.md CHANGED
@@ -783,6 +783,71 @@ npm install strapi-plugin-email-designer-5
783
783
 
784
784
  ---
785
785
 
786
+ ## 🔑 Required Environment Variables
787
+
788
+ The plugin stores secrets that must be protected across restarts and should
789
+ not be rotated with the rest of your Strapi key material. Two env vars are
790
+ **mandatory in production** (the plugin refuses to boot without them):
791
+
792
+ ```bash
793
+ # 32+ random bytes — used as AES-256 key for TOTP secrets.
794
+ # DO NOT ROTATE: existing TOTP secrets would become undecryptable.
795
+ MAGIC_LINK_ENCRYPTION_KEY=<hex from: node -e "console.log(require('crypto').randomBytes(32).toString('hex'))">
796
+
797
+ # 16+ random bytes — pepper mixed into OTP code hashes to defeat
798
+ # rainbow-table attacks on stored 6-digit codes if the DB is ever leaked.
799
+ MAGIC_LINK_OTP_PEPPER=<hex from: node -e "console.log(require('crypto').randomBytes(24).toString('hex'))">
800
+ ```
801
+
802
+ In non-production environments (`NODE_ENV !== 'production'`) the plugin
803
+ falls back to derived values so local dev setups keep working — but a WARN
804
+ is logged once per process.
805
+
806
+ ---
807
+
808
+ ## 🌐 Reverse Proxy / Rate-Limit Trust
809
+
810
+ Rate limits and all audit logs identify the caller by `ctx.request.ip`,
811
+ which Koa derives from the TCP connection by default. If your Strapi is
812
+ behind a reverse proxy (nginx, Caddy, Cloudflare, ALB, …) you MUST:
813
+
814
+ 1. Enable proxy trust in `config/server.{js,ts}`:
815
+
816
+ ```js
817
+ module.exports = ({ env }) => ({
818
+ proxy: true, // Trust X-Forwarded-For from the proxy
819
+ // ... rest of config
820
+ });
821
+ ```
822
+
823
+ 2. Configure the proxy to **strip any incoming `X-Forwarded-For`** and
824
+ emit only its own value. Without this, an attacker can spoof the
825
+ header, defeating per-IP rate limits.
826
+
827
+ 3. If you have multiple proxy hops, pin trust to the outermost ones via
828
+ Koa's `app.proxyIpHeader` / `app.maxIpsCount` (see Koa docs).
829
+
830
+ A misconfigured deployment will either:
831
+ - **Count all requests as the proxy's single IP** (everyone rate-limited together), or
832
+ - **Trust spoofed client IPs** (per-IP rate limit effectively disabled).
833
+
834
+ ---
835
+
836
+ ## 🔐 OTP Strict Binding
837
+
838
+ Starting with this release, `/otp/send`, `/otp/verify` and `/otp/resend`
839
+ require the client to present the `magicLinkToken` they received from
840
+ `/magic-link/login` when it returned `{ requiresOTP: true }`. This prevents
841
+ `/otp/send` from being abused as a standalone email-bombing vector against
842
+ arbitrary addresses and prevents `/otp/verify` from being a first-factor
843
+ login on its own.
844
+
845
+ If you have legacy integrations that must keep the old behaviour, disable
846
+ it via settings: `otp_strict_binding: false`. Doing so emits a WARN on
847
+ every request and is **not recommended**.
848
+
849
+ ---
850
+
786
851
  ## 🎨 Email Templates
787
852
 
788
853
  Customize your magic link emails using template variables:
@@ -1008,6 +1073,49 @@ If this plugin saves you time and you'd like to support development:
1008
1073
 
1009
1074
  ---
1010
1075
 
1076
+ ## Security Advisories & Dependency Overrides
1077
+
1078
+ This plugin ships with a first-party dependency tree audited on every
1079
+ release, but two transitive paths are governed by upstream packages we
1080
+ do not control. If your own `npm audit` flags any of the following,
1081
+ add the matching entry to your **Strapi project's** `package.json`
1082
+ (not this plugin's — npm `overrides` only take effect on the
1083
+ root project):
1084
+
1085
+ ```jsonc
1086
+ {
1087
+ "overrides": {
1088
+ // GHSA-xq3m-2v4x-88gg — protobufjs <7.5.5 arbitrary code execution.
1089
+ // Reaches us via @whiskeysockets/baileys → libsignal → protobufjs.
1090
+ // We already ship this override for local development; apply it in
1091
+ // your Strapi project so the fix propagates to the installed tree.
1092
+ "protobufjs": "^7.5.5",
1093
+
1094
+ // Optional: if you do not use the WhatsApp delivery feature, you
1095
+ // can also skip installing @whiskeysockets/baileys altogether:
1096
+ // npm install --omit=optional
1097
+ // (The Magic-Link code path detects the missing module and
1098
+ // disables the WhatsApp controller at runtime — the rest of the
1099
+ // plugin keeps working.)
1100
+ }
1101
+ }
1102
+ ```
1103
+
1104
+ After editing `package.json`, run:
1105
+
1106
+ ```bash
1107
+ rm -rf node_modules package-lock.json
1108
+ npm install
1109
+ npm audit
1110
+ ```
1111
+
1112
+ The critical `protobufjs` advisory disappears once the override is in
1113
+ place. The remaining `@strapi/design-system → lodash` advisory is a
1114
+ Strapi-core issue and will clear up automatically when you upgrade
1115
+ `@strapi/strapi` to the latest patch release.
1116
+
1117
+ ---
1118
+
1011
1119
  <div align="center">
1012
1120
 
1013
1121
  **Made with ❤️ by [Schero94](https://github.com/Schero94)**
@@ -5,7 +5,7 @@ import styled, { keyframes, css } from "styled-components";
5
5
  import { useIntl } from "react-intl";
6
6
  import { Box, Flex, Typography, Button, TextInput, Textarea, Checkbox, IconButton, Loader, Searchbar, SingleSelect, SingleSelectOption, Thead, Tr, Th, Tbody, Td, Pagination, PreviousLink, PageLink, NextLink, Table, Badge, VisuallyHidden, Main } from "@strapi/design-system";
7
7
  import { Cross, Sparkle, Check, Shield, Clock, Lock, Trash, ArrowClockwise, CaretDown, User, Monitor, Calendar, Plus, Earth, WarningCircle, Server, Eye, Mail, Cog, Key, Link } from "@strapi/icons";
8
- import { g as getTrad, P as PLUGIN_ID } from "./index-XzZ9gY5b.mjs";
8
+ import { g as getTrad, P as PLUGIN_ID } from "./index-C6WRQuex.mjs";
9
9
  import { useFetchClient, useNotification } from "@strapi/strapi/admin";
10
10
  import { L as LicenseGuard, a as LanguageProvider } from "./LicenseGuard-5sMwgS6j.mjs";
11
11
  const CreateTokenModal = ({ isOpen, onClose, onSubmit, formData, setFormData }) => {
@@ -33,6 +33,7 @@ const Initializer = ({ setPlugin }) => {
33
33
  };
34
34
  const PluginIcon = () => /* @__PURE__ */ jsx(Key, {});
35
35
  const pluginPermissions = {
36
+ access: [{ action: "plugin::magic-link.access", subject: null }],
36
37
  readSettings: [{ action: "plugin::magic-link.settings.read", subject: null }]
37
38
  };
38
39
  const getTrad = (id) => {
@@ -59,10 +60,9 @@ const index = {
59
60
  },
60
61
  Component: () => import(
61
62
  /* webpackChunkName: "magic-link-tokens" */
62
- "./index-FtAOFA-A.mjs"
63
+ "./index-B9M8wkAj.mjs"
63
64
  ),
64
- permissions: []
65
- // Leeres Array = keine Permission-Prüfung nötig
65
+ permissions: pluginPermissions.access
66
66
  });
67
67
  app.createSettingSection(
68
68
  {
@@ -82,7 +82,7 @@ const index = {
82
82
  to: `${PLUGIN_ID}/config`,
83
83
  Component: () => import(
84
84
  /* webpackChunkName: "magic-link-settings" */
85
- "./index-D4iiJVPc.mjs"
85
+ "./index-CoZjdlQd.mjs"
86
86
  ),
87
87
  permissions: pluginPermissions.readSettings
88
88
  },
@@ -97,7 +97,7 @@ const index = {
97
97
  /* webpackChunkName: "magic-link-license" */
98
98
  "./index-B8urUtiz.mjs"
99
99
  ),
100
- permissions: []
100
+ permissions: pluginPermissions.access
101
101
  },
102
102
  {
103
103
  intlLabel: {
@@ -110,7 +110,7 @@ const index = {
110
110
  /* webpackChunkName: "magic-link-upgrade" */
111
111
  "./LicensePage-CCNW2hT6.mjs"
112
112
  ),
113
- permissions: []
113
+ permissions: pluginPermissions.access
114
114
  },
115
115
  {
116
116
  intlLabel: {
@@ -121,9 +121,9 @@ const index = {
121
121
  to: `${PLUGIN_ID}/whatsapp`,
122
122
  Component: () => import(
123
123
  /* webpackChunkName: "magic-link-whatsapp" */
124
- "./index-BLVWydMU.mjs"
124
+ "./index-Ki-zhMlp.mjs"
125
125
  ),
126
- permissions: []
126
+ permissions: pluginPermissions.access
127
127
  }
128
128
  ]
129
129
  );
@@ -7,7 +7,7 @@ const reactIntl = require("react-intl");
7
7
  const designSystem = require("@strapi/design-system");
8
8
  const icons = require("@strapi/icons");
9
9
  const admin = require("@strapi/strapi/admin");
10
- const index = require("./index-DJQQdmfZ.js");
10
+ const index = require("./index-DoSROJog.js");
11
11
  const LicenseGuard = require("./LicenseGuard-DqyOwTlf.js");
12
12
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
13
13
  const styled__default = /* @__PURE__ */ _interopDefault(styled);
@@ -5,7 +5,7 @@ import { useIntl } from "react-intl";
5
5
  import { Box, Typography, Flex, Button, Accordion, SingleSelect, SingleSelectOption, Grid, Switch, NumberInput, TextInput, Divider, Textarea, Badge } from "@strapi/design-system";
6
6
  import { Check, Cog, Lightning, Shield, Mail, CheckCircle, Code, Link, Lock, Key } from "@strapi/icons";
7
7
  import { useNotification, useFetchClient } from "@strapi/strapi/admin";
8
- import { g as getTrad } from "./index-XzZ9gY5b.mjs";
8
+ import { g as getTrad } from "./index-C6WRQuex.mjs";
9
9
  import { u as usePluginLanguage, L as LicenseGuard, a as LanguageProvider } from "./LicenseGuard-5sMwgS6j.mjs";
10
10
  const EMAIL_TEMPLATES = {
11
11
  modern: {
@@ -7,7 +7,7 @@ const reactIntl = require("react-intl");
7
7
  const designSystem = require("@strapi/design-system");
8
8
  const icons = require("@strapi/icons");
9
9
  const admin = require("@strapi/strapi/admin");
10
- const index = require("./index-DJQQdmfZ.js");
10
+ const index = require("./index-DoSROJog.js");
11
11
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
12
12
  const styled__default = /* @__PURE__ */ _interopDefault(styled);
13
13
  const theme = {
@@ -7,7 +7,7 @@ const styled = require("styled-components");
7
7
  const reactIntl = require("react-intl");
8
8
  const designSystem = require("@strapi/design-system");
9
9
  const icons = require("@strapi/icons");
10
- const index = require("./index-DJQQdmfZ.js");
10
+ const index = require("./index-DoSROJog.js");
11
11
  const admin = require("@strapi/strapi/admin");
12
12
  const LicenseGuard = require("./LicenseGuard-DqyOwTlf.js");
13
13
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
@@ -34,6 +34,7 @@ const Initializer = ({ setPlugin }) => {
34
34
  };
35
35
  const PluginIcon = () => /* @__PURE__ */ jsxRuntime.jsx(icons.Key, {});
36
36
  const pluginPermissions = {
37
+ access: [{ action: "plugin::magic-link.access", subject: null }],
37
38
  readSettings: [{ action: "plugin::magic-link.settings.read", subject: null }]
38
39
  };
39
40
  const getTrad = (id) => {
@@ -60,10 +61,9 @@ const index = {
60
61
  },
61
62
  Component: () => Promise.resolve().then(() => require(
62
63
  /* webpackChunkName: "magic-link-tokens" */
63
- "./index-DsBgtATx.js"
64
+ "./index-DJyAppvB.js"
64
65
  )),
65
- permissions: []
66
- // Leeres Array = keine Permission-Prüfung nötig
66
+ permissions: pluginPermissions.access
67
67
  });
68
68
  app.createSettingSection(
69
69
  {
@@ -83,7 +83,7 @@ const index = {
83
83
  to: `${PLUGIN_ID}/config`,
84
84
  Component: () => Promise.resolve().then(() => require(
85
85
  /* webpackChunkName: "magic-link-settings" */
86
- "./index-B2-UNgqO.js"
86
+ "./index-CQ3Kd12m.js"
87
87
  )),
88
88
  permissions: pluginPermissions.readSettings
89
89
  },
@@ -98,7 +98,7 @@ const index = {
98
98
  /* webpackChunkName: "magic-link-license" */
99
99
  "./index-PgHpSdc8.js"
100
100
  )),
101
- permissions: []
101
+ permissions: pluginPermissions.access
102
102
  },
103
103
  {
104
104
  intlLabel: {
@@ -111,7 +111,7 @@ const index = {
111
111
  /* webpackChunkName: "magic-link-upgrade" */
112
112
  "./LicensePage-2M-vOJX8.js"
113
113
  )),
114
- permissions: []
114
+ permissions: pluginPermissions.access
115
115
  },
116
116
  {
117
117
  intlLabel: {
@@ -122,9 +122,9 @@ const index = {
122
122
  to: `${PLUGIN_ID}/whatsapp`,
123
123
  Component: () => Promise.resolve().then(() => require(
124
124
  /* webpackChunkName: "magic-link-whatsapp" */
125
- "./index-DLQHbyQZ.js"
125
+ "./index-DC00x-wm.js"
126
126
  )),
127
- permissions: []
127
+ permissions: pluginPermissions.access
128
128
  }
129
129
  ]
130
130
  );
@@ -5,7 +5,7 @@ import { useIntl } from "react-intl";
5
5
  import { Flex, Loader, Box, Typography, Button, TextInput, Badge } from "@strapi/design-system";
6
6
  import { Phone, Check, Message, ArrowClockwise } from "@strapi/icons";
7
7
  import { useNotification, useFetchClient } from "@strapi/strapi/admin";
8
- import { g as getTrad } from "./index-XzZ9gY5b.mjs";
8
+ import { g as getTrad } from "./index-C6WRQuex.mjs";
9
9
  const theme = {
10
10
  colors: {
11
11
  primary: { 700: "#075985", 100: "#E0F2FE", 50: "#F0F9FF" },
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
- const index = require("../_chunks/index-DJQQdmfZ.js");
2
+ const index = require("../_chunks/index-DoSROJog.js");
3
3
  require("@strapi/icons");
4
4
  module.exports = index.index;
@@ -1,4 +1,4 @@
1
- import { i } from "../_chunks/index-XzZ9gY5b.mjs";
1
+ import { i } from "../_chunks/index-C6WRQuex.mjs";
2
2
  import "@strapi/icons";
3
3
  export {
4
4
  i as default