A cloud-based identity and access management service for securing user authentication and resource access
You're right to expect the refresh token to last up to 90 days based on Microsoft Identity Platform documentation, but there are important points tied to how refresh token lifetime and rotation work in modern applications using MSAL and the Microsoft Identity Platform.
By default, Microsoft enforces refresh token inactivity expiration, which causes the token to expire if it is not used within 24 hours. This is part of the Continuous Access Evaluation (CAE) model. For mobile and desktop applications (public clients), the refresh token is designed to last up to 90 days. However, this is a rolling window the token remains valid for up to 90 days as long as it is used at least once every 24 hours. If the token is not used within a 24-hour period, it becomes inactive and expires, requiring the user to re-authenticate.
So, if a refresh token is not used within 24 hours for example, if a user shuts down their device for more than a day, it will expire due to inactivity, and the user will need to sign in again.
Additionally, Conditional Access policies cannot be configured for public client applications (desktop/mobile). While there is an option to configure persistent session behavior via Conditional Access, it only applies to browser sessions and has no effect on mobile or desktop app token lifetimes.
Therefore, in your scenario, there is currently no supported way to extend the refresh token expiration period beyond the 24-hour inactivity window.
Hope this helps. Do let us know if you any further queries.
Please remember to "Accept Answer" if answer helped you. This will help us as well as others in the community who might be researching similar questions.