Changes for page XWiki Two-Factor Authentication
Last modified by Agnease on 2026/06/24 16:39
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Objects (0 modified, 1 added, 0 removed)
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,1 @@ 1 - xwiki-two-factor-authentication1 +XWiki Two-Factor Authentication - Content
-
... ... @@ -1,26 +1,95 @@ 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': 'After the normal username and password check, users complete an additional verification step before accessing XWiki.' 9 +},{ 10 + 'title': 'Authenticator app codes', 11 + 'icon': 'mobile', 12 + 'content': 'Users can verify access with time-based TOTP codes generated by authenticator applications on mobile or desktop devices.' 13 +},{ 14 + 'title': 'Email verification codes', 15 + 'icon': 'envelope-o', 16 + 'content': 'Users can receive one-time verification codes by email when an authenticator app is not available or preferred.' 17 +}]) 18 + 19 +#set ($useCaseItems = [ 20 + 'Protecting administrator accounts', 21 + 'Improving access security for internal knowledge bases', 22 + 'Securing private documentation platforms and intranets', 23 + 'Supporting remote-user access policies', 24 + 'Strengthening customer or partner portals', 25 + 'Preparing for security reviews or broader compliance initiatives' 26 +]) 27 + 28 +#set ($adminCapabilityItems = [ 29 + 'Require MFA for all users', 30 + 'Define the issuer name displayed in authenticator applications', 31 + 'Configure trusted-device duration', 32 + 'Configure how many recovery codes are generated', 33 + 'Reset a user’s MFA setup when needed', 34 + 'Review MFA adoption from the administration overview' 35 +]) 36 + 37 +#set ($overviewItems = [ 38 + 'Number of users scanned', 39 + 'Users with MFA configured', 40 + 'Users without MFA configured', 41 + 'Users with trusted devices', 42 + 'Recovery-code status', 43 + 'Unused and total recovery-code count', 44 + 'Trusted-device count' 45 +]) 46 + 47 +#set ($profileItems = [ 48 + 'Configure MFA', 49 + 'Review MFA status', 50 + 'Generate or regenerate recovery codes', 51 + 'Review trusted devices', 52 + 'Remove individual trusted devices', 53 + 'Remove all trusted devices', 54 + 'Reset MFA setup' 55 +]) 56 + 57 +#set ($rolloutItems = [{ 58 + 'title': 'Install and configure the extension', 59 + 'content': 'Start by validating compatibility with the current XWiki version and authentication setup.' 60 +},{ 61 + 'title': 'Define the MFA policy', 62 + 'content': 'Decide whether MFA should be optional, required for administrators, or required for all users.' 63 +},{ 64 + 'title': 'Configure recovery and trusted devices', 65 + 'content': 'Choose whether users can rely on recovery codes and whether trusted browsers or devices are allowed.' 66 +},{ 67 + 'title': 'Test with a pilot group', 68 + 'content': 'Validate the setup and login flow with administrators or a small group before wider rollout.' 69 +},{ 70 + 'title': 'Communicate the user process', 71 + 'content': 'Explain how users should configure MFA, store recovery codes and manage trusted devices.' 72 +},{ 73 + 'title': 'Monitor adoption', 74 + 'content': 'Use the administration overview to identify users who still need to configure MFA.' 75 +}]) 76 + 4 4 {{html clean="false"}} 5 5 6 -<section class="hero hero-centered product-hero" aria-labelledby="product-title">79 +<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 securityextension83 + XWiki 2FA and MFA 11 11 </div> 12 12 13 13 <h1 id="product-title">XWiki Two-Factor Authentication</h1> 14 14 15 15 <p class="lead"> 16 - Add a second verification step to the standard XWiki login flow. 89 + Protect XWiki logins with a second verification step using authenticator app codes, 90 + email verification codes, or both. 17 17 </p> 18 18 19 - <p class="hero-support"> 20 - This extension protects XWiki accounts with an additional verification step after the standard username and password login. 21 - Users can verify access with an authenticator app code or an email-delivered code, while XWiki keeps its familiar login experience. 22 - </p> 23 - 24 24 <div class="hero-actions"> 25 25 <a class="btn btn-primary" href="$xwiki.getURL('contact.WebHome')">Ask about this extension</a> 26 26 <a class="btn btn-secondary" href="$xwiki.getURL('products.WebHome')">View all products</a> ... ... @@ -32,22 +32,23 @@ 32 32 <div class="container"> 33 33 <div class="product-layout"> 34 34 <article class="product-summary-card"> 35 - <h2 id="overview-title"> Strongerlogin protectionforXWiki</h2>104 + <h2 id="overview-title">Two-factor authentication built into XWiki</h2> 36 36 37 37 <p> 38 - TheXWiki Two-Factor Authenticationextensionaddsanadditional verificationscreen afterthe standard39 - username and password login.Users confirmtheiridentitywithatime-based one-timecodebeforeaccessing40 - t hewiki.107 + XWiki Two-Factor Authentication adds MFA/2FA support to the standard XWiki login flow. 108 + Users continue to sign in with their normal username and password, then confirm access with 109 + an additional verification method. 41 41 </p> 42 42 43 43 <p> 44 - The extension is designed for organizations that want to improve account security while keeping authentication 45 - close to the standard XWiki login experience. 113 + The extension supports authenticator app codes, email-delivered verification codes, or a combined 114 + setup where both methods are required. It improves account protection without replacing the familiar 115 + XWiki authentication experience. 46 46 </p> 47 47 48 48 <p> 49 - It canbeusefulfor internal knowledge bases, intranets,documentation platforms, SOP systems, or other50 - XWikienvironmentswhereaccesstocontentand administration shouldbe betterprotected.119 + It is designed for organizations that use XWiki for internal knowledge bases, intranets, 120 + documentation platforms, customer portals, workflows or other business-critical applications. 51 51 </p> 52 52 </article> 53 53 ... ... @@ -55,11 +55,12 @@ 55 55 <h3 id="quick-facts-title">Quick facts</h3> 56 56 <ul> 57 57 <li>Works with the standard XWiki login flow</li> 58 - <li>Adds a second TOTP verification step</li> 59 - <li>Configuration available from wiki administration</li> 60 - <li>User setup available during login or from the user profile</li> 61 - <li>Administrators can enable, disable or reset MFA for users</li> 62 - <li>Can be used on the main wiki and subwikis</li> 128 + <li>Supports authenticator app codes using TOTP</li> 129 + <li>Supports email-delivered one-time verification codes</li> 130 + <li>Can require app code and email code together</li> 131 + <li>Includes recovery codes for backup access</li> 132 + <li>Can remember trusted browsers or devices</li> 133 + <li>Includes administration and user setup controls</li> 63 63 </ul> 64 64 </aside> 65 65 </div> ... ... @@ -69,100 +69,258 @@ 69 69 <section aria-labelledby="features-title"> 70 70 <div class="container"> 71 71 <h2 id="features-title">Main capabilities</h2> 143 + 72 72 <p class="section-intro"> 73 - The extensionfocuses onaddingapractical secondauthenticationstepwhile keepingthe standard XWiki login74 - processandadministrationexperienceunderstandable.145 + A focused set of MFA/2FA features for stronger XWiki account protection without changing 146 + the standard login experience. 75 75 </p> 76 76 77 77 <div class="product-feature-grid"> 78 - <article class="product-feature"> 79 - <div class="feature-icon"> 80 - <i class="fa fa-key" aria-hidden="true"></i> 81 - </div> 82 - <h3>Second login step</h3> 150 + #foreach ($entry in $mainCapabilityItems) 151 + <article class="product-feature"> 152 + <div class="card-heading"> 153 + <div class="feature-icon"> 154 + <i class="fa fa-$entry.icon" aria-hidden="true"></i> 155 + </div> 156 + <h3>$entry.title</h3> 157 + </div> 158 + 159 + <p>$entry.content</p> 160 + </article> 161 + #end 162 + </div> 163 + </div> 164 +</section> 165 + 166 +<section class="product-section-muted" aria-labelledby="security-title"> 167 + <div class="container"> 168 + <div class="product-layout"> 169 + <article class="product-summary-card"> 170 + <h2 id="security-title">Useful for XWiki security and NIS 2 readiness</h2> 171 + 83 83 <p> 84 - After the username and password are verified, users are asked to enter a time-based verification code. 173 + Many organizations need multi-factor authentication for enterprise software, including internal 174 + knowledge bases, intranets, documentation platforms and systems containing operational procedures 175 + or sensitive business information. 85 85 </p> 86 - </article> 87 87 88 - <article class="product-feature"> 89 - <div class="feature-icon"> 90 - <i class="fa fa-qrcode" aria-hidden="true"></i> 91 - </div> 92 - <h3>User setup screen</h3> 93 93 <p> 94 - Users can configure their verification code setup during login or from their XWiki profile when needed. 179 + For organizations using XWiki, adding two-factor authentication directly to the standard login flow 180 + can help close a practical access-control gap. It can be useful for administrator accounts, 181 + remote users, private knowledge bases and broader security readiness initiatives such as NIS 2 preparation. 95 95 </p> 183 + 184 + <p> 185 + This extension is not a complete compliance solution on its own, but it provides an important 186 + technical control for protecting access to XWiki. 187 + </p> 96 96 </article> 97 97 98 - <article class="product-feature"> 99 - <div class="feature-icon"> 100 - <i class="fa fa-sliders" aria-hidden="true"></i> 101 - </div> 102 - <h3>Administration controls</h3> 190 + <aside class="product-info-card" aria-labelledby="use-cases-title"> 191 + <h3 id="use-cases-title">Typical use cases</h3> 192 + <ul> 193 + #foreach ($item in $useCaseItems) 194 + <li>$item</li> 195 + #end 196 + </ul> 197 + </aside> 198 + </div> 199 + </div> 200 +</section> 201 + 202 +<section aria-labelledby="admin-title"> 203 + <div class="container"> 204 + <div class="product-layout"> 205 + <article class="product-summary-card"> 206 + <h2 id="admin-title">Administrator configuration</h2> 207 + 103 103 <p> 104 - Administrators can enable the feature globally, manage user-level activation, and reset a user setup when required. 209 + Administrators configure MFA from the XWiki Administration section. The configuration is intentionally 210 + simple, so the rollout can be adapted to the organization’s security policy and user base. 105 105 </p> 212 + 213 + <p> 214 + MFA can be optional or required for all users. When MFA is required, users who have not configured it yet 215 + are guided through the setup flow from their profile or during login. 216 + </p> 217 + 218 + <p> 219 + If trusted devices should not be allowed, the trusted-device duration can be set to 0. 220 + If recovery codes should not be available, the recovery-code number can be set to 0. 221 + </p> 106 106 </article> 107 107 108 - <article class="product-feature"> 109 - <div class="feature-icon"> 110 - <i class="fa fa-user" aria-hidden="true"></i> 111 - </div> 112 - <h3>Profile integration</h3> 224 + <aside class="product-info-card" aria-labelledby="admin-capabilities-title"> 225 + <h3 id="admin-capabilities-title">Administrators can</h3> 226 + <ul> 227 + #foreach ($item in $adminCapabilityItems) 228 + <li>$item</li> 229 + #end 230 + </ul> 231 + </aside> 232 + </div> 233 + </div> 234 +</section> 235 + 236 +{{/html}} 237 + 238 +{{gallery}} 239 +[[image:mfa-admin-configuration.png]] 240 +{{/gallery}} 241 + 242 +{{html clean="false"}} 243 + 244 +<section aria-labelledby="admin-overview-title"> 245 + <div class="container"> 246 + <div class="product-layout"> 247 + <article class="product-summary-card"> 248 + <h2 id="admin-overview-title">MFA overview for administrators</h2> 249 + 113 113 <p> 114 - The extension adds user profile controls so the second-factor setup can be reviewed or reset from XWiki. 251 + The Administration section includes an MFA overview page that helps administrators understand adoption 252 + and usage across the wiki. 115 115 </p> 254 + 255 + <p> 256 + The overview displays summary indicators and a Live Data table with MFA-related information. 257 + The table is filterable and sortable, making it suitable for installations with many users. 258 + </p> 116 116 </article> 117 117 118 - <article class="product-feature"> 119 - <div class="feature-icon"> 120 - <i class="fa fa-random" aria-hidden="true"></i> 121 - </div> 122 - <h3>Fallback behavior</h3> 261 + <aside class="product-info-card" aria-labelledby="overview-data-title"> 262 + <h3 id="overview-data-title">The overview can show</h3> 263 + <ul> 264 + #foreach ($item in $overviewItems) 265 + <li>$item</li> 266 + #end 267 + </ul> 268 + </aside> 269 + </div> 270 + </div> 271 +</section> 272 + 273 +{{/html}} 274 + 275 +{{gallery}} 276 +[[image:mfa-admin-overview.png]] 277 +{{/gallery}} 278 + 279 +{{html clean="false"}} 280 + 281 +<section class="product-section-muted" aria-labelledby="user-setup-title"> 282 + <div class="container"> 283 + <div class="product-layout"> 284 + <article class="product-summary-card"> 285 + <h2 id="user-setup-title">User setup experience</h2> 286 + 123 123 <p> 124 - The extension can fall back to standard XWiki authentication when the feature is not enabled or not configured. 288 + Users can configure MFA from their profile page. During setup, the user scans a QR code with 289 + an authenticator application. 125 125 </p> 291 + 292 + <p> 293 + If scanning is not possible, the setup page also provides the account name and secret key that can be 294 + entered manually. After the generated verification code is entered successfully, MFA is activated for 295 + the user account. 296 + </p> 126 126 </article> 127 127 128 - <article class="product-feature"> 129 - <div class="feature-icon"> 130 - <i class="fa fa-sitemap" aria-hidden="true"></i> 131 - </div> 132 - <h3>Main wiki and subwikis</h3> 299 + <aside class="product-info-card" aria-labelledby="login-flow-title"> 300 + <h3 id="login-flow-title">Login flow</h3> 301 + <ul> 302 + <li>User signs in with the normal XWiki credentials</li> 303 + <li>XWiki asks for the configured verification code</li> 304 + <li>The user enters the app code, email code, or both</li> 305 + <li>A recovery code can be used when enabled and available</li> 306 + <li>A trusted browser or device can be remembered when allowed</li> 307 + </ul> 308 + </aside> 309 + </div> 310 + </div> 311 +</section> 312 + 313 +{{/html}} 314 + 315 +{{gallery}} 316 +[[image:mfa-user-setup-qr.png]] 317 +[[image:mfa-login-verification.png]] 318 +{{/gallery}} 319 + 320 +{{html clean="false"}} 321 + 322 +<section aria-labelledby="recovery-title"> 323 + <div class="container"> 324 + <div class="product-layout"> 325 + <article class="product-summary-card"> 326 + <h2 id="recovery-title">Recovery codes</h2> 327 + 133 133 <p> 134 - The extension is designed to support XWiki environments using the main wiki and subwikis. 329 + Recovery codes provide a backup access method when a user loses access to the authenticator application 330 + or cannot complete the normal verification flow. 135 135 </p> 332 + 333 + <p> 334 + Recovery codes are generated for the user and displayed only once. Each code can be used one time. 335 + When new recovery codes are generated, previous recovery codes are invalidated. 336 + </p> 337 + 338 + <p> 339 + Users should save their recovery codes in a secure location immediately after generation. 340 + Administrators can configure how many recovery codes are generated, and setting the number to 0 disables them. 341 + </p> 136 136 </article> 343 + 344 + <aside class="product-info-card" aria-labelledby="trusted-devices-title"> 345 + <h3 id="trusted-devices-title">Trusted devices</h3> 346 + <ul> 347 + <li>Reduce repeated MFA prompts on known browsers or devices</li> 348 + <li>Remain valid for the configured number of days</li> 349 + <li>Can be reviewed and removed from the user profile</li> 350 + <li>The current trusted browser is marked in the list</li> 351 + <li>Removed when a user’s MFA setup is reset</li> 352 + </ul> 353 + </aside> 137 137 </div> 138 138 </div> 139 139 </section> 140 140 141 -<section aria-labelledby="use-cases-title"> 358 +{{/html}} 359 + 360 +{{gallery}} 361 +[[image:mfa-recovery-codes.png]] 362 +[[image:mfa-trusted-devices.png]] 363 +{{/gallery}} 364 + 365 +{{html clean="false"}} 366 + 367 +<section class="product-section-muted" aria-labelledby="profile-title"> 142 142 <div class="container"> 143 143 <div class="product-layout"> 144 144 <article class="product-summary-card"> 145 - <h2 id=" use-cases-title">Whenthis extensionis useful</h2>371 + <h2 id="profile-title">User and administrator management</h2> 146 146 147 147 <p> 148 - T wo-factor authenticationisespeciallyrelevantwhenXWikicontainsinternaldocumentation,procedures,149 - customer information,project knowledge,administrative pages,orbusiness-criticalcontent.374 + The user profile contains a dedicated MFA section. Users can configure MFA, review their status, 375 + manage recovery codes and manage trusted devices from this area. 150 150 </p> 151 151 152 152 <p> 153 - Itis alsouseful whenmanyusersaccess thewikiremotely, when administrator accountsneedstrongerprotection,154 - orwhen the organizationwants to reducetheriskof compromised passwords.379 + Administrators can also open a user profile and access the MFA section for that user. 380 + This is useful when a user loses access to their authenticator application or needs to restart the setup process. 155 155 </p> 382 + 383 + <p> 384 + Resetting MFA removes the authenticator app setup, invalidates recovery codes and removes trusted devices. 385 + If MFA is required globally, the user will be asked to configure MFA again at the next login. 386 + </p> 156 156 </article> 157 157 158 - <aside class="product-info-card" aria-labelledby=" good-fit-title">159 - <h3 id=" good-fit-title">Goodfitfor</h3>389 + <aside class="product-info-card" aria-labelledby="profile-actions-title"> 390 + <h3 id="profile-actions-title">Profile actions</h3> 160 160 <ul> 161 - <li>Private XWiki knowledge bases</li> 162 - <li>Company intranets</li> 163 - <li>SOP and controlled-document platforms</li> 164 - <li>Documentation portals with sensitive content</li> 165 - <li>Wikis with several administrators or remote users</li> 392 + #foreach ($item in $profileItems) 393 + <li>$item</li> 394 + #end 166 166 </ul> 167 167 </aside> 168 168 </div> ... ... @@ -169,31 +169,79 @@ 169 169 </div> 170 170 </section> 171 171 172 -#* 173 -<section aria-labelledby="gallery-title"> 401 +{{/html}} 402 + 403 +{{gallery}} 404 +[[image:mfa-user-profile-overview.png]] 405 +[[image:mfa-admin-user-management.png]] 406 +{{/gallery}} 407 + 408 +{{html clean="false"}} 409 + 410 +<section aria-labelledby="rollout-title"> 174 174 <div class="container"> 175 - <div class="product-gallery-panel"> 176 - <h2 id="gallery-title">Screenshots</h2> 177 - <p class="gallery-note"> 178 - Use this area to show the login verification screen, first-time setup, user profile controls, 179 - and administration configuration. 180 - </p> 412 + <h2 id="rollout-title">Rollout recommendations</h2> 181 181 182 - <div class="product-gallery-placeholder"> 183 - Replace this placeholder with the XWiki gallery macro and 3-5 screenshots from the application. 184 - </div> 414 + <p class="section-intro"> 415 + For a smooth rollout, start with a small administrator or pilot group before requiring MFA for everyone. 416 + A gradual rollout helps validate the configuration, prepare communication and reduce support issues. 417 + </p> 418 + 419 + <ol class="process-list"> 420 + #foreach ($entry in $rolloutItems) 421 + <li> 422 + <strong>$entry.title</strong> 423 + $entry.content 424 + </li> 425 + #end 426 + </ol> 427 + </div> 428 +</section> 429 + 430 +<section class="product-section-muted" aria-labelledby="planning-title"> 431 + <div class="container"> 432 + <div class="product-layout"> 433 + <article class="product-summary-card"> 434 + <h2 id="planning-title">Planning installation</h2> 435 + 436 + <p> 437 + Before installing or rolling out MFA, it is useful to review the current XWiki version, 438 + authentication setup, user base and security expectations. 439 + </p> 440 + 441 + <p> 442 + This helps define whether MFA should be optional, required for selected users, or enforced globally. 443 + It also helps decide whether trusted devices and recovery codes should be enabled. 444 + </p> 445 + </article> 446 + 447 + <aside class="product-info-card" aria-labelledby="planning-info-title"> 448 + <h3 id="planning-info-title">Useful information before installation</h3> 449 + <ul> 450 + <li>XWiki version</li> 451 + <li>Single wiki or wiki farm with subwikis</li> 452 + <li>Current authentication setup</li> 453 + <li>Optional or globally required MFA policy</li> 454 + <li>Trusted-device policy</li> 455 + <li>Recovery-code policy</li> 456 + <li>Rollout communication needs</li> 457 + </ul> 458 + </aside> 185 185 </div> 186 186 </div> 187 187 </section> 188 - *#462 + 189 189 <section class="cta-section" aria-labelledby="cta-title"> 190 190 <div class="container"> 191 191 <div class="cta-panel"> 192 192 <h2 id="cta-title">Interested in using this extension?</h2> 467 + 193 193 <p> 194 - Send a short message with your XWiki version, authentication setup, and whether you use a single wiki 195 - or a main wiki with subwikis. 469 + Send a short message with your XWiki version, authentication setup and whether you need 470 + authenticator app codes, email verification codes, combined verification, recovery codes 471 + or trusted-device remembering. 196 196 </p> 473 + 197 197 <a class="btn btn-primary" href="$xwiki.getURL('contact.WebHome')">Contact Agnease</a> 198 198 </div> 199 199 </div>
- Agnease.Code.SEODetailsClass[0]
-
- metaDescription
-
... ... @@ -1,0 +1,1 @@ 1 +Agnease Two-Factor Authentication for XWiki adds a second login verification step with authenticator app codes, email codes, combined verification and trusted-device remembering. - metaTitle
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki Two-Factor Authentication with 2FA and MFA Support | Agnease