code: func (a *Authenticator) PerRPCCredentials() (credentials.PerRPCCredentials, error) {
  	switch useAuth, err := a.doLoginIfRequired(false); {
  	case err != nil:
  		return nil, err
  	case useAuth:
  		return perRPCCreds{a}, nil // token-injecting PerRPCCredentials
  	default:
  		return perRPCCreds{}, nil // noop PerRPCCredentials
  	}
  }
docs: // PerRPCCredentials optionally performs a login and returns PerRPCCredentials.
  //
  // It can be used to authenticate outbound gPRC RPC's.
  //
  // Has same logic as Transport(), in particular supports OptionalLogin mode.
  // See Transport() for more details.