[zeromq-dev] ZMQPP and metadata in ZAP reply

Arnaud Kapp kapp.arno at gmail.com
Fri Apr 29 23:25:31 CEST 2016


Hello David,

> I sense, this part has to be addressed in libzmq and not in zmqpp, but
I’m not sure where.

In theory libzmq supports your use case. You'd have to write your own ZAP
handler manualy and return your metada as part of the ZAP reply (as
specified in ZRFC27)
You cannot use zmqpp::auth for this, it's not flexible enough.

> However, I see no way for accessing the additional parts of the ZAP reply
on my server.

Your "listofactions" metadata property would be available on any messages
from the matching client.
To retrieve a metadata/property from a message with zmqpp you can use:
msg.get_property("pname", out);

I know this works for the "Identity" property. Unless libzmq doesn't
implement it for generic properties, it should work.
Let us know how you fare.

On Fri, Apr 29, 2016 at 3:39 PM, David Jelenc <david.jelenc at fri.uni-lj.si>
wrote:

> According to http://rfc.zeromq.org/spec:27, the ZAP reply contains
> several fields, including the metadata filed that can be used to store
> additional data regarding the authenticating clients.
>
> I’d like to use this filed to store some authorization data: the idea is
> that, using ZAP, my server queries an AAA server that either accepts or
> rejects the the connecting client. If the client is accepted, the AAA also
> provides a list of actions the accepted client is allowed to perform. I’d
> like to store this actions in the metadata field of the ZAP reply.
>
> I’m using zmqpp C++ bindings, where the metadata is currently hardcoded to
> be empty (
> https://github.com/zeromq/zmqpp/blob/develop/src/zmqpp/zap_request.cpp#L83).
> However, this is easily addressed.
>
> My main concern is now on the server side: where and how do I process this
> metadata?
>
> The API is such that if the ZAP reply contains status code 200 and a OK
> message, the client is allowed to connect. However, I see no way for
> accessing the additional parts of the ZAP reply on my server.
>
> I sense, this part has to be addressed in libzmq and not in zmqpp, but I’m
> not sure where.
>
> Any help would be greatly appreciated.
>
> Best,
> David
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev




-- 
Kapp Arnaud - Xaqq
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20160429/35c9623a/attachment.htm>


More information about the zeromq-dev mailing list