code: func NewCachedFileTokenSource(path string) oauth2.TokenSource {
  	return &cachingTokenSource{
  		now:    time.Now,
  		leeway: 10 * time.Second,
  		base: &fileTokenSource{
  			path: path,
  			// This period was picked because it is half of the duration between when the kubelet
  			// refreshes a projected service account token and when the original token expires.
  			// Default token lifetime is 10 minutes, and the kubelet starts refreshing at 80% of lifetime.
  			// This should induce re-reading at a frequency that works with the token volume source.
  			period: time.Minute,
  		},
  	}
  }
docs: // NewCachedFileTokenSource returns a oauth2.TokenSource reads a token from a
  // file at a specified path and periodically reloads it.