A TypeError when expires_in is not a positive finite number. 0, negative, NaN, or Infinity values produce an already-expired or nonsensical expiry that silently breaks proactive-refresh scheduling (and is one comparison-operator slip away from a refresh loop), so they are rejected instead.
Computes the absolute expiry time of a token response.
Shared by both providers' expiry helpers so the validation and the arithmetic live in one place.