code: func (t *TokenProvider) GetToken(audience string) (*auth.Token, error) {
  	token := t.tokenProvider.Token()
  	expireTicks, err := strconv.ParseInt(string(token.ExpiresOn), 10, 64)
  	if err != nil {
  		return nil, err
  	}
  	expires := time.Unix(expireTicks, 0)
  
  	if expires.Before(time.Now()) {
  		if err := t.tokenProvider.Refresh(); err != nil {
  			return nil, err
  		}
  		token = t.tokenProvider.Token()
  	}
  
  	return auth.NewToken(auth.CBSTokenTypeJWT, token.AccessToken, string(token.ExpiresOn)), nil
  }
docs: // GetToken gets a CBS JWT