I have a JAVA cloud application that is using Microsoft JDBC driver (9.4 or 12.2) to make a database connection to Azure SQL Server through a SSH tunnel (Bastion Server/Jump Server). I know my SSH tunnel is working because when I authenticate with SQL username/password through the SSH server, I have no issue. My application is able to login and make query. The issue is when I switch over to Azure Active Directory access token authentication through the same SSH server, I kept getting the login failed at 127.0.0.1. Also, I know my access token is valid because I can authenticate fine without going through the SSH Tunnel. The issue arise when I try to authenticate with access token through the SSH tunnel.

I'm using the SqlServerDataSource class from MS JDBC driver. The only difference I see between username/password versus accessToken is these 3 setter methods:
SqlServerDataSource#setUser
SqlServerDataSource#setPassword
SqlServerDataSource$#setAccessToken
What am I missing here in the SqlServerDataSource configuration for Access Token beside setAccessToken? It failed the login when going through the SSH server 127.0.0.1. I tried setting the host certificate with SqlServerDataSource#setHostNameInCertificate but that didn't make a difference.
Anyone know if we can use Azure Active Directory access token through SSH tunnel? What am I missing in my setting?