diff --git a/synapse/module_api/__init__.py b/synapse/module_api/__init__.py
index c7fffd72f2..d678c0eb9b 100644
--- a/synapse/module_api/__init__.py
+++ b/synapse/module_api/__init__.py
@@ -86,7 +86,7 @@ class ModuleApi(object):
Deferred[str|None]: Canonical (case-corrected) user_id, or None
if the user is not registered.
"""
- return self._auth_handler.check_user_exists(user_id)
+ return defer.ensureDeferred(self._auth_handler.check_user_exists(user_id))
@defer.inlineCallbacks
def register(self, localpart, displayname=None, emails=[]):
@@ -196,7 +196,9 @@ class ModuleApi(object):
yield self._hs.get_device_handler().delete_device(user_id, device_id)
else:
# no associated device. Just delete the access token.
- yield self._auth_handler.delete_access_token(access_token)
+ yield defer.ensureDeferred(
+ self._auth_handler.delete_access_token(access_token)
+ )
def run_db_interaction(self, desc, func, *args, **kwargs):
"""Run a function with a database connection
@@ -220,6 +222,26 @@ class ModuleApi(object):
want their access token sent to `client_redirect_url`, or redirect them to that
URL with a token directly if the URL matches with one of the whitelisted clients.
+ This is deprecated in favor of complete_sso_login_async.
+
+ Args:
+ registered_user_id: The MXID that has been registered as a previous step of
+ of this SSO login.
+ request: The request to respond to.
+ client_redirect_url: The URL to which to offer to redirect the user (or to
+ redirect them directly if whitelisted).
+ """
+ self._auth_handler._complete_sso_login(
+ registered_user_id, request, client_redirect_url,
+ )
+
+ async def complete_sso_login_async(
+ self, registered_user_id: str, request: SynapseRequest, client_redirect_url: str
+ ):
+ """Complete a SSO login by redirecting the user to a page to confirm whether they
+ want their access token sent to `client_redirect_url`, or redirect them to that
+ URL with a token directly if the URL matches with one of the whitelisted clients.
+
Args:
registered_user_id: The MXID that has been registered as a previous step of
of this SSO login.
@@ -227,6 +249,6 @@ class ModuleApi(object):
client_redirect_url: The URL to which to offer to redirect the user (or to
redirect them directly if whitelisted).
"""
- self._auth_handler.complete_sso_login(
+ await self._auth_handler.complete_sso_login(
registered_user_id, request, client_redirect_url,
)
|