[openstack-dev] extending keystone identity
Simon Perfer
simon.perfer at hotmail.com
Tue Jan 28 21:30:52 UTC 2014
Thanks Adam. We played around with domains without success. There's a rather complex reason why given our existing OpenStack environment.
I'm still hoping that it will be simple enough to extend an existing driver. I'd also love to learn how to code my own driver for some more complex authentication projects we have coming down the pipe.
Date: Tue, 28 Jan 2014 15:42:29 -0500
From: ayoung at redhat.com
To: openstack-dev at lists.openstack.org
Subject: Re: [openstack-dev] extending keystone identity
Use two separate domains for them.
Make the userids be "uuid at domainid" to be able distinguish one
from the other.
On 01/27/2014 04:27 PM, Simon Perfer wrote:
I'm looking to create a
simple Identity driver that will look at usernames. A small
number of specific users should be authenticated by looking
at a hard-coded password in keystone.conf, while any other
users should fall back to LDAP authentication.
I based my original driver on what's found here:
http://waipeng.wordpress.com/2013/09/30/openstack-ldap-authentication/
As can be seen in the github code (https://raw.github.com/waipeng/keystone/8c18917558bebbded0f9c588f08a84b0ea33d9ae/keystone/identity/backends/ldapauth.py),
there's a _check_password() method which is supposedly called
at some point.
I've based my driver on this ldapauth.py file, and created
an Identity class which subclasses sql.Identity. Here's what I
have so far:
CONF = config.CONF
LOG = logging.getLogger(__name__) Roles should
also be scopeed-able
class Identity(sql.Identity):
def __init__(self):
super(Identity, self).__init__()
LOG.debug('My authentication module
loaded')
def _check_password(self, password,
user_ref):
LOG.debug('Authenticating via my custom
hybrid authentication')
username = user_ref.get('name')
LOG.debug('Username = %s' % username)
I can see from the syslog output that we never
enter the _check_password() function.
Can someone point me in the right direction regarding which
function calls the identity driver? Also, what is the entry
function in the identity drivers? Why wouldn't
check_password() be called, as we see in the github / blog
example above?
THANKS!
_______________________________________________
OpenStack-dev mailing list
OpenStack-dev at lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
_______________________________________________
OpenStack-dev mailing list
OpenStack-dev at lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20140128/ba4fda75/attachment.html>
More information about the OpenStack-dev
mailing list