Microsoft 365 tenant · SharePoint, OneDrive & Teams

Require people who use a verification code to reauthenticate regularly

When it fails: External recipients who sign in with a verification code stay signed in indefinitely. A browser session opened with an emailed code keeps access to shared content without ever proving again that its holder controls the mailbox.

CB-M365-COLLAB-012mediumactivemanualprofile baseline

Description

External recipients who authenticate with a one-time verification code sent by email and choose to stay signed in must prove again that they control the mailbox every {{ verification_code_reauth_days }} days (EmailAttestationRequired = True, EmailAttestationReAuthDays).

This SharePoint setting applies to recipients authenticated by SharePoint itself. When Microsoft Entra B2B integration is on (CB-M365-COLLAB-002), guests use the Entra B2B email one-time passcode instead and the Entra session controls apply.

Rationale

A verification code proves control of a mailbox once. Without reauthentication, a session cookie opened on a shared or lost computer, or a mailbox that the person no longer controls (left the company, recycled address), keeps access to the shared files for as long as the cookie lives. A short reauthentication period bounds that window.

Impact

External recipients using verification codes receive a new code by email every {{ verification_code_reauth_days }} days. Microsoft retires SharePoint one-time passcode authentication for commercial tenants in October 2026; after that, the setting only matters for tenants where it still applies, and the reauthentication of B2B guests depends on Entra Conditional Access session controls.

Setting

LocationSharePoint admin center > Policies > Sharing > More external sharing settings > People who use a verification code must reauthenticate after this many days
DefaultOff (EmailAttestationRequired = False)
RecommendedOn, {{ verification_code_reauth_days }} days or less

Parameters

ParameterBaselineHardenedBounds
verification_code_reauth_daysinteger, days. Maximum number of days before a verification-code user must reauthenticate.15151 to 365

The value used is your override (tailoring file), else the profile's, else the one of the profile it extends, else the default. Bounds limit what an override may set.

Audit

  1. Sign in to the SharePoint admin center (https://admin.microsoft.com/sharepoint) as at least a Global Reader.
  2. Browse to Policies > Sharing > More external sharing settings and check that People who use a verification code must reauthenticate after this many days is selected with at most {{ verification_code_reauth_days }}.
  3. With the SharePoint Online Management Shell (SharePoint Administrator): Get-SPOTenant | Select-Object EmailAttestationRequired, EmailAttestationReAuthDays.
  4. Fail if external sharing is allowed and EmailAttestationRequired is False or EmailAttestationReAuthDays is greater than {{ verification_code_reauth_days }}.

Remediation

  1. In the SharePoint admin center, browse to Policies > Sharing > More external sharing settings, select People who use a verification code must reauthenticate after this many days, enter {{ verification_code_reauth_days }} and Save. Role: SharePoint Administrator.
  2. PowerShell equivalent: Set-SPOTenant -EmailAttestationRequired $true -EmailAttestationReAuthDays {{ verification_code_reauth_days }}.
  3. For B2B guests, bound the session with a Conditional Access policy targeting Guest or external users with Sign-in frequency set to the same number of days.

References

Mappings

FrameworkIDRelationNote
NIST SP 800-53 Rev. 55.1.1IA-11related
NIST SP 800-53 Rev. 55.1.1AC-12related
CISA SCuBA Microsoft 365 Secure Configuration Baselines2.0.0MS.SHAREPOINT.3.3v2stricterSCuBA allows up to 30 days; this control uses 15 days by default.

How this control relates to the other framework's: equivalent, stricter, looser, partial or related.

Threats mitigated

People and lifecycle

Authors
Introduced inv0.1.0
Created, updated2026-10-24, 2026-10-24
Translationsfr