According to Apollo docs headers (and other changes on outgoing request) can be set using willSendRequest method.
So we can extract this code to the willSendRequest function.
In this way we can separate the request building that related to directive implementation from the applying outgoing auth (related to upstreams concept)