In Python, the MSAL clients are all synchronous. To improve performance, we can wrap the calls to MSAL functionality with the help of asyncio. See: https://stackoverflow.com/questions/41063331/how-to-use-asyncio-with-existing-blocking-library