keystone.middleware package

Submodules

keystone.middleware.core module

class keystone.middleware.core.AdminTokenAuthMiddleware(application)[source]

Bases: keystone.common.wsgi.Middleware

A trivial filter that checks for a pre-defined admin token.

Sets ‘is_admin’ to true in the context, expected to be checked by methods that are admin-only.

process_request(request)[source]
class keystone.middleware.core.AuthContextMiddleware(application)[source]

Bases: keystone.common.wsgi.Middleware

Build the authentication context from the request auth token.

process_request(request)[source]
class keystone.middleware.core.JsonBodyMiddleware(application)[source]

Bases: keystone.common.wsgi.Middleware

Middleware to allow method arguments to be passed as serialized JSON.

Accepting arguments as JSON is useful for accepting data that may be more complex than simple primitives.

In this case we accept it as urlencoded data under the key ‘json’ as in json=<urlencoded_json> but this could be extended to accept raw JSON in the POST body.

Filters out the parameters self, context and anything beginning with an underscore.

process_request(request)[source]
class keystone.middleware.core.NormalizingFilter(application)[source]

Bases: keystone.common.wsgi.Middleware

Middleware filter to handle URL normalization.

process_request(request)[source]

Normalizes URLs.

class keystone.middleware.core.PostParamsMiddleware(application)[source]

Bases: keystone.common.wsgi.Middleware

Middleware to allow method arguments to be passed as POST parameters.

Filters out the parameters self, context and anything beginning with an underscore.

process_request(request)[source]
class keystone.middleware.core.RequestBodySizeLimiter(*args, **kwargs)[source]

Bases: keystone.common.wsgi.Middleware

Limit the size of an incoming request.

class keystone.middleware.core.TokenAuthMiddleware(application)[source]

Bases: keystone.common.wsgi.Middleware

process_request(request)[source]
class keystone.middleware.core.XmlBodyMiddleware(*args, **kwargs)[source]

Bases: keystone.common.wsgi.Middleware

De/serializes XML to/from JSON.

process_request(request)[source]

Transform the request from XML to JSON.

process_response(request, response)[source]

Transform the response from JSON to XML.

class keystone.middleware.core.XmlBodyMiddlewareV2(*args, **kwargs)[source]

Bases: keystone.middleware.core.XmlBodyMiddleware

De/serializes XML to/from JSON for v2.0 API.

class keystone.middleware.core.XmlBodyMiddlewareV3(*args, **kwargs)[source]

Bases: keystone.middleware.core.XmlBodyMiddleware

De/serializes XML to/from JSON for v3 API.

keystone.middleware.ec2_token module

Starting point for routing EC2 requests.

class keystone.middleware.ec2_token.EC2Token(application)[source]

Bases: keystone.common.wsgi.Middleware

Authenticate an EC2 request with keystone and convert to token.

keystone.middleware.s3_token module

S3 TOKEN MIDDLEWARE

The S3 Token middleware is deprecated as of IceHouse. It’s been moved into python-keystoneclient, keystoneclient.middleware.s3_token.

This WSGI component:

  • Get a request from the swift3 middleware with an S3 Authorization access key.
  • Validate s3 token in Keystone.
  • Transform the account name to AUTH_%(tenant_name).
class keystone.middleware.s3_token.S3Token(*args, **kwargs)[source]

Bases: keystoneclient.middleware.s3_token.S3Token

Module contents