Receiving AE_4_1_0001 NO AUTHENTICATE failed / Connection Status 16

I have an application that has been working perfectly since Oct 22 when we switched from basic auth to OAuth. But suddenly on Jan 2nd around 10:30am it just stopped working.

This has all been built in Coldfusion as an FYI.

We are obtaining an access token via outlook.office365.com endPoint

login.microsoftonline.com/tenent/oauth2/v2.0/token

Here’s the response from the request to grab an access token…
image.png (39.5 KB)

We get a status 200 and the token is returned to us. We then init the ImapClient using the method explained in this document. Using OAuth to access Mail Services|Documentation (aspose.com)

try (ImapClient client = new ImapClient(
        "outlook.office365.com",
        993,
        "user1@email.com",
        "accessToken",
        true,
        SecurityOptions.SSLImplicit)) {

}

No code has changed, no server settings have changed, the application/client_secret is not due to expire for close to a year. I’m just at a loss, any feedback is appreciated.

Hello @jyoung37,

There are a few possible causes you may investigate:

  • Access tokens usually have a much shorter lifespan. You should ensure that your application is handling the renewal of access tokens correctly and that it is not attempting to use an expired token.

  • Microsoft may have rolled out updates or changes to their services that affected the authentication process. Review the latest documentation from Microsoft for any changes that could impact your application.

  • Verify there haven’t been any network updates or maintenance activities that happened around that time which could block the connection to Microsoft’s services.

  • If the Tenant configuration has been altered by an adm (such as changes to security settings), it could affect the operation of your application.

  • Ensure that all certificates used by your app are valid and that any Certificate Authority (CA) changes have been accounted for.

  • Try to use the access token to make a simple request (such as fetching the user profile) using a third party tool, or by writing a test script.