diff --git a/src/components/views/auth/InteractiveAuthEntryComponents.js b/src/components/views/auth/InteractiveAuthEntryComponents.js index b52dac44a9..6e2c31fc55 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.credentials.userId, + }, 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 85b011688e..8e5db11cf0 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); diff --git a/test/components/views/dialogs/InteractiveAuthDialog-test.js b/test/components/views/dialogs/InteractiveAuthDialog-test.js index 2d1fb29bd9..95f76dfd3e 100644 --- a/test/components/views/dialogs/InteractiveAuthDialog-test.js +++ b/test/components/views/dialogs/InteractiveAuthDialog-test.js @@ -97,11 +97,14 @@ describe('InteractiveAuthDialog', function() { ReactTestUtils.Simulate.submit(formNode, {}); expect(doRequest.callCount).toEqual(1); - expect(doRequest.calledWithExactly({ + expect(doRequest.calledWithMatch({ session: "sess", type: "m.login.password", password: "s3kr3t", - user: "@user:id", + identifier: { + type: "m.id.user", + user: "@user:id", + }, })).toBe(true); // let the request complete return Promise.delay(1);