[rabbitmq-discuss] Pluggable Authentication back ends?

Matthias Radestock matthias at rabbitmq.com
Wed Jun 16 17:23:39 BST 2010


Scott,

On 16/06/10 16:49, Scott Brooks wrote:
> First off congratulations on 1.8.0.
>
> Secondly I was looking through the source trying to find a way to
> extend the authentication code and it looks like there isn't really
> any way to do it as a plugin.
>
> Ideally such a system would operate something like this.
> 1: Authenticate against rabbits built in user list.
> 2: If the user is not found, map over a configurable list of
> gen_server names calling into it with a standard set of messages the
> gen_server would have to accept.
> 3: In that users state store which backend authorized them so it can
> return to that when needing to check permissions, etc.
>
> Then I could write a plugin that would create an auth exchange that it
> could send auth requests to and the equivalent application bound do
> that exchange replying with auth ok, fail, etc.
>
> That would let me lookup and auth against my users database without
> having to either share a public username and password, or try and sync
> the two databases.
>
> Thoughts?

Ben Hood at LShift (cc'ed) has been looking into something very much 
like this for a client project. I don't think that project has started 
yet, but he may be able to share his thoughts on this subject with you. 
I reckon the changes required to the rabbit core would be very small. So 
patches are welcome.

Caveat: I wouldn't go anywhere near permission checks just yet; things 
get very complicated very quickly if you do, so I'd just focus on 
authentication and leave authorisation as is. Also, I'd start with just 
being able to specify a single authentication module - that's how all 
the other pluggable things work, i.e. one tells rabbit which module to 
use for a certain piece of functionality.


Matthias.


More information about the rabbitmq-discuss mailing list