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)