Field validation in auth/Client.VerifyIDToken(), like checking Expires and IssuedAt, should be done before the, potentially expensive, operation verifyToken. Deep down verifyToken uses locking and issues a http request. Although this is not the biggest overhead, it would be nice if e.g. expired tokens where not dependent on sub-requests to Firebase API (an expired token is not valid no matter the signature)