Switch to Identity Service API v2 #9677
Description
The v1 Identity Service API will be dropped from the spec soon. There are a number of places where we still use v1 APIs, where we should instead first try v2, then fall back to v1.
synapse/synapse/handlers/identity.py
Lines 124 to 137 in e550ab1
synapse/synapse/handlers/identity.py
Lines 273 to 279 in 0a00b7f
synapse/synapse/handlers/identity.py
Lines 446 to 456 in 0a00b7f
synapse/synapse/handlers/identity.py
Lines 499 to 508 in 0a00b7f
synapse/synapse/handlers/identity.py
Lines 586 to 595 in 0a00b7f
I believe we also store IS URLs (/_matrix/identity/api/v1/pubkey/[ephemeral/]isvalid
) in third-party invite state events, which will eventually fail once IS's drop v1
APIs. Edit: Yes, we do:
{
"type": "m.room.third_party_invite",
"sender": "@andrewm:amorgan.xyz",
"content": {
"display_name": "h...@g...",
"public_keys": [
{
"key_validity_url": "https://vector.im/_matrix/identity/api/v1/pubkey/isvalid",
"public_key": "ta8IQ0u1sp44HVpxdFOdS/bfwDjcy4xLFFlfY5KOA"
},
{
"key_validity_url": "https://vector.im/_matrix/identity/api/v1/pubkey/ephemeral/isvalid",
"public_key": "unYLHHHx_-kYDh9RLh5RvfcTrDgWnNtLdgPC3yM"
}
],
"key_validity_url": "https://vector.im/_matrix/identity/v2/pubkey/isvalid",
"public_key": "ta8IQ0u1sp44HVpxYi7dFOdS/bfwDjcy4xLFlfY5KOA"
},
"state_key": "HgjJXrYyxxxOtdmyiJHyYRTjMMAiFdDrbCPqyCMdgCSyGMvxsyztxNQHBXMcUOnLjUOdhCMzSzwYEowxPqIYGYcOnXzNMvAlyOKOmnWrnfglNfBAeVfmZLBvQRqDGg",
"event_id": "$161658804355dhuce:amorgan.xyz",
"origin_server_ts": 1616588043476,
"unsigned": {
"age": 6048
},
"room_id": "!xxx:amorgan.xyz"
}
Update 2022/06/24: It's also worth noting that we use the v1 /store-invite
and pubkey/isvalid
APIs when clients send a 3pid invite with no id_access_token
, which we need to disable:
synapse/synapse/handlers/identity.py
Lines 893 to 911 in d549099