diff --git a/services/src/main/java/org/keycloak/social/microsoft/MicrosoftIdentityProvider.java b/services/src/main/java/org/keycloak/social/microsoft/MicrosoftIdentityProvider.java index 4f8c9c2c28..8855fbe7ae 100755 --- a/services/src/main/java/org/keycloak/social/microsoft/MicrosoftIdentityProvider.java +++ b/services/src/main/java/org/keycloak/social/microsoft/MicrosoftIdentityProvider.java @@ -69,6 +69,9 @@ public class MicrosoftIdentityProvider extends AbstractOAuth2IdentityProvider im protected BrokeredIdentityContext doGetFederatedIdentity(String accessToken) { try { JsonNode profile = SimpleHttp.doGet(PROFILE_URL, session).auth(accessToken).asJson(); + if (profile.has("error") && !profile.get("error").isNull()) { + throw new IdentityBrokerException("Error in Microsoft Graph API response. Payload: " + profile.toString()); + } return extractIdentityFromProfile(null, profile); } catch (Exception e) { throw new IdentityBrokerException("Could not obtain user profile from Microsoft Graph", e);