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,96 @@ 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': '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 +}]) 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 product-hero" aria-labelledby="product-title">80 +<section class="hero hero-centered" aria-labelledby="product-title"> 7 7 <div class="container hero-inner"> 8 - <div class=" product-kicker">82 + <div class="hero-kicker"> 9 9 <i class="fa fa-lock" aria-hidden="true"></i> 10 - XWiki securityextension84 + 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. 90 + Protect XWiki logins with a second verification step using authenticator app codes, 91 + email verification codes, or both. 17 17 </p> 18 18 19 - <p class="hero-support"> 20 - This extension protects XWiki accounts with time-based one-time verification codes while keeping the familiar 21 - XWiki username and password authentication as the first login step. 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,23 +32,19 @@ 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>105 + <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.108 + XWiki Two-Factor Authentication adds MFA/2FA support to the standard XWiki login flow. 109 + Users continue to sign in with their normal username and password, then confirm access with 110 + 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. 114 + The extension supports authenticator app codes, email-delivered verification codes, or a combined 115 + setup where both methods are required. It improves account protection without replacing the familiar 116 + XWiki authentication experience. 46 46 </p> 47 - 48 - <p> 49 - It can be useful for internal knowledge bases, intranets, documentation platforms, SOP systems, or other 50 - XWiki environments where access to content and administration should be better protected. 51 - </p> 52 52 </article> 53 53 54 54 <aside class="product-info-card" aria-labelledby="quick-facts-title"> ... ... @@ -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> 124 + <li>Supports TOTP authenticator applications</li> 125 + <li>Supports email-delivered one-time codes</li> 126 + <li>Can require app and email verification together</li> 127 + <li>Includes recovery codes for backup access</li> 128 + <li>Can remember trusted browsers or devices</li> 129 + <li>Includes administration and user controls</li> 63 63 </ul> 64 64 </aside> 65 65 </div> ... ... @@ -66,103 +66,210 @@ 66 66 </div> 67 67 </section> 68 68 69 -<section aria-labelledby=" features-title">136 +<section aria-labelledby="capabilities-title"> 70 70 <div class="container"> 71 - <h2 id="features-title">Main capabilities</h2> 138 + <h2 id="capabilities-title">Main capabilities</h2> 139 + 72 72 <p class="section-intro"> 73 - The extension focuses on adding a practical second authentication step while keeping the standard XWiki login 74 - process and administration experience understandable. 141 + A focused set of MFA/2FA features for stronger XWiki account protection without changing 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> 83 - <p> 84 - After the username and password are verified, users are asked to enter a time-based verification code. 85 - </p> 86 - </article> 145 + #foreach ($entry in $mainCapabilityItems) 146 + <article class="product-feature"> 147 + <div class="card-heading"> 148 + <div class="feature-icon"> 149 + <i class="fa fa-$entry.icon" aria-hidden="true"></i> 150 + </div> 151 + <h3>$entry.title</h3> 152 + </div> 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 - <p> 94 - Users can configure their verification code setup during login or from their XWiki profile when needed. 95 - </p> 96 - </article> 154 + <p>$entry.content</p> 155 + </article> 156 + #end 157 + </div> 158 + </div> 159 +</section> 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> 103 - <p> 104 - Administrators can enable the feature globally, manage user-level activation, and reset a user setup when required. 105 - </p> 106 - </article> 161 +<section class="product-section-muted" aria-labelledby="security-title"> 162 + <div class="container"> 163 + <div class="product-layout"> 164 + <article class="product-summary-card"> 165 + <h2 id="security-title">Useful for XWiki security and access protection</h2> 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> 113 113 <p> 114 - The extension adds user profile controls so the second-factor setup can be reviewed or reset from XWiki. 168 + Many organizations need multi-factor authentication for internal tools, knowledge bases, 169 + intranets, documentation platforms and systems containing operational or sensitive information. 115 115 </p> 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> 123 123 <p> 124 - The extension can fall back to standard XWiki authentication when the feature is not enabled or not configured. 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. 125 125 </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> 133 - <p> 134 - The extension is designed to support XWiki environments using the main wiki and subwikis. 135 - </p> 136 - </article> 178 + <aside class="product-info-card" aria-labelledby="use-cases-title"> 179 + <h3 id="use-cases-title">Typical use cases</h3> 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> 187 + </ul> 188 + </aside> 137 137 </div> 138 138 </div> 139 139 </section> 140 140 141 -<section aria-labelledby=" use-cases-title">193 +<section aria-labelledby="admin-experience-title"> 142 142 <div class="container"> 195 + <h2 id="admin-experience-title">Administrator experience</h2> 196 + 197 + <p class="section-intro"> 198 + Administrators can configure the MFA policy, monitor adoption and reset user MFA setups when needed. 199 + </p> 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> 210 + 211 + <p>$entry.content</p> 212 + </article> 213 + #end 214 + </div> 215 + 216 + <p class="product-gallery-caption"> 217 + Administration screens for configuring MFA and reviewing MFA adoption across users. 218 + </p> 219 + </div> 220 +</section> 221 + 222 +{{/html}} 223 + 224 +{{gallery}} 225 +[[image:mfa-admin-configuration.png]] 226 +[[image:mfa-admin-overview.png]] 227 +{{/gallery}} 228 + 229 +{{html clean="false"}} 230 + 231 +<section class="product-section-muted" aria-labelledby="user-experience-title"> 232 + <div class="container"> 233 + <h2 id="user-experience-title">User experience</h2> 234 + 235 + <p class="section-intro"> 236 + Users can configure MFA from their profile and complete the second verification step during login. 237 + </p> 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> 248 + 249 + <p>$entry.content</p> 250 + </article> 251 + #end 252 + </div> 253 + 254 + <p class="product-gallery-caption"> 255 + User setup and login verification screens. 256 + </p> 257 + </div> 258 +</section> 259 + 260 +{{/html}} 261 + 262 +{{gallery}} 263 +[[image:mfa-user-setup-qr.png]] 264 +[[image:mfa-login-verification.png]] 265 +{{/gallery}} 266 + 267 +{{html clean="false"}} 268 + 269 +<section aria-labelledby="recovery-title"> 270 + <div class="container"> 271 + <h2 id="recovery-title">Recovery codes and trusted devices</h2> 272 + 273 + <p class="section-intro"> 274 + Recovery codes and trusted devices help balance stronger access protection with a smoother user experience. 275 + </p> 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> 286 + 287 + <p>$entry.content</p> 288 + </article> 289 + #end 290 + </div> 291 + 292 + <p class="product-gallery-caption"> 293 + Recovery codes, trusted devices and user profile management. 294 + </p> 295 + </div> 296 +</section> 297 + 298 +{{/html}} 299 + 300 +{{gallery}} 301 +[[image:mfa-recovery-codes.png]] 302 +[[image:mfa-trusted-devices.png]] 303 +[[image:mfa-user-profile-overview.png]] 304 +[[image:mfa-admin-user-management.png]] 305 +{{/gallery}} 306 + 307 +{{html clean="false"}} 308 + 309 +<section class="product-section-muted" aria-labelledby="rollout-title"> 310 + <div class="container"> 143 143 <div class="product-layout"> 144 144 <article class="product-summary-card"> 145 - <h2 id="u se-cases-title">Whenthisextensionisuseful</h2>313 + <h2 id="rollout-title">Rollout recommendations</h2> 146 146 147 147 <p> 148 - Two-factor authenticationisespeciallyrelevant when XWiki containsinternaldocumentation,procedures,149 - customerinformation, projectknowledge,administrativepages,orbusiness-criticalcontent.316 + For a smooth rollout, start with a small administrator or pilot group before requiring MFA for everyone. 317 + This helps validate the configuration, prepare user communication and reduce support issues. 150 150 </p> 151 151 152 - <p> 153 - It is also useful when many users access the wiki remotely, when administrator accounts need stronger protection, 154 - or when the organization wants to reduce the risk of compromised passwords. 155 - </p> 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> 156 156 </article> 157 157 158 - <aside class="product-info-card" aria-labelledby="g ood-fit-title">159 - <h3 id="g ood-fit-title">Goodfit for</h3>330 + <aside class="product-info-card" aria-labelledby="planning-title"> 331 + <h3 id="planning-title">Useful information before installation</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> 333 + <li>XWiki version</li> 334 + <li>Single wiki or wiki farm with subwikis</li> 335 + <li>Current authentication setup</li> 336 + <li>Optional or globally required MFA policy</li> 337 + <li>Trusted-device policy</li> 338 + <li>Recovery-code policy</li> 339 + <li>Rollout communication needs</li> 166 166 </ul> 167 167 </aside> 168 168 </div> ... ... @@ -169,30 +169,17 @@ 169 169 </div> 170 170 </section> 171 171 172 -<section aria-labelledby="gallery-title"> 173 - <div class="container"> 174 - <div class="product-gallery-panel"> 175 - <h2 id="gallery-title">Screenshots</h2> 176 - <p class="gallery-note"> 177 - Use this area to show the login verification screen, first-time setup, user profile controls, 178 - and administration configuration. 179 - </p> 180 - 181 - <div class="product-gallery-placeholder"> 182 - Replace this placeholder with the XWiki gallery macro and 3-5 screenshots from the application. 183 - </div> 184 - </div> 185 - </div> 186 -</section> 187 - 188 188 <section class="cta-section" aria-labelledby="cta-title"> 189 189 <div class="container"> 190 190 <div class="cta-panel"> 191 191 <h2 id="cta-title">Interested in using this extension?</h2> 350 + 192 192 <p> 193 - Send a short message with your XWiki version, authentication setup, and whether you use a single wiki 194 - or a main wiki with subwikis. 352 + Send a short message with your XWiki version, authentication setup and whether you need 353 + authenticator app codes, email verification codes, combined verification, recovery codes 354 + or trusted-device remembering. 195 195 </p> 356 + 196 196 <a class="btn btn-primary" href="$xwiki.getURL('contact.WebHome')">Contact Agnease</a> 197 197 </div> 198 198 </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