minkan-chat / server

This repository keeps the backend implementation for the Minkan end-to-end encrypted messenger.
GNU Affero General Public License v3.0
16 stars 1 forks source link

Add `updateCertificate` mutation #25

Open Erik1000 opened 3 years ago

Erik1000 commented 3 years ago

Currently, an actor's certificate is a) set then signing up and b) can't be changed. There are two problems with this: the first issue is that if we want to switch to an oauth2/openid connect provider (#19), we don't have the signup process any more. Second issue is that if an actor loses access to its certificate (e.g. because a user forgets their password and they therefore cannot decrypt the secret key material), there's no way to at least keep the account. Ofc, updating/changing an actors' certificate ultimately destroys all trust.