forked from MirrorHub/synapse
Add more hooks to ModuleApi
add `get_user_by_req` and `invalidate_access_token`
This commit is contained in:
parent
1189be43a2
commit
6b60f7dca0
1 changed files with 34 additions and 0 deletions
|
@ -24,8 +24,26 @@ class ModuleApi(object):
|
||||||
self.hs = hs
|
self.hs = hs
|
||||||
|
|
||||||
self._store = hs.get_datastore()
|
self._store = hs.get_datastore()
|
||||||
|
self._auth = hs.get_auth()
|
||||||
self._auth_handler = auth_handler
|
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):
|
def get_qualified_user_id(self, username):
|
||||||
"""Qualify a user id, if necessary
|
"""Qualify a user id, if necessary
|
||||||
|
|
||||||
|
@ -63,6 +81,22 @@ class ModuleApi(object):
|
||||||
reg = self.hs.get_handlers().registration_handler
|
reg = self.hs.get_handlers().registration_handler
|
||||||
return reg.register(localpart=localpart)
|
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):
|
def run_db_interaction(self, desc, func, *args, **kwargs):
|
||||||
"""Run a function with a database connection
|
"""Run a function with a database connection
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue