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