ServiceDeskSimulator
AI coaching on Start

Knowledge base

Reading sign-in failure codes (AADSTS)

Reference: Microsoft Learn — Microsoft Entra authentication and authorization error codes

← All articles
entraidentitysign-indiagnostics

Every failed sign-in in the Microsoft Entra sign-in logs carries a numeric code. The

code tells you which stage failed, and that alone eliminates most of the

possibilities before you touch anything.

A cloud sign-in has three stages:

  1. Primary authentication — the password (or passwordless credential) is validated.
  2. Strong authentication — the MFA challenge is issued and satisfied.
  3. Authorization — Conditional Access evaluates the request and grants or blocks.

If you know the stage, you know the class of cause.

Codes you will see most often

CodeMeaningWhat it tells you
50126Invalid username or passwordStage 1. The credential itself is wrong, expired, or not yet synced.
50053Account locked (smart lockout)Stage 1. Repeated bad attempts — often a symptom, not the cause.
50055Password expiredStage 1. The user must change it.
50057User account is disabledStage 1. The account is blocked or has been offboarded.
50074Strong authentication required, not satisfiedStage 2. The password worked. The second factor did not.
50076MFA required due to a configuration changeStage 2. Usually a new or changed policy.
500121Authentication failed during strong authentication requestStage 2. The challenge was issued and never completed — expired, denied, or no usable method.
53000Device is not compliantStage 3. Conditional Access. The identity is fine.
53003Blocked by Conditional AccessStage 3. Read the policy name in the log entry.
530002Device not compliant or not managedStage 3. Enrolment or compliance, not credentials.
50097Device authentication requiredStage 3. The device is not registered as required.
700016Application not found in directoryThe app registration, not the user.

How to use this in practice

A stage-2 or stage-3 code means the password is not the problem. This is the

single most useful thing the codes give you. Resetting a password in response to a

50074 or a 53000 changes nothing, costs the user time, and adds a temporary

credential they have to memorise while still locked out.

Read the detail string, not just the number. Stage-3 failures name the

Conditional Access policy that blocked the request. That takes you straight to the

grant control that was not satisfied.

Look at the pattern across the log, not one row. A single 50126 is a typo. A wall

of 50126 across many users starting at a specific time is a directory sync failure,

a password-writeback failure, or an on-premises outage — a very different ticket.

Check whether primary auth is succeeding elsewhere. A user who can sign in to a

domain-joined Windows device but not to cloud services has a working credential and

a failing cloud stage. That comparison is free and takes ten seconds.

Related