summary refs log tree commit diff
path: root/synapse/api/auth.py
diff options
context:
space:
mode:
Diffstat (limited to 'synapse/api/auth.py')
-rw-r--r--synapse/api/auth.py23
1 files changed, 5 insertions, 18 deletions
diff --git a/synapse/api/auth.py b/synapse/api/auth.py

index 90f9e16bde..cfe0a2abca 100644 --- a/synapse/api/auth.py +++ b/synapse/api/auth.py
@@ -189,6 +189,7 @@ class Auth(object): # Can optionally look elsewhere in the request (e.g. headers) try: user_id, app_service = yield self._get_appservice_user_id(request) + if user_id: request.authenticated_entity = user_id defer.returnValue( @@ -244,6 +245,7 @@ class Auth(object): request, self.TOKEN_NOT_FOUND_HTTP_STATUS ) ) + if app_service is None: return(None, None) @@ -514,24 +516,9 @@ class Auth(object): defer.returnValue(user_info) def get_appservice_by_req(self, request): - try: - token = self.get_access_token_from_request( - request, self.TOKEN_NOT_FOUND_HTTP_STATUS - ) - service = self.store.get_app_service_by_token(token) - if not service: - logger.warn("Unrecognised appservice access token.") - raise AuthError( - self.TOKEN_NOT_FOUND_HTTP_STATUS, - "Unrecognised access token.", - errcode=Codes.UNKNOWN_TOKEN - ) - request.authenticated_entity = service.sender - return defer.succeed(service) - except KeyError: - raise AuthError( - self.TOKEN_NOT_FOUND_HTTP_STATUS, "Missing access token." - ) + (user_id, appservice) = self._get_appservice_user_id(request) + request.authenticated_entity = service.sender + return appservice def is_server_admin(self, user): """ Check if the given user is a local server admin.