mirror of
https://github.com/element-hq/synapse.git
synced 2024-11-29 15:39:00 +03:00
Allow modules to store already existing 3PID associations (#12195)
This commit is contained in:
parent
89f11f8c6f
commit
8cd760fca8
2 changed files with 27 additions and 1 deletions
1
changelog.d/12195.feature
Normal file
1
changelog.d/12195.feature
Normal file
|
@ -0,0 +1 @@
|
||||||
|
Allow modules to store already existing 3PID associations.
|
|
@ -671,7 +671,8 @@ class ModuleApi:
|
||||||
def record_user_external_id(
|
def record_user_external_id(
|
||||||
self, auth_provider_id: str, remote_user_id: str, registered_user_id: str
|
self, auth_provider_id: str, remote_user_id: str, registered_user_id: str
|
||||||
) -> defer.Deferred:
|
) -> defer.Deferred:
|
||||||
"""Record a mapping from an external user id to a mxid
|
"""Record a mapping between an external user id from a single sign-on provider
|
||||||
|
and a mxid.
|
||||||
|
|
||||||
Added in Synapse v1.9.0.
|
Added in Synapse v1.9.0.
|
||||||
|
|
||||||
|
@ -1286,6 +1287,30 @@ class ModuleApi:
|
||||||
"""
|
"""
|
||||||
await self._registration_handler.check_username(username)
|
await self._registration_handler.check_username(username)
|
||||||
|
|
||||||
|
async def store_remote_3pid_association(
|
||||||
|
self, user_id: str, medium: str, address: str, id_server: str
|
||||||
|
) -> None:
|
||||||
|
"""Stores an existing association between a user ID and a third-party identifier.
|
||||||
|
|
||||||
|
The association must already exist on the remote identity server.
|
||||||
|
|
||||||
|
Added in Synapse v1.56.0.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
user_id: The user ID that's been associated with the 3PID.
|
||||||
|
medium: The medium of the 3PID (current supported values are "msisdn" and
|
||||||
|
"email").
|
||||||
|
address: The address of the 3PID.
|
||||||
|
id_server: The identity server the 3PID association has been registered on.
|
||||||
|
This should only be the domain (or IP address, optionally with the port
|
||||||
|
number) for the identity server. This will be used to reach out to the
|
||||||
|
identity server using HTTPS (unless specified otherwise by Synapse's
|
||||||
|
configuration) when attempting to unbind the third-party identifier.
|
||||||
|
|
||||||
|
|
||||||
|
"""
|
||||||
|
await self._store.add_user_bound_threepid(user_id, medium, address, id_server)
|
||||||
|
|
||||||
|
|
||||||
class PublicRoomListManager:
|
class PublicRoomListManager:
|
||||||
"""Contains methods for adding to, removing from and querying whether a room
|
"""Contains methods for adding to, removing from and querying whether a room
|
||||||
|
|
Loading…
Reference in a new issue