Using oauth2 sign in - if the token expires and the server returns 401 n8n correctly refreshes the token.
In my case the server returns 403, not 401. In code there is a tokenExpiredStatusCode option that you can use to override this code. That’s not exposed in the UI however. So I’m guessing it works if you are doing custom modules, but not if you are using the standard ui for sign in.
I manually patched this in the code, checking for 401/403 by default - and that works fine. But it should be available from the UI.
Does that make sense?