Last modified by Agnease on 2026/06/29 13:22

From version 6.6
edited by Agnease
on 2026/05/22 10:04
Change comment: There is no comment for this version
To version 25.3
edited by Agnease
on 2026/06/24 16:13
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,20 +1,107 @@
1 1  {{velocity}}
2 2  #set ($discard = $xwiki.ssx.use('PublicWebSite.WebHome'))
3 -#set ($discard = $xwiki.ssx.use('products.WebHome'))
3 +
4 +#set ($mainCapabilityItems = [{
5 + 'title': 'Second verification step',
6 + 'icon': 'key',
7 + 'content': 'Add an additional verification screen after the normal XWiki username and password login.'
8 +},{
9 + 'title': 'Authenticator app codes',
10 + 'icon': 'mobile',
11 + 'content': 'Let users verify access with time-based TOTP codes generated by authenticator applications.'
12 +},{
13 + 'title': 'Recovery and trusted devices',
14 + 'icon': 'shield',
15 + 'content': 'Provide backup access with recovery codes and reduce repeated prompts on trusted browsers.'
16 +}])
17 +
18 +#set ($adminExperienceItems = [{
19 + 'title': 'Rollout policy',
20 + 'icon': 'cog',
21 + 'content': 'Make additional verification optional at first or required for all users from the XWiki Administration section.'
22 +},{
23 + 'title': 'Configuration options',
24 + 'icon': 'sliders',
25 + 'content': 'Set the authenticator issuer name, recovery-code count and trusted-device duration.'
26 +},{
27 + 'title': 'Administration overview',
28 + 'icon': 'table',
29 + 'content': 'Review adoption with summary indicators and a filterable Live Data table.'
30 +}])
31 +
32 +#set ($userExperienceItems = [{
33 + 'title': 'Self-service setup',
34 + 'icon': 'qrcode',
35 + 'content': 'Users configure the second verification step from their profile by scanning a QR code or entering the setup key manually.'
36 +},{
37 + 'title': 'Login verification',
38 + 'icon': 'sign-in',
39 + 'content': 'After the normal login, users enter the verification code generated by their authenticator app.'
40 +},{
41 + 'title': 'Trusted browser option',
42 + 'icon': 'desktop',
43 + 'content': 'Users can trust the current browser for the configured duration after successful verification.'
44 +}])
45 +
46 +#set ($selfServiceItems = [{
47 + 'title': 'Recovery codes',
48 + 'icon': 'life-ring',
49 + 'content': 'Recovery codes provide backup access when a user loses access to the authenticator application.'
50 +},{
51 + 'title': 'Trusted devices',
52 + 'icon': 'desktop',
53 + 'content': 'Trusted devices can be reviewed and removed from the user profile.'
54 +},{
55 + 'title': 'Profile management',
56 + 'icon': 'user',
57 + 'content': 'Users can review status, generate recovery codes, manage trusted devices and reset their setup.'
58 +}])
59 +
60 +#set ($adminSupportItems = [{
61 + 'title': 'User status',
62 + 'icon': 'user',
63 + 'content': 'Administrators can open a user profile and check the verification status for that account.'
64 +},{
65 + 'title': 'Setup reset',
66 + 'icon': 'refresh',
67 + 'content': 'Administrators can reset the setup when a user needs to restart the configuration process.'
68 +},{
69 + 'title': 'Controlled recovery',
70 + 'icon': 'unlock-alt',
71 + 'content': 'Resetting the setup removes the authenticator configuration, recovery codes and trusted devices for that user.'
72 +}])
73 +
74 +#set ($rolloutItems = [{
75 + 'title': 'Start with a pilot group',
76 + 'content': 'Test the extension with administrators or a small user group before enabling it widely.'
77 +},{
78 + 'title': 'Define the rollout policy',
79 + 'content': 'Decide whether additional verification should be optional at first or required for all users.'
80 +},{
81 + 'title': 'Configure recovery options',
82 + 'content': 'Choose the number of recovery codes and whether trusted devices should be allowed.'
83 +},{
84 + 'title': 'Inform users',
85 + 'content': 'Explain how users configure the authenticator app, save recovery codes and manage trusted devices.'
86 +},{
87 + 'title': 'Monitor adoption',
88 + 'content': 'Use the administration overview to identify users who still need to configure protection.'
89 +}])
90 +
4 4  {{html clean="false"}}
5 5  
6 -<section class="hero hero-centered" aria-labelledby="hero-title">
93 +<section class="hero hero-centered" aria-labelledby="product-title">
7 7   <div class="container hero-inner">
8 8   <div class="hero-kicker">
9 9   <i class="fa fa-lock" aria-hidden="true"></i>
10 - XWiki 2FA and MFA
97 + XWiki 2FA with MFA rollout support
11 11   </div>
12 12  
13 13   <h1 id="product-title">XWiki Two-Factor Authentication</h1>
14 14  
15 15   <p class="lead">
16 - Protect XWiki logins with a second verification step using authenticator app codes,
17 - email verification codes, or both.
103 + Protect XWiki logins with authenticator app verification, recovery codes,
104 + trusted devices and administration controls for a safer rollout.
18 18   </p>
19 19  
20 20   <div class="hero-actions">
... ... @@ -31,20 +31,16 @@
31 31   <h2 id="overview-title">Two-factor authentication built into XWiki</h2>
32 32  
33 33   <p>
34 - XWiki Two-Factor Authentication adds an additional verification screen after the standard
35 - XWiki username and password login. It improves account protection without replacing the
36 - familiar XWiki authentication flow.
121 + XWiki Two-Factor Authentication adds an additional verification step to the standard
122 + XWiki login flow. Users continue to sign in with their normal username and password,
123 + then confirm access with a time-based code from an authenticator application.
37 37   </p>
38 38  
39 39   <p>
40 - Users can verify access with TOTP codes generated by an authenticator app, with one-time
41 - codes delivered by email, or with a combined setup requiring both methods.
127 + The application has evolved beyond a simple login-code screen. It supports global
128 + enforcement, recovery codes, trusted devices, user self-service, administrator
129 + reset actions and an overview for monitoring adoption.
42 42   </p>
43 -
44 - <p>
45 - Trusted browsers or devices can be remembered for a configured period, reducing repeated
46 - verification prompts on known clients while still requiring verification from new or untrusted ones.
47 - </p>
48 48   </article>
49 49  
50 50   <aside class="product-info-card" aria-labelledby="quick-facts-title">
... ... @@ -51,11 +51,12 @@
51 51   <h3 id="quick-facts-title">Quick facts</h3>
52 52   <ul>
53 53   <li>Works with the standard XWiki login flow</li>
54 - <li>Supports authenticator app codes using TOTP</li>
55 - <li>Supports email-delivered one-time verification codes</li>
56 - <li>Can require app code and email code together</li>
137 + <li>Supports TOTP authenticator applications</li>
138 + <li>Can require additional verification for all users</li>
139 + <li>Includes one-time recovery codes</li>
57 57   <li>Can remember trusted browsers or devices</li>
58 - <li>Includes administration and user setup controls</li>
141 + <li>Includes user self-service controls</li>
142 + <li>Includes an administration overview</li>
59 59   </ul>
60 60   </aside>
61 61   </div>
... ... @@ -62,82 +62,330 @@
62 62   </div>
63 63  </section>
64 64  
65 -<section aria-labelledby="features-title">
149 +<section aria-labelledby="capabilities-title">
66 66   <div class="container">
67 - <h2 id="features-title">Main capabilities</h2>
151 + <h2 id="capabilities-title">Main capabilities</h2>
68 68  
69 69   <p class="section-intro">
70 - A focused set of MFA/2FA features for stronger XWiki account protection without changing the standard login experience.
154 + A focused set of authentication protection features for stronger XWiki account security
155 + without replacing the familiar login experience.
71 71   </p>
72 72  
73 73   <div class="product-feature-grid">
74 - <article class="product-feature">
75 - <div class="feature-icon">
76 - <i class="fa fa-key" aria-hidden="true"></i>
77 - </div>
78 - <h3>Second verification step</h3>
79 - <p>
80 - After username and password verification, users complete an additional step before accessing XWiki.
81 - The flow can require one verification method or both app and email codes.
82 - </p>
83 - </article>
159 + #foreach ($entry in $mainCapabilityItems)
160 + <article class="product-feature">
161 + <div class="card-heading">
162 + <div class="feature-icon">
163 + <i class="fa fa-$entry.icon" aria-hidden="true"></i>
164 + </div>
165 + <h3>$entry.title</h3>
166 + </div>
84 84  
85 - <article class="product-feature">
86 - <div class="feature-icon">
87 - <i class="fa fa-mobile" aria-hidden="true"></i>
88 - </div>
89 - <h3>Authenticator app codes</h3>
168 + <p>$entry.content</p>
169 + </article>
170 + #end
171 + </div>
172 + </div>
173 +</section>
174 +
175 +<section class="product-section-muted" aria-labelledby="security-title">
176 + <div class="container">
177 + <div class="product-layout">
178 + <article class="product-summary-card">
179 + <h2 id="security-title">Useful for XWiki security and access protection</h2>
180 +
90 90   <p>
91 - Users can verify access with TOTP codes generated by authenticator applications on mobile or desktop devices.
182 + Many organizations use XWiki to store internal documentation, procedures, operational
183 + knowledge and business-critical information. Adding an additional authentication factor helps
184 + reduce the risk of account compromise when a password is exposed or reused.
92 92   </p>
93 - </article>
94 94  
95 - <article class="product-feature">
96 - <div class="feature-icon">
97 - <i class="fa fa-envelope-o" aria-hidden="true"></i>
98 - </div>
99 - <h3>Email verification codes</h3>
100 100   <p>
101 - Users can receive one-time verification codes by email when an authenticator app is not available or preferred.
188 + The extension is especially useful for protecting administrator accounts, remote users,
189 + private knowledge bases and customer or partner portals.
102 102   </p>
103 103   </article>
192 +
193 + <aside class="product-info-card" aria-labelledby="use-cases-title">
194 + <h3 id="use-cases-title">Typical use cases</h3>
195 + <ul>
196 + <li>Administrator account protection</li>
197 + <li>Internal knowledge base security</li>
198 + <li>Private documentation platforms</li>
199 + <li>Remote user access protection</li>
200 + <li>Customer or partner portals</li>
201 + <li>Security review, MFA rollout and compliance readiness</li>
202 + </ul>
203 + </aside>
104 104   </div>
105 105   </div>
106 106  </section>
107 107  
108 -<section class="product-section-muted" aria-labelledby="security-title">
208 +<section aria-labelledby="admin-experience-title">
109 109   <div class="container">
110 - <div class="product-layout">
111 - <article class="product-summary-card">
112 - <h2 id="security-title">Useful for XWiki security and NIS 2 readiness</h2>
210 + <h2 id="admin-experience-title">Administrator configuration and monitoring</h2>
113 113  
212 + <p class="section-intro">
213 + Administrators can configure the policy, define recovery options and monitor adoption
214 + from the XWiki Administration section.
215 + </p>
216 +
217 + <div class="product-feature-grid">
218 + #foreach ($entry in $adminExperienceItems)
219 + <article class="product-feature">
220 + <div class="card-heading">
221 + <div class="feature-icon">
222 + <i class="fa fa-$entry.icon" aria-hidden="true"></i>
223 + </div>
224 + <h3>$entry.title</h3>
225 + </div>
226 +
227 + <p>$entry.content</p>
228 + </article>
229 + #end
230 + </div>
231 +
232 +{{/html}}
233 +
234 +{{gallery}}
235 +[[image:mfa-admin-configuration.png]]
236 +[[image:mfa-admin-overview.png]]
237 +[[image:mfa-admin-full.png]]
238 +{{/gallery}}
239 +
240 +{{html clean="false"}}
241 +
242 + <p class="product-gallery-caption">
243 + Administration screens for configuring the policy and reviewing adoption across users.
244 + </p>
245 + </div>
246 +</section>
247 +
248 +<section class="product-section-muted" aria-labelledby="user-experience-title">
249 + <div class="container">
250 + <h2 id="user-experience-title">User setup and login verification</h2>
251 +
252 + <p class="section-intro">
253 + Users can configure the authenticator app from their profile or during the enforced setup flow,
254 + then verify future logins with a generated code.
255 + </p>
256 +
257 + <div class="product-feature-grid">
258 + #foreach ($entry in $userExperienceItems)
259 + <article class="product-feature">
260 + <div class="card-heading">
261 + <div class="feature-icon">
262 + <i class="fa fa-$entry.icon" aria-hidden="true"></i>
263 + </div>
264 + <h3>$entry.title</h3>
265 + </div>
266 +
267 + <p>$entry.content</p>
268 + </article>
269 + #end
270 + </div>
271 +
272 +{{/html}}
273 +
274 +{{gallery}}
275 +[[image:mfa-user-setup-qr.png]]
276 +[[image:mfa-login-verification-setup.png]]
277 +[[image:mfa-login-verification-code.png]]
278 +{{/gallery}}
279 +
280 +{{html clean="false"}}
281 +
282 + <p class="product-gallery-caption">
283 + User setup, enforced configuration and login verification screens.
284 + </p>
285 + </div>
286 +</section>
287 +
288 +<section aria-labelledby="self-service-title">
289 + <div class="container">
290 + <h2 id="self-service-title">Recovery codes and trusted devices</h2>
291 +
292 + <p class="section-intro">
293 + Recovery codes and trusted devices help balance stronger access protection with a smoother user experience.
294 + </p>
295 +
296 + <div class="product-feature-grid">
297 + #foreach ($entry in $selfServiceItems)
298 + <article class="product-feature">
299 + <div class="card-heading">
300 + <div class="feature-icon">
301 + <i class="fa fa-$entry.icon" aria-hidden="true"></i>
302 + </div>
303 + <h3>$entry.title</h3>
304 + </div>
305 +
306 + <p>$entry.content</p>
307 + </article>
308 + #end
309 + </div>
310 +
311 +{{/html}}
312 +
313 +{{gallery}}
314 +[[image:mfa-user-profile-overview.png]]
315 +[[image:mfa-recovery-codes-not-generated.png]]
316 +[[image:mfa-recovery-codes-generated.png]]
317 +[[image:mfa-trusted-devices.png]]
318 +[[image:mfa-user-profile-full.png]]
319 +{{/gallery}}
320 +
321 +{{html clean="false"}}
322 +
323 + <p class="product-gallery-caption">
324 + User profile screens for recovery codes, trusted devices and self-service management.
325 + </p>
326 + </div>
327 +</section>
328 +
329 +<section class="product-section-muted" aria-labelledby="admin-support-title">
330 + <div class="container">
331 + <h2 id="admin-support-title">Administrator support and user recovery</h2>
332 +
333 + <p class="section-intro">
334 + Administrators can help users recover from lost devices or restart setup when needed.
335 + </p>
336 +
337 + <div class="product-feature-grid">
338 + #foreach ($entry in $adminSupportItems)
339 + <article class="product-feature">
340 + <div class="card-heading">
341 + <div class="feature-icon">
342 + <i class="fa fa-$entry.icon" aria-hidden="true"></i>
343 + </div>
344 + <h3>$entry.title</h3>
345 + </div>
346 +
347 + <p>$entry.content</p>
348 + </article>
349 + #end
350 + </div>
351 +
352 +{{/html}}
353 +
354 +{{gallery}}
355 +[[image:mfa-admin-user-management.png]]
356 +{{/gallery}}
357 +
358 +{{html clean="false"}}
359 +
360 + <p class="product-gallery-caption">
361 + Administrator view for checking and resetting a user setup.
362 + </p>
363 + </div>
364 +</section>
365 +
366 +<section aria-labelledby="faq-title">
367 + <div class="container">
368 + <h2 id="faq-title">Frequently asked questions</h2>
369 +
370 + <p class="section-intro">
371 + Common questions about how the extension works, how users configure it and how administrators can manage rollout and recovery.
372 + </p>
373 +
374 + <div class="resource-content">
375 + <details class="resource-faq-item">
376 + <summary>Does this extension replace the standard XWiki login?</summary>
114 114   <p>
115 - Many organizations need multi-factor authentication for enterprise software, including internal
116 - knowledge bases, intranets, documentation platforms and systems containing operational procedures
117 - or sensitive business information.
378 + No. Users still sign in with their normal XWiki username and password. The extension adds
379 + an additional verification step after the standard login check.
118 118   </p>
381 + </details>
119 119  
383 + <details class="resource-faq-item">
384 + <summary>Which verification method is used?</summary>
120 120   <p>
121 - For organizations using XWiki, adding two-factor authentication directly to the standard login flow
122 - can help close a practical access-control gap. It can be useful for administrator accounts, remote users,
123 - private knowledge bases and broader security readiness initiatives such as NIS 2 preparation.
386 + Users verify access with time-based codes generated by an authenticator application.
387 + The setup page provides a QR code and a manual setup key.
124 124   </p>
389 + </details>
125 125  
391 + <details class="resource-faq-item">
392 + <summary>Can the second verification step be required for all users?</summary>
126 126   <p>
127 - This extension is not a complete compliance solution on its own, but it can provide an important
128 - technical control for protecting access to XWiki.
394 + Yes. Administrators can make the verification step optional or required for all users
395 + from the XWiki Administration section.
129 129   </p>
397 + </details>
398 +
399 + <details class="resource-faq-item">
400 + <summary>What happens if a user loses access to the authenticator app?</summary>
401 + <p>
402 + Recovery codes can provide backup access when enabled. Administrators can also reset
403 + the user setup so the configuration process can be restarted.
404 + </p>
405 + </details>
406 +
407 + <details class="resource-faq-item">
408 + <summary>Can trusted browsers or devices be disabled?</summary>
409 + <p>
410 + Yes. Administrators can configure how long trusted devices remain valid. Setting the
411 + trusted-device duration to 0 disables this option.
412 + </p>
413 + </details>
414 +
415 + <details class="resource-faq-item">
416 + <summary>Is this only a basic 2FA login-code screen?</summary>
417 + <p>
418 + No. The main login mechanism is two-factor authentication, but the application also includes
419 + features needed for a safer organization-wide rollout: enforcement policy, recovery codes,
420 + trusted devices, user self-service, administrator monitoring and administrator reset actions.
421 + </p>
422 + </details>
423 +
424 + <details class="resource-faq-item">
425 + <summary>Is this enough for compliance on its own?</summary>
426 + <p>
427 + No. This extension provides an important access-protection control, but it should be part
428 + of a broader security and compliance approach that includes permissions, upgrades,
429 + infrastructure, monitoring and operational procedures.
430 + </p>
431 + </details>
432 + </div>
433 + </div>
434 +</section>
435 +
436 +<section class="product-section-muted" aria-labelledby="rollout-title">
437 + <div class="container">
438 + <div class="product-layout">
439 + <article class="product-summary-card">
440 + <h2 id="rollout-title">Rollout recommendations</h2>
441 +
442 + <p>
443 + For a smooth rollout, start with a small administrator or pilot group before requiring
444 + the additional verification step for everyone. This helps validate the configuration,
445 + prepare user communication and reduce support issues.
446 + </p>
447 +
448 + <ol class="process-list">
449 + #foreach ($entry in $rolloutItems)
450 + <li>
451 + <strong>$entry.title</strong>
452 + $entry.content
453 + </li>
454 + #end
455 + </ol>
130 130   </article>
131 131  
132 - <aside class="product-info-card" aria-labelledby="security-controls-title">
133 - <h3 id="security-controls-title">Useful for</h3>
458 + <aside class="product-info-card" aria-labelledby="planning-title">
459 + <h3 id="planning-title">Useful information before installation</h3>
460 +
461 + <p class="product-card-note">
462 + These details help evaluate compatibility, rollout scope and configuration options.
463 + </p>
464 +
134 134   <ul>
135 - <li>XWiki 2FA rollout</li>
136 - <li>XWiki MFA adoption</li>
137 - <li>Administrator account protection</li>
138 - <li>Remote user access protection</li>
139 - <li>Private knowledge base security</li>
140 - <li>NIS 2 readiness initiatives</li>
466 + <li>XWiki version</li>
467 + <li>Single wiki or wiki farm with subwikis</li>
468 + <li>Current authentication setup</li>
469 + <li>Optional or required rollout policy</li>
470 + <li>Trusted-device policy</li>
471 + <li>Recovery-code policy</li>
472 + <li>Rollout communication needs</li>
141 141   </ul>
142 142   </aside>
143 143   </div>
... ... @@ -148,10 +148,11 @@
148 148   <div class="container">
149 149   <div class="cta-panel">
150 150   <h2 id="cta-title">Interested in using this extension?</h2>
483 +
151 151   <p>
152 - Send a short message with your XWiki version, authentication setup, and whether you need
153 - authenticator app codes, email verification codes, combined verification, or trusted-device remembering.
485 + Send a short message with your XWiki version, current authentication setup and rollout goal.
154 154   </p>
487 +
155 155   <a class="btn btn-primary" href="$xwiki.getURL('contact.WebHome')">Contact Agnease</a>
156 156   </div>
157 157   </div>
mfa-admin-configuration.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Admin
Size
... ... @@ -1,0 +1,1 @@
1 +125.3 KB
Content
mfa-admin-full.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Admin
Size
... ... @@ -1,0 +1,1 @@
1 +184.3 KB
Content
mfa-admin-overview.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Admin
Size
... ... @@ -1,0 +1,1 @@
1 +64.7 KB
Content
mfa-admin-user-management.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Admin
Size
... ... @@ -1,0 +1,1 @@
1 +26.9 KB
Content
mfa-login-verification-code.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Admin
Size
... ... @@ -1,0 +1,1 @@
1 +23.6 KB
Content
mfa-login-verification-setup.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Admin
Size
... ... @@ -1,0 +1,1 @@
1 +115.9 KB
Content
mfa-recovery-codes-generated.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Admin
Size
... ... @@ -1,0 +1,1 @@
1 +38.5 KB
Content
mfa-recovery-codes-not-generated.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Admin
Size
... ... @@ -1,0 +1,1 @@
1 +27.0 KB
Content
mfa-trusted-devices.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Admin
Size
... ... @@ -1,0 +1,1 @@
1 +59.1 KB
Content
mfa-user-profile-full.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Admin
Size
... ... @@ -1,0 +1,1 @@
1 +197.5 KB
Content
mfa-user-profile-overview.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Admin
Size
... ... @@ -1,0 +1,1 @@
1 +193.4 KB
Content
mfa-user-setup-qr.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Admin
Size
... ... @@ -1,0 +1,1 @@
1 +176.6 KB
Content