diff options
author | David Baker <dbkr@users.noreply.github.com> | 2017-11-02 15:37:14 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-02 15:37:14 +0000 |
commit | 4a6754baf24e100f4240c69d385eab5e4c44d5f8 (patch) | |
tree | 420c712b83a807856ec8160c1c27bf125e981e83 /synapse/module_api/__init__.py | |
parent | Merge pull request #2627 from matrix-org/rav/custom_rest_endpoints (diff) | |
parent | Merge remote-tracking branch 'origin/develop' into rav/module_api_hooks (diff) | |
download | synapse-4a6754baf24e100f4240c69d385eab5e4c44d5f8.tar.xz |
Merge pull request #2628 from matrix-org/rav/module_api_hooks
Add more hooks to ModuleApi
Diffstat (limited to 'synapse/module_api/__init__.py')
-rw-r--r-- | synapse/module_api/__init__.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/synapse/module_api/__init__.py b/synapse/module_api/__init__.py index 9ccf6dfcd6..dc680ddf43 100644 --- a/synapse/module_api/__init__.py +++ b/synapse/module_api/__init__.py @@ -24,8 +24,26 @@ class ModuleApi(object): self.hs = hs self._store = hs.get_datastore() + self._auth = hs.get_auth() self._auth_handler = auth_handler + def get_user_by_req(self, req, allow_guest=False): + """Check the access_token provided for a request + + Args: + req (twisted.web.server.Request): Incoming HTTP request + allow_guest (bool): True if guest users should be allowed. If this + is False, and the access token is for a guest user, an + AuthError will be thrown + Returns: + twisted.internet.defer.Deferred[synapse.types.Requester]: + the requester for this request + Raises: + synapse.api.errors.AuthError: if no user by that token exists, + or the token is invalid. + """ + return self._auth.get_user_by_req(req, allow_guest) + def get_qualified_user_id(self, username): """Qualify a user id, if necessary @@ -63,6 +81,22 @@ class ModuleApi(object): reg = self.hs.get_handlers().registration_handler return reg.register(localpart=localpart) + def invalidate_access_token(self, access_token): + """Invalidate an access token for a user + + Args: + access_token(str): access token + + Returns: + twisted.internet.defer.Deferred - resolves once the access token + has been removed. + + Raises: + synapse.api.errors.AuthError: the access token is invalid + """ + + return self._auth_handler.delete_access_token(access_token) + def run_db_interaction(self, desc, func, *args, **kwargs): """Run a function with a database connection |