Ensure a sid parameter is passed to bind_threepid (#5995)
`sid` is required to be part of `three_pid_creds`. We were 500'ing if it wasn't provided instead of returning `M_MISSING_PARAM`.
This commit is contained in:
parent
a2a695b7ec
commit
78801e7f9e
|
@ -0,0 +1 @@
|
||||||
|
Return a M_MISSING_PARAM if `sid` is not provided to `/account/3pid`.
|
|
@ -151,12 +151,18 @@ class IdentityHandler(BaseHandler):
|
||||||
creds
|
creds
|
||||||
)
|
)
|
||||||
|
|
||||||
|
sid = creds.get("sid")
|
||||||
|
if not sid:
|
||||||
|
raise SynapseError(
|
||||||
|
400, "No sid in three_pid_creds", errcode=Codes.MISSING_PARAM
|
||||||
|
)
|
||||||
|
|
||||||
# If an id_access_token is not supplied, force usage of v1
|
# If an id_access_token is not supplied, force usage of v1
|
||||||
if id_access_token is None:
|
if id_access_token is None:
|
||||||
use_v2 = False
|
use_v2 = False
|
||||||
|
|
||||||
# Decide which API endpoint URLs to use
|
# Decide which API endpoint URLs to use
|
||||||
bind_data = {"sid": creds["sid"], "client_secret": client_secret, "mxid": mxid}
|
bind_data = {"sid": sid, "client_secret": client_secret, "mxid": mxid}
|
||||||
if use_v2:
|
if use_v2:
|
||||||
bind_url = "https://%s/_matrix/identity/v2/3pid/bind" % (id_server,)
|
bind_url = "https://%s/_matrix/identity/v2/3pid/bind" % (id_server,)
|
||||||
bind_data["id_access_token"] = id_access_token
|
bind_data["id_access_token"] = id_access_token
|
||||||
|
|
Loading…
Reference in New Issue