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, 5 removed)
Details
- Page properties
-
- Content
-
... ... @@ -5,72 +5,71 @@ 5 5 #set ($mainCapabilityItems = [{ 6 6 'title': 'Second verification step', 7 7 'icon': 'key', 8 - 'content': 'Add an additional verification s creen afterthenormal XWiki usernameand password login.'8 + 'content': 'After the normal username and password check, users complete an additional verification step before accessing XWiki.' 9 9 },{ 10 10 'title': 'Authenticator app codes', 11 11 'icon': 'mobile', 12 - 'content': ' Let users verify access with time-based TOTP codes generated by authenticator applications.'12 + 'content': 'Users can verify access with time-based TOTP codes generated by authenticator applications on mobile or desktop devices.' 13 13 },{ 14 14 'title': 'Email verification codes', 15 15 'icon': 'envelope-o', 16 - 'content': ' Sendone-time verification codes by email when this methodisenabledorcombined with app codes.'16 + 'content': 'Users can receive one-time verification codes by email when an authenticator app is not available or preferred.' 17 17 }]) 18 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': '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 -}]) 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 +]) 32 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 -}]) 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 +]) 46 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 -}]) 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 +]) 60 60 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 + 61 61 #set ($rolloutItems = [{ 62 - 'title': ' Startwitha pilot group',63 - 'content': ' Testtheextension withadministratorsorasmalluser group before enablingit widely.'58 + 'title': 'Install and configure the extension', 59 + 'content': 'Start by validating compatibility with the current XWiki version and authentication setup.' 64 64 },{ 65 65 'title': 'Define the MFA policy', 66 66 'content': 'Decide whether MFA should be optional, required for administrators, or required for all users.' 67 67 },{ 68 - 'title': 'Configure recovery options',69 - 'content': 'Choose whether recovery codes and trusted devices should beenabled.'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.' 70 70 },{ 71 - 'title': ' Informusers',72 - 'content': ' ExplainhowusersconfigureMFA, saverecoverycodesandmanagetrusteddevices.'67 + 'title': 'Test with a pilot group', 68 + 'content': 'Validate the setup and login flow with administrators or a small group before wider rollout.' 73 73 },{ 70 + 'title': 'Communicate the user process', 71 + 'content': 'Explain how users should configure MFA, store recovery codes and manage trusted devices.' 72 +},{ 74 74 'title': 'Monitor adoption', 75 75 'content': 'Use the administration overview to identify users who still need to configure MFA.' 76 76 }]) ... ... @@ -115,6 +115,11 @@ 115 115 setup where both methods are required. It improves account protection without replacing the familiar 116 116 XWiki authentication experience. 117 117 </p> 117 + 118 + <p> 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. 121 + </p> 118 118 </article> 119 119 120 120 <aside class="product-info-card" aria-labelledby="quick-facts-title"> ... ... @@ -121,12 +121,12 @@ 121 121 <h3 id="quick-facts-title">Quick facts</h3> 122 122 <ul> 123 123 <li>Works with the standard XWiki login flow</li> 124 - <li>Supports TOTPauthenticator applications</li>125 - <li>Supports email-delivered one-time codes</li> 126 - <li>Can require app and email verificationtogether</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> 127 127 <li>Includes recovery codes for backup access</li> 128 128 <li>Can remember trusted browsers or devices</li> 129 - <li>Includes administration and user controls</li> 133 + <li>Includes administration and user setup controls</li> 130 130 </ul> 131 131 </aside> 132 132 </div> ... ... @@ -133,12 +133,13 @@ 133 133 </div> 134 134 </section> 135 135 136 -<section aria-labelledby=" capabilities-title">140 +<section aria-labelledby="features-title"> 137 137 <div class="container"> 138 - <h2 id=" capabilities-title">Main capabilities</h2>142 + <h2 id="features-title">Main capabilities</h2> 139 139 140 140 <p class="section-intro"> 141 - A focused set of MFA/2FA features for stronger XWiki account protection without changing the standard login experience. 145 + A focused set of MFA/2FA features for stronger XWiki account protection without changing 146 + the standard login experience. 142 142 </p> 143 143 144 144 <div class="product-feature-grid"> ... ... @@ -162,28 +162,32 @@ 162 162 <div class="container"> 163 163 <div class="product-layout"> 164 164 <article class="product-summary-card"> 165 - <h2 id="security-title">Useful for XWiki security and accessprotection</h2>170 + <h2 id="security-title">Useful for XWiki security and NIS 2 readiness</h2> 166 166 167 167 <p> 168 - Many organizations need multi-factor authentication for internal tools, knowledge bases, 169 - intranets, documentation platforms and systems containing operational or sensitive information. 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. 170 170 </p> 171 171 172 172 <p> 173 - For XWiki, adding two-factor authentication directly to the standard login flow helps protect 174 - administrator accounts, remote users, private knowledge bases and customer or partner portals. 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. 175 175 </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> 176 176 </article> 177 177 178 178 <aside class="product-info-card" aria-labelledby="use-cases-title"> 179 179 <h3 id="use-cases-title">Typical use cases</h3> 180 180 <ul> 181 - <li>Administrator account protection</li> 182 - <li>Internal knowledge base security</li> 183 - <li>Private documentation platforms</li> 184 - <li>Remote user access protection</li> 185 - <li>Customer or partner portals</li> 186 - <li>Security review and NIS 2 readiness initiatives</li> 193 + #foreach ($item in $useCaseItems) 194 + <li>$item</li> 195 + #end 187 187 </ul> 188 188 </aside> 189 189 </div> ... ... @@ -190,66 +190,116 @@ 190 190 </div> 191 191 </section> 192 192 193 -<section aria-labelledby="admin- experience-title">202 +<section aria-labelledby="admin-title"> 194 194 <div class="container"> 195 - <h2 id="admin-experience-title">Administrator experience</h2> 204 + <div class="product-layout"> 205 + <article class="product-summary-card"> 206 + <h2 id="admin-title">Administrator configuration</h2> 196 196 197 - <p class="section-intro"> 198 - Administrators can configure the MFA policy, monitor adoption and reset user MFA setups when needed. 199 - </p> 208 + <p> 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. 211 + </p> 200 200 201 - <div class="product-feature-grid"> 202 - #foreach ($entry in $adminExperienceItems) 203 - <article class="product-feature"> 204 - <div class="card-heading"> 205 - <div class="feature-icon"> 206 - <i class="fa fa-$entry.icon" aria-hidden="true"></i> 207 - </div> 208 - <h3>$entry.title</h3> 209 - </div> 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> 210 210 211 - <p>$entry.content</p> 212 - </article> 213 - #end 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> 222 + </article> 223 + 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> 214 214 </div> 233 + </div> 234 +</section> 215 215 216 216 {{/html}} 217 217 218 218 {{gallery}} 219 219 [[image:mfa-admin-configuration.png]] 220 -[[image:mfa-admin-overview.png]] 221 221 {{/gallery}} 222 222 223 223 {{html clean="false"}} 224 224 225 - <p class="product-gallery-caption"> 226 - Administration screens for configuring MFA and reviewing MFA adoption across users. 227 - </p> 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 + 250 + <p> 251 + The Administration section includes an MFA overview page that helps administrators understand adoption 252 + and usage across the wiki. 253 + </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> 259 + </article> 260 + 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> 228 228 </div> 229 229 </section> 230 230 231 -<section class="product-section-muted" aria-labelledby="user-experience-title"> 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"> 232 232 <div class="container"> 233 - <h2 id="user-experience-title">User experience</h2> 283 + <div class="product-layout"> 284 + <article class="product-summary-card"> 285 + <h2 id="user-setup-title">User setup experience</h2> 234 234 235 - <p class="section-intro"> 236 - Users can configure MFA from their profile and complete the second verification step during login. 237 - </p> 287 + <p> 288 + Users can configure MFA from their profile page. During setup, the user scans a QR code with 289 + an authenticator application. 290 + </p> 238 238 239 - <div class="product-feature-grid"> 240 - #foreach ($entry in $userExperienceItems) 241 - <article class="product-feature"> 242 - <div class="card-heading"> 243 - <div class="feature-icon"> 244 - <i class="fa fa-$entry.icon" aria-hidden="true"></i> 245 - </div> 246 - <h3>$entry.title</h3> 247 - </div> 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> 297 + </article> 248 248 249 - <p>$entry.content</p> 250 - </article> 251 - #end 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> 252 252 </div> 310 + </div> 311 +</section> 253 253 254 254 {{/html}} 255 255 ... ... @@ -260,34 +260,41 @@ 260 260 261 261 {{html clean="false"}} 262 262 263 - <p class="product-gallery-caption"> 264 - User setup and login verification screens. 265 - </p> 266 - </div> 267 -</section> 268 - 269 269 <section aria-labelledby="recovery-title"> 270 270 <div class="container"> 271 - <h2 id="recovery-title">Recovery codes and trusted devices</h2> 324 + <div class="product-layout"> 325 + <article class="product-summary-card"> 326 + <h2 id="recovery-title">Recovery codes</h2> 272 272 273 - <p class="section-intro"> 274 - Recovery codes and trusted devices help balance stronger access protection with a smoother user experience. 275 - </p> 328 + <p> 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. 331 + </p> 276 276 277 - <div class="product-feature-grid"> 278 - #foreach ($entry in $recoveryItems) 279 - <article class="product-feature"> 280 - <div class="card-heading"> 281 - <div class="feature-icon"> 282 - <i class="fa fa-$entry.icon" aria-hidden="true"></i> 283 - </div> 284 - <h3>$entry.title</h3> 285 - </div> 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> 286 286 287 - <p>$entry.content</p> 288 - </article> 289 - #end 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> 342 + </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> 290 290 </div> 355 + </div> 356 +</section> 291 291 292 292 {{/html}} 293 293 ... ... @@ -294,6 +294,47 @@ 294 294 {{gallery}} 295 295 [[image:mfa-recovery-codes.png]] 296 296 [[image:mfa-trusted-devices.png]] 363 +{{/gallery}} 364 + 365 +{{html clean="false"}} 366 + 367 +<section class="product-section-muted" aria-labelledby="profile-title"> 368 + <div class="container"> 369 + <div class="product-layout"> 370 + <article class="product-summary-card"> 371 + <h2 id="profile-title">User and administrator management</h2> 372 + 373 + <p> 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. 376 + </p> 377 + 378 + <p> 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. 381 + </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> 387 + </article> 388 + 389 + <aside class="product-info-card" aria-labelledby="profile-actions-title"> 390 + <h3 id="profile-actions-title">Profile actions</h3> 391 + <ul> 392 + #foreach ($item in $profileItems) 393 + <li>$item</li> 394 + #end 395 + </ul> 396 + </aside> 397 + </div> 398 + </div> 399 +</section> 400 + 401 +{{/html}} 402 + 403 +{{gallery}} 297 297 [[image:mfa-user-profile-overview.png]] 298 298 [[image:mfa-admin-user-management.png]] 299 299 {{/gallery}} ... ... @@ -300,40 +300,45 @@ 300 300 301 301 {{html clean="false"}} 302 302 303 - <p class="product-gallery-caption"> 304 - Recovery codes, trusted devices and user profile management. 410 +<section aria-labelledby="rollout-title"> 411 + <div class="container"> 412 + <h2 id="rollout-title">Rollout recommendations</h2> 413 + 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. 305 305 </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> 306 306 </div> 307 307 </section> 308 308 309 -<section class="product-section-muted" aria-labelledby=" rollout-title">430 +<section class="product-section-muted" aria-labelledby="planning-title"> 310 310 <div class="container"> 311 311 <div class="product-layout"> 312 312 <article class="product-summary-card"> 313 - <h2 id=" rollout-title">Rolloutrecommendations</h2>434 + <h2 id="planning-title">Planning installation</h2> 314 314 315 315 <p> 316 - For asmoothrollout,startwithasmalladministratororpilotgroup beforerequiringMFA for everyone.317 - This helps validate theconfiguration,prepareusercommunicationandreduce support issues.437 + Before installing or rolling out MFA, it is useful to review the current XWiki version, 438 + authentication setup, user base and security expectations. 318 318 </p> 319 319 320 - <ol class="process-list"> 321 - #foreach ($entry in $rolloutItems) 322 - <li> 323 - <strong>$entry.title</strong> 324 - $entry.content 325 - </li> 326 - #end 327 - </ol> 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> 328 328 </article> 329 329 330 - <aside class="product-info-card" aria-labelledby="planning-title"> 331 - <h3 id="planning-title">Useful information before installation</h3> 332 - 333 - <p class="product-card-note"> 334 - These details help evaluate compatibility, rollout scope and configuration options. 335 - </p> 336 - 447 + <aside class="product-info-card" aria-labelledby="planning-info-title"> 448 + <h3 id="planning-info-title">Useful information before installation</h3> 337 337 <ul> 338 338 <li>XWiki version</li> 339 339 <li>Single wiki or wiki farm with subwikis</li> ... ... @@ -354,7 +354,9 @@ 354 354 <h2 id="cta-title">Interested in using this extension?</h2> 355 355 356 356 <p> 357 - Send a short message with your XWiki version, current authentication setup and MFA rollout goal. 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. 358 358 </p> 359 359 360 360 <a class="btn btn-primary" href="$xwiki.getURL('contact.WebHome')">Contact Agnease</a>
- mfa-admin-configuration.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Admin - Size
-
... ... @@ -1,1 +1,0 @@ 1 -123.2 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-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