Вы используете поток учетных данных клиента здесь, в своем коде, чтобы получить токен.
См. Здесь для документации - IConfidentialClientApplication.AcquireTokenForClient (IEnumerable) Method
AuthenticationResult result = await app.AcquireTokenForClient(ewsScopes)
.ExecuteAsync();
Подробнее о потоке Client Credentials читайте здесь, и, в частности, как выглядит успешный ответ в этом случае, который, как ожидается, будет иметь только access_token и не refresh_token.
{
"token_type": "Bearer",
"expires_in": 3599,
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik1uQ19WWmNBVGZNNXBP..."
}
Другой поток, такой как поток кода авторизации (обычно используется веб-приложениями), возвращается access_token, а также refresh_token.
Вы можете узнать больше об этом потоке и ответе в этом случае здесь - Поток кода авторизации
{
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5HVEZ2ZEstZnl0aEV1Q...",
"token_type": "Bearer",
"expires_in": 3599,
"scope": "https%3A%2F%2Fgraph.microsoft.com%2Fmail.read",
"refresh_token": "AwABAAAAvPM1KaPlrEqdFSBzjqfTGAMxZGUTdM0t4B4...",
"id_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJub25lIn0.eyJhdWQiOiIyZDRkMTFhMi1mODE0LTQ2YTctOD...",
}