Warning
This document is for an old release of Galaxy. You can alternatively view this page in the latest release if it exists or view the top of the latest release's documentation.
Source code for tool_shed.webapp.api.authenticate
"""
API key retrieval through BaseAuth
Sample usage:
.. code-block::
curl --user zipzap@foo.com:password http://localhost:9009/api/authenticate/baseauth
Returns
.. code-block:: json
{
"api_key": "<some api key>"
}
"""
import logging
from galaxy.web import expose_api_anonymous_and_sessionless
from galaxy.webapps.galaxy.api import depends
from galaxy.webapps.galaxy.services.authenticate import AuthenticationService
from . import BaseShedAPIController
log = logging.getLogger(__name__)
[docs]class ToolShedAuthenticationController(BaseShedAPIController):
authentication_service = depends(AuthenticationService)
[docs] @expose_api_anonymous_and_sessionless
def get_tool_shed_api_key(self, trans, **kwd):
"""
GET /api/authenticate/baseauth
returns an API key for authenticated user based on BaseAuth headers
:returns: api_key in json format
:rtype: dict
:raises: ObjectNotFound, HTTPBadRequest
"""
return self.authentication_service.get_api_key(trans.environ, trans.request)