We need a two-way federation but have both federation clients in one broker
only. Therefore we have a (custom) federation plug-in (running in the
upstream broker) that re-publishes data to a downstream exchange. The
downstream broker validates the User-IDs, but it doesn't know this was a
federation, so to make this work we have either to:
- modify the "user_id" in the upstream before re-publishing down-- but then
we lose the information about the actual publisher and all upstream users
will be represented by the broker username, or
- assign the "impersonator" tag to the username used by upstream when
connecting to downstream, so it can re-publish data down on behalf of
In other words, the "escaped" implementation detail was used to implement
user_id validation in upstream-controlled federations. Does it make sense?
From: Simon MacMullen [mailto:[hidden email]]
Sent: 2. dubna 2014 18:22
To: Discussions about RabbitMQ; Gotthard, Petr
Subject: Re: [rabbitmq-discuss] Removal of the 'impersonator' tag from 3.3.0
On 02/04/14 17:14, Gotthard, Petr wrote:
> May I ask why the 'impersonator' tag has been removed from 3.3.0? I
> thought it was a useful feature I will miss it.
It was really an internal implementation detail of the federation plugin
We removed it because we had no idea people would find it useful.
Can I ask what you were doing with it? It would not be impossible to bring
it back, but I am genuinely curious as to why anyone would need it.
On 03/04/14 14:20, Simon MacMullen wrote:
> On 02/04/14 18:11, Gotthard, Petr wrote:
>> In other words, the "escaped" implementation detail was used to implement
>> user_id validation in upstream-controlled federations. Does it make
> Thanks, that does. And I can't think of a good way to do what you want
> without it. Hmm.
OK, the 'impersonator' tag is back in nightly builds, and will be in 3.3.1.