Open richvdh opened 3 months ago
This is closely related to #27252: the difference is that in that case, 4S has the private keys, but the public keys have not been published.
In our setup we are using the built-in OIDC support against a Keycloak to do SSO and we are also facing the issue described above. Without knowing too much details about all the cross-signing magic I would like to summarize my finding:
In this situation the only solution is to Reset the Cross-Signing which will lead me to the steps 7-8 of the success case.
My conclusion is that in the fail case's step 7 the route that verifies the user's identity using SSO is missing.
For completeness: I worked with @rossnet to investigate their situation, which was not "4S lacks cross-signing keys", but rather "public cross-signing keys have not been published" -- ie, something more similar to https://github.com/element-hq/element-web/issues/27252. The problem was solved by upgrading Synapse to a version including https://github.com/element-hq/synapse/pull/17284.
STR:
At this point, we go straight back the the "Verify this session" dialog.
In the console:
We should probably not offer the "Verify with Security Key or Phrase" unless the current 4S key has cross-signing keys. And also, we should propagate some sort of error to the user - even a "it didn't work" is better than just silently going back to the previous dialog.