If you face the below issue in Named Credential, make sure Default Scope is set in Auth. Provider.
“The authentication provider didn’t provide a refresh token. If the access token expires, your org won’t be able to access this named credential.”
1. For Salesforce, the Default Scopes should be refresh_token full.

2. For Microsoft, use openid offline_access as the Default Scopes.
3. For Salesforce Connect: Cross-Org, use refresh_token api or api refresh_token as the Default Scopes.