From 862fb161208c72b57cf03cbb2f1a007ce5efeb1d Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Thu, 11 Jul 2019 14:28:10 -0600 Subject: [PATCH] Send the correct UIA alongside the wrong UIA for backwards comaptibility Fixes https://github.com/vector-im/riot-web/issues/10312 --- .../views/auth/InteractiveAuthEntryComponents.js | 13 +++++++++++++ .../views/dialogs/DeactivateAccountDialog.js | 6 ++++++ 2 files changed, 19 insertions(+) diff --git a/src/components/views/auth/InteractiveAuthEntryComponents.js b/src/components/views/auth/InteractiveAuthEntryComponents.js index b52dac44a9..f5f61d57cd 100644 --- a/src/components/views/auth/InteractiveAuthEntryComponents.js +++ b/src/components/views/auth/InteractiveAuthEntryComponents.js @@ -91,7 +91,13 @@ export const PasswordAuthEntry = React.createClass({ this.props.submitAuthDict({ type: PasswordAuthEntry.LOGIN_TYPE, + // TODO: Remove `user` once servers support proper UIA + // See https://github.com/vector-im/riot-web/issues/10312 user: this.props.matrixClient.credentials.userId, + identifier: { + type: "m.id.user", + user: this.props.matrixClient.getUserId(), + }, password: this.state.password, }); }, @@ -463,11 +469,18 @@ export const MsisdnAuthEntry = React.createClass({ ); this.props.submitAuthDict({ type: MsisdnAuthEntry.LOGIN_TYPE, + // TODO: Remove `threepid_creds` once servers support proper UIA + // See https://github.com/vector-im/riot-web/issues/10312 threepid_creds: { sid: this._sid, client_secret: this.props.clientSecret, id_server: idServerParsedUrl.host, }, + threepidCreds: { + sid: this._sid, + client_secret: this.props.clientSecret, + id_server: idServerParsedUrl.host, + }, }); } else { this.setState({ diff --git a/src/components/views/dialogs/DeactivateAccountDialog.js b/src/components/views/dialogs/DeactivateAccountDialog.js index cdb5950313..26159523f5 100644 --- a/src/components/views/dialogs/DeactivateAccountDialog.js +++ b/src/components/views/dialogs/DeactivateAccountDialog.js @@ -63,7 +63,13 @@ export default class DeactivateAccountDialog extends React.Component { // for this endpoint. In reality it could be any UI auth. const auth = { type: 'm.login.password', + // TODO: Remove `user` once servers support proper UIA + // See https://github.com/vector-im/riot-web/issues/10312 user: MatrixClientPeg.get().credentials.userId, + identifier: { + type: "m.id.user", + user: MatrixClientPeg.get().credentials.userId, + }, password: this.state.password, }; await MatrixClientPeg.get().deactivateAccount(auth, this.state.shouldErase);