Add implementation for logout

We do it by DELETE /session/
This commit is contained in:
Eli Ribble 2016-05-17 16:33:48 -06:00
parent 89b8e5e1ef
commit 5998b2c2c9
1 changed files with 10 additions and 0 deletions

View File

@ -1,4 +1,5 @@
import json import json
import logging
import flask import flask
import sepiida.endpoints import sepiida.endpoints
@ -10,6 +11,7 @@ import vanth.errors
import vanth.platform.user import vanth.platform.user
import vanth.user import vanth.user
LOGGER = logging.getLogger(__name__)
class Session(sepiida.endpoints.APIEndpoint): class Session(sepiida.endpoints.APIEndpoint):
ENDPOINT = '/session/' ENDPOINT = '/session/'
@ -42,3 +44,11 @@ class Session(sepiida.endpoints.APIEndpoint):
def list(self): def list(self):
payload = self.get(None) payload = self.get(None)
return flask.make_response(json.dumps(payload), 200, {'Content-Type': 'application/json'}) return flask.make_response(json.dumps(payload), 200, {'Content-Type': 'application/json'})
@staticmethod
def delete(uuid):
user = vanth.auth.current_user()
if not user:
raise vanth.errors.AuthenticationException("You cannot delete a session when you do not have a session")
LOGGER.debug("Deleteing session %s for %s", uuid, user['uri'])
flask.session.clear()