skip to navigation
skip to content

Not Logged In

MyProxyWebService 0.2.3

MyProxy Web Service

Package Documentation

Provides a simple web service interface to MyProxyCA. MyProxy is a Service for managing and issuing PKI based credentials which is part of the Globus Toolkit. MyProxyWebService provides a HTTP based wrapper interface to MyProxy enabling HTTP based clients to connect to a MyProxy server and retrieve credentials.

The interface is implemented as a WSGI application which fronts a normal MyProxyCA server. myproxy-logon and myproxy-get-trustroots are expressed as web service calls. The WSGI application forwards the requests on to the MyProxy server over the usual MyProxy protocol. The web service interface is RESTful using GET and POST operations and the logon interface makes uses of HTTP Basic Auth to pass username and pass-phrase credentials. The service is hosted over HTTPS.

The unit tests include a test application served using paster. Client scripts are also available which need no specialised installation or applications, only openssl and wget or curl which are typically available on Linux/UNIX based systems.

Changes for version 0.2.3

Added example to tests to show SSL client authentication.

Changes for version 0.2.2

The package hierarchy has been re-organised:
  • myproxy.server.wsgi: contains middleware to make calls to a MyProxy service using the MyProxyClient package. It exposes this interface through the environ dict so that other middleware or an app can access and use it.

  • myproxy.ws: contains functionality specific to the web service interface:
    • myproxy.ws.client: contains all the functionality for web service clients to the MyProxy web service. This includes:
      • shell scripts (.sh suffix) for logon and get trustroots calls. These are implemented with openssl and curl. Alternative implementations are also provided which use wget (-wget.sh suffix) instead of curl. These scripts have also been tested against an independent Short-Lived Credential Service developed for the Contrail EU FP7 project.
      • myproxy.ws.client.MyProxyWSClient: is a Python client interface to the web service. The third party package ndg_httpclient is needed for this class but note that overall, it is set as an optional install.
    • myproxy.ws.server: contains the server side functionality - a set of WSGI middleware and an application to implement logon and get-trustroot web service calls.

Prerequisites

This has been developed and tested for Python 2.6 and 2.7.

Installation

Installation can be performed using easy_install or pip. Since this package is a wrapper to MyProxy, a MyProxy instance must be deployed that this service can call and use.

Configuration

Examples are contained in myproxy.ws.client.test and myproxy.server.test.

 
File Type Py Version Uploaded on Size
MyProxyWebService-0.2.3-py2.6.egg (md5) Python Egg 2.6 2012-09-11 85KB
MyProxyWebService-0.2.3-py2.7.egg (md5) Python Egg 2.7 2012-09-11 85KB
MyProxyWebService-0.2.3.tar.gz (md5) Source 2012-09-11 34KB
  • Downloads (All Versions):
  • 60 downloads in the last day
  • 426 downloads in the last week
  • 1389 downloads in the last month