Tag not monitored by Microsoft.
This behavior is consistent with how the MIP SDK surfaces authentication failures and exceptions, but the specific Linux hang with bad credentials is not documented in the provided content and cannot be fully diagnosed or confirmed as a known issue from it.
From the available information, the following points are relevant:
- The MIP SDK uses an
AuthDelegateimplementation to acquire OAuth2 tokens. The SDK callsmip::AuthDelegate::AcquireOAuth2Token()and expects the delegate to either:- Successfully acquire a token and populate
OAuth2Token, or - Fail and indicate that failure via the
OAuth2Tokenobject and the return value.
AcquireOAuth2Tokenand then continuing engine creation or surfacing an error. - Successfully acquire a token and populate
- In current documentation, authentication is described as:
- The SDK calls
AcquireOAuth2Tokenwhen required. - The delegate writes the token result into
OAuth2Token. - The SDK consumes that result when loading the engine.
AcquireOAuth2Tokendirectly and that token acquisition logic must be implemented correctly in the delegate. - The SDK calls
- The documented exception for missing tokens is
mip::NoAuthTokenError, which is thrown when the application'sAuthDelegatereturns an empty token (for example, due to cancellation). This is the error expected to be surfaced to the application when authentication fails and no usable token is provided. - The version history and FAQs in the provided content do not list a known issue for Linux or Docker where
AddEngineAsynchangs indefinitely when the delegate returns failure or a bad token. There is no documented platform-specific difference between macOS and Linux behavior for this scenario in the referenced materials.
Given the constraints of the available documentation, the only actionable guidance that can be derived is:
- Ensure the
AuthDelegate::AcquireOAuth2Tokenimplementation strictly follows the documented contract: on failure, it should clearly indicate the failure via theOAuth2Tokenobject and the return value, and not leave the token in an indeterminate state. - Confirm that the application is not blocking or deadlocking inside
AcquireOAuth2Tokenitself on Linux (for example, via network, threading, or synchronization differences in the container environment), since the SDK depends on that method returning in order to proceed and eventually raiseNoAuthTokenError. - Verify that the application is built and linked against the correct Linux dependencies for the MIP SDK as documented (curl, OpenSSL, libsecret, etc.), and that the runtime environment in Docker matches those expectations.
However, whether this specific hang is a product bug in the Linux 1.18.124 build or an environment/implementation issue cannot be determined from the provided content.
References: