Error authenticating Crowd with Azure Active Directory
Asked by Colin Goudie:

We've been trying to setup Crowd 3.6 against Azure Active Directory with the newer App Registration Settings (as legacy is now gone)

We create the 2 required apps in Azure and the Test Connectivity works but users cannot authenticate.

<br />

It appears the auth requests are not attaching client_secret or client_assertion from the error below.

Any idea what settings we may have missed or has anyone run into a similar issue ?

<br />

Thanks

Caused by: java.util.concurrent.ExecutionException: com.microsoft.aad.adal4j.AuthenticationException: {"error_description":"AADSTS7000218: The request body must contain the following parameter: 'client_assertion' or 'client_secret'.\\r\\nTrace ID: d8b9e01e-3eab-4901-81d3-2a95872b1900\\r\\nCorrelation ID: b4ecd08c-c934-4fe0-a2b4-f8956413a103\\r\\nTimestamp: 2019-10-28 00:00:31Z","error":"invalid_client","error_uri":"https:\\/\\/login.windows.net\\/error?code=7000218"}  
at java.util.concurrent.FutureTask.report(FutureTask.java:122)  
at java.util.concurrent.FutureTask.get(FutureTask.java:192)  
at com.atlassian.crowd.directory.authentication.impl.SameThreadUserCredentialVerifier.checkUserCredential(SameThreadUserCredentialVerifier.java:38)  
... 292 more  
Caused by: com.microsoft.aad.adal4j.AuthenticationException: {"error_description":"AADSTS7000218: The request body must contain the following parameter: 'client_assertion' or 'client_secret'.\\r\\nTrace ID: d8b9e01e-3eab-4901-81d3-2a95872b1900\\r\\nCorrelation ID: b4ecd08c-c934-4fe0-a2b4-f8956413a103\\r\\nTimestamp: 2019-10-28 00:00:31Z","error":"invalid_client","error_uri":"https:\\/\\/login.windows.net\\/error?code=7000218"}  
at com.microsoft.aad.adal4j.AdalTokenRequest.executeOAuthRequestAndProcessResponse(AdalTokenRequest.java:107)  
at com.microsoft.aad.adal4j.AuthenticationContext.acquireTokenCommon(AuthenticationContext.java:816)  
at com.microsoft.aad.adal4j.AuthenticationContext.access$100(AuthenticationContext.java:64)  
at com.microsoft.aad.adal4j.AuthenticationContext$1.call(AuthenticationContext.java:172)  
at com.microsoft.aad.adal4j.AuthenticationContext$1.call(AuthenticationContext.java:161)  
at java.util.concurrent.FutureTask.run(FutureTask.java:266)  
at com.google.common.util.concurrent.MoreExecutors$DirectExecutorService.execute(MoreExecutors.java:299)  
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)  
at com.google.common.util.concurrent.AbstractListeningExecutorService.submit(AbstractListeningExecutorService.java:58)  
at com.google.common.util.concurrent.AbstractListeningExecutorService.submit(AbstractListeningExecutorService.java:37)  
at com.microsoft.aad.adal4j.AuthenticationContext.acquireToken(AuthenticationContext.java:161)  
at com.microsoft.aad.adal4j.AuthenticationContext.acquireToken(AuthenticationContext.java:248)  
at com.atlassian.crowd.directory.authentication.impl.SameThreadUserCredentialVerifier.checkUserCredential(SameThreadUserCredentialVerifier.java:37)  
... 292 more


Answers:
author: Colin Goudie
body: For people looking at this appears our user accounts had MFA required which is causing the issue. Does Crowd 3.6 support having Azure MFA required?