The Backend Module

Module defining the Django auth backend class for the Keystone API.

class openstack_auth.backend.KeystoneBackend[source]

Django authentication backend for use with django.contrib.auth.

authenticate(request, auth_url=None, **kwargs)[source]

Authenticates a user via the Keystone Identity API.

get_all_permissions(user, obj=None)[source]

Returns a set of permission strings that the user has.

This permission available to the user is derived from the user’s Keystone “roles”.

The permissions are returned as "openstack.{{ }}".

get_group_permissions(user, obj=None)[source]

Returns an empty set since Keystone doesn’t support “groups”.


Returns the current user from the session data.

If authenticated, this return the user object based on the user ID and session data.


This required monkey-patching the contrib.auth middleware to make the request object available to the auth backend class.

has_module_perms(user, app_label)[source]

Returns True if user has any permissions in the given app_label.

Currently this matches for the app_label "openstack".

has_perm(user, perm, obj=None)[source]

Returns True if the given user has the specified permission.