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)
Details
- Page properties
-
- Content
-
... ... @@ -1,9 +1,85 @@ 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': 'Email verification codes', 15 + 'icon': 'envelope-o', 16 + 'content': 'Send one-time verification codes by email when this method is enabled or combined with app codes.' 17 +}]) 18 + 19 +#set ($adminExperienceItems = [{ 20 + 'title': 'Simple MFA policy', 21 + 'icon': 'cog', 22 + 'content': 'Administrators can make MFA optional or required for all users from the XWiki Administration section.' 23 +},{ 24 + 'title': 'Recovery and trusted devices', 25 + 'icon': 'shield', 26 + 'content': 'Configure recovery-code count and trusted-device duration according to the organization security policy.' 27 +},{ 28 + 'title': 'Administration overview', 29 + 'icon': 'table', 30 + 'content': 'Review MFA adoption across users 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': 'Familiar login flow', 39 + 'icon': 'sign-in', 40 + 'content': 'After the normal login, users enter the configured verification code before accessing XWiki.' 41 +},{ 42 + 'title': 'Profile management', 43 + 'icon': 'user', 44 + 'content': 'Users can review MFA status, manage recovery codes and remove trusted devices from their profile.' 45 +}]) 46 + 47 +#set ($recoveryItems = [{ 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 browsers or devices can skip repeated MFA prompts for a configured period.' 55 +},{ 56 + 'title': 'Administrator reset', 57 + 'icon': 'refresh', 58 + 'content': 'Administrators can reset a user MFA setup when the user needs to restart the configuration process.' 59 +}]) 60 + 61 +#set ($rolloutItems = [{ 62 + 'title': 'Start with a pilot group', 63 + 'content': 'Test the extension with administrators or a small user group before enabling it widely.' 64 +},{ 65 + 'title': 'Define the MFA policy', 66 + 'content': 'Decide whether MFA should be optional, required for administrators, or required for all users.' 67 +},{ 68 + 'title': 'Configure recovery options', 69 + 'content': 'Choose whether recovery codes and trusted devices should be enabled.' 70 +},{ 71 + 'title': 'Inform users', 72 + 'content': 'Explain how users configure MFA, save recovery codes and manage trusted devices.' 73 +},{ 74 + 'title': 'Monitor adoption', 75 + 'content': 'Use the administration overview to identify users who still need to configure MFA.' 76 +}]) 77 + 4 4 {{html clean="false"}} 5 5 6 -<section class="hero hero-centered" aria-labelledby="hero-title"> 80 +<div class="product-doc-page product-mfa-page"> 81 + 82 +<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> ... ... @@ -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 anadditional verificationscreen afterthe standard35 - XWiki username and passwordlogin.Itimprovesaccount protectionwithout replacing the36 - familiarXWikiauthenticationflow.110 + XWiki Two-Factor Authentication adds MFA/2FA support to the standard XWiki login flow. 111 + Users continue to sign in with their normal username and password, then confirm access with 112 + an additional verification method. 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. 116 + The extension supports authenticator app codes, email-delivered verification codes, or a combined 117 + setup where both methods are required. It is designed to improve account protection without replacing 118 + the familiar XWiki authentication experience. 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> 126 + <li>Supports TOTP authenticator applications</li> 127 + <li>Supports email-delivered one-time codes</li> 128 + <li>Can require app and email verification together</li> 129 + <li>Includes recovery codes for backup access</li> 57 57 <li>Can remember trusted browsers or devices</li> 58 - <li>Includes administration and user setupcontrols</li>131 + <li>Includes administration and user controls</li> 59 59 </ul> 60 60 </aside> 61 61 </div> ... ... @@ -62,9 +62,9 @@ 62 62 </div> 63 63 </section> 64 64 65 -<section aria-labelledby=" features-title">138 +<section aria-labelledby="capabilities-title"> 66 66 <div class="container"> 67 - <h2 id=" features-title">Main capabilities</h2>140 + <h2 id="capabilities-title">Main capabilities</h2> 68 68 69 69 <p class="section-intro"> 70 70 A focused set of MFA/2FA features for stronger XWiki account protection without changing the standard login experience. ... ... @@ -71,82 +71,201 @@ 71 71 </p> 72 72 73 73 <div class="product-feature-grid"> 74 - <article class="product-feature"> 75 - <div class="feature-heading"> 76 - <div class="feature-icon"> 77 - <i class="fa fa-key" aria-hidden="true"></i> 147 + #foreach ($entry in $mainCapabilityItems) 148 + <article class="product-feature"> 149 + <div class="card-heading"> 150 + <div class="feature-icon"> 151 + <i class="fa fa-$entry.icon" aria-hidden="true"></i> 152 + </div> 153 + <h3>$entry.title</h3> 78 78 </div> 79 - <h3>Second verification step</h3> 80 - </div> 81 81 156 + <p>$entry.content</p> 157 + </article> 158 + #end 159 + </div> 160 + </div> 161 +</section> 162 + 163 +<section class="product-section-muted" aria-labelledby="security-title"> 164 + <div class="container"> 165 + <div class="product-layout"> 166 + <article class="product-summary-card"> 167 + <h2 id="security-title">Useful for XWiki security and access protection</h2> 168 + 82 82 <p> 83 - Afterusernameandpasswordverification,userscompleteanadditionalstepbefore accessing XWiki.84 - Theflowcan requireone verificationmethodorbothapp andemailcodes.170 + Many organizations need multi-factor authentication for internal tools, knowledge bases, 171 + intranets, documentation platforms and systems containing operational or sensitive information. 85 85 </p> 86 - </article> 87 87 88 - <article class="product-feature"> 89 - <div class="feature-heading"> 90 - <div class="feature-icon"> 91 - <i class="fa fa-mobile" aria-hidden="true"></i> 92 - </div> 93 - <h3>Authenticator app codes</h3> 94 - </div> 95 - 96 96 <p> 97 - Users can verify access with TOTP codes generated by authenticator applications on mobile or desktop devices. 175 + For XWiki, adding two-factor authentication directly to the standard login flow helps protect 176 + administrator accounts, remote users, private knowledge bases and customer or partner portals. 98 98 </p> 99 99 </article> 100 100 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> 180 + <aside class="product-info-card" aria-labelledby="use-cases-title"> 181 + <h3 id="use-cases-title">Typical use cases</h3> 182 + <ul> 183 + <li>Administrator account protection</li> 184 + <li>Internal knowledge base security</li> 185 + <li>Private documentation platforms</li> 186 + <li>Remote user access protection</li> 187 + <li>Customer or partner portals</li> 188 + <li>Security review and NIS 2 readiness initiatives</li> 189 + </ul> 190 + </aside> 191 + </div> 192 + </div> 193 +</section> 194 + 195 +<section aria-labelledby="admin-experience-title"> 196 + <div class="container"> 197 + <h2 id="admin-experience-title">Administrator experience</h2> 198 + 199 + <p class="section-intro"> 200 + Administrators can configure the MFA policy, monitor adoption and reset user MFA setups when needed. 201 + </p> 202 + 203 + <div class="product-feature-grid"> 204 + #foreach ($entry in $adminExperienceItems) 205 + <article class="product-feature"> 206 + <div class="card-heading"> 207 + <div class="feature-icon"> 208 + <i class="fa fa-$entry.icon" aria-hidden="true"></i> 209 + </div> 210 + <h3>$entry.title</h3> 105 105 </div> 106 - <h3>Email verification codes</h3> 107 - </div> 108 108 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> 213 + <p>$entry.content</p> 214 + </article> 215 + #end 113 113 </div> 217 + 218 + <p class="product-gallery-caption"> 219 + Administration screens for configuring MFA and reviewing MFA adoption across users. 220 + </p> 114 114 </div> 115 115 </section> 116 116 117 -<section class="product-section-muted" aria-labelledby="security-title"> 224 +{{/html}} 225 + 226 +{{gallery}} 227 +[[image:mfa-admin-configuration.png]] 228 +[[image:mfa-admin-overview.png]] 229 +{{/gallery}} 230 + 231 +{{html clean="false"}} 232 + 233 +<section class="product-section-muted" aria-labelledby="user-experience-title"> 118 118 <div class="container"> 235 + <h2 id="user-experience-title">User experience</h2> 236 + 237 + <p class="section-intro"> 238 + Users can configure MFA from their profile and complete the second verification step during login. 239 + </p> 240 + 241 + <div class="product-feature-grid"> 242 + #foreach ($entry in $userExperienceItems) 243 + <article class="product-feature"> 244 + <div class="card-heading"> 245 + <div class="feature-icon"> 246 + <i class="fa fa-$entry.icon" aria-hidden="true"></i> 247 + </div> 248 + <h3>$entry.title</h3> 249 + </div> 250 + 251 + <p>$entry.content</p> 252 + </article> 253 + #end 254 + </div> 255 + 256 + <p class="product-gallery-caption"> 257 + User setup and login verification screens. 258 + </p> 259 + </div> 260 +</section> 261 + 262 +{{/html}} 263 + 264 +{{gallery}} 265 +[[image:mfa-user-setup-qr.png]] 266 +[[image:mfa-login-verification.png]] 267 +{{/gallery}} 268 + 269 +{{html clean="false"}} 270 + 271 +<section aria-labelledby="recovery-title"> 272 + <div class="container"> 273 + <h2 id="recovery-title">Recovery codes and trusted devices</h2> 274 + 275 + <p class="section-intro"> 276 + Recovery codes and trusted devices help balance stronger access protection with a smoother user experience. 277 + </p> 278 + 279 + <div class="product-feature-grid"> 280 + #foreach ($entry in $recoveryItems) 281 + <article class="product-feature"> 282 + <div class="card-heading"> 283 + <div class="feature-icon"> 284 + <i class="fa fa-$entry.icon" aria-hidden="true"></i> 285 + </div> 286 + <h3>$entry.title</h3> 287 + </div> 288 + 289 + <p>$entry.content</p> 290 + </article> 291 + #end 292 + </div> 293 + 294 + <p class="product-gallery-caption"> 295 + Recovery codes, trusted devices and user profile management. 296 + </p> 297 + </div> 298 +</section> 299 + 300 +{{/html}} 301 + 302 +{{gallery}} 303 +[[image:mfa-recovery-codes.png]] 304 +[[image:mfa-trusted-devices.png]] 305 +[[image:mfa-user-profile-overview.png]] 306 +[[image:mfa-admin-user-management.png]] 307 +{{/gallery}} 308 + 309 +{{html clean="false"}} 310 + 311 +<section class="product-section-muted" aria-labelledby="rollout-title"> 312 + <div class="container"> 119 119 <div class="product-layout"> 120 120 <article class="product-summary-card"> 121 - <h2 id=" security-title">Usefulfor XWiki securityand NIS 2readiness</h2>315 + <h2 id="rollout-title">Rollout recommendations</h2> 122 122 123 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. 318 + For a smooth rollout, start with a small administrator or pilot group before requiring MFA for everyone. 319 + This helps validate the configuration, prepare user communication and reduce support issues. 127 127 </p> 128 128 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> 134 - 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> 322 + <ol class="process-list"> 323 + #foreach ($entry in $rolloutItems) 324 + <li> 325 + <strong>$entry.title</strong> 326 + $entry.content 327 + </li> 328 + #end 329 + </ol> 139 139 </article> 140 140 141 - <aside class="product-info-card" aria-labelledby=" security-controls-title">142 - <h3 id=" security-controls-title">Useful for</h3>332 + <aside class="product-info-card" aria-labelledby="planning-title"> 333 + <h3 id="planning-title">Useful information before installation</h3> 143 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> 335 + <li>XWiki version</li> 336 + <li>Single wiki or wiki farm with subwikis</li> 337 + <li>Current authentication setup</li> 338 + <li>Optional or globally required MFA policy</li> 339 + <li>Trusted-device policy</li> 340 + <li>Recovery-code policy</li> 341 + <li>Rollout communication needs</li> 150 150 </ul> 151 151 </aside> 152 152 </div> ... ... @@ -157,14 +157,19 @@ 157 157 <div class="container"> 158 158 <div class="cta-panel"> 159 159 <h2 id="cta-title">Interested in using this extension?</h2> 352 + 160 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. 354 + Send a short message with your XWiki version, authentication setup and whether you need 355 + authenticator app codes, email verification codes, combined verification, recovery codes 356 + or trusted-device remembering. 163 163 </p> 358 + 164 164 <a class="btn btn-primary" href="$xwiki.getURL('contact.WebHome')">Contact Agnease</a> 165 165 </div> 166 166 </div> 167 167 </section> 168 168 364 +</div> 365 + 169 169 {{/html}} 170 170 {{/velocity}}