golang/oauth2 — pull request #57 by theatrus (2014-11-28 06:01:58+00:00)
Title: Avoid racing to refresh the token and add refresh hysteresis.

Currently, if the oauth2 Transport is used concurrently, and a token
refresh occurs, the token refresh procedure can be invoked multiple
times.

The token is also refreshed exactly at expiration - clock skew on the
client may attempt to use an already expired token which a strict
server implementation would reject. The hysteresis is currently static.