diff options
author | Daniel Wagner-Hall <dawagner@gmail.com> | 2016-02-24 14:41:29 +0000 |
---|---|---|
committer | Daniel Wagner-Hall <dawagner@gmail.com> | 2016-02-24 14:41:29 +0000 |
commit | e8d34bccbd0bc011e77e9539deea40e76f9ff289 (patch) | |
tree | e093e52c405849706fc2b6d55cb74259eac2a64f /synapse/handlers/room.py | |
parent | Ignore invalid POST bodies when joining rooms (diff) | |
parent | Generate guest access token on 3pid invites (diff) | |
download | synapse-e8d34bccbd0bc011e77e9539deea40e76f9ff289.tar.xz |
Merge pull request #604 from matrix-org/daniel/guestaccesstoken
Generate guest access token on 3pid invites This means that following the same link across multiple sessions or devices can re-use the same guest account. Note that this is somewhat of an abuse vector; we can't throw up captchas on this flow, so this is a way of registering ephemeral accounts for spam, whose sign-up we don't rate limit.
Diffstat (limited to 'synapse/handlers/room.py')
-rw-r--r-- | synapse/handlers/room.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/synapse/handlers/room.py b/synapse/handlers/room.py index eb9700a35b..d2de23a6cc 100644 --- a/synapse/handlers/room.py +++ b/synapse/handlers/room.py @@ -848,6 +848,13 @@ class RoomMemberHandler(BaseHandler): user. """ + registration_handler = self.hs.get_handlers().registration_handler + guest_access_token = yield registration_handler.guest_access_token_for( + medium=medium, + address=address, + inviter_user_id=inviter_user_id, + ) + is_url = "%s%s/_matrix/identity/api/v1/store-invite" % ( id_server_scheme, id_server, ) @@ -864,6 +871,7 @@ class RoomMemberHandler(BaseHandler): "sender": inviter_user_id, "sender_display_name": inviter_display_name, "sender_avatar_url": inviter_avatar_url, + "guest_access_token": guest_access_token, } ) # TODO: Check for success |