From 61c5883ef0c6118fb4c02daa314506ff1e2ebd47 Mon Sep 17 00:00:00 2001 From: liviaUeno Date: Thu, 11 Jun 2026 11:31:46 -0300 Subject: [PATCH] feat: integrate Element with Synapse REST auth provider --- apps/web/src/Login.ts | 39 ++++++++++--------- .../components/views/auth/PasswordLogin.tsx | 38 +++++++++++++----- 2 files changed, 48 insertions(+), 29 deletions(-) diff --git a/apps/web/src/Login.ts b/apps/web/src/Login.ts index 34b6513ad1f..6223e49d313 100644 --- a/apps/web/src/Login.ts +++ b/apps/web/src/Login.ts @@ -140,29 +140,30 @@ export default class Login { phoneNumber: string | undefined, password: string, ): Promise { - const isEmail = !!username && username.indexOf("@") > 0; + // Nosso backend aceita apenas autenticação via m.id.user = email (workaround) + // const isEmail = !!username && username.indexOf("@") > 0; - let identifier; - if (phoneCountry && phoneNumber) { - identifier = { - type: "m.id.phone", - country: phoneCountry, - phone: phoneNumber, - // XXX: Synapse historically wanted `number` and not `phone` - number: phoneNumber, - }; - } else if (isEmail) { - identifier = { - type: "m.id.thirdparty", - medium: "email", - address: username, - }; - } else { - identifier = { + // let identifier; + // if (phoneCountry && phoneNumber) { + // identifier = { + // type: "m.id.phone", + // country: phoneCountry, + // phone: phoneNumber, + // // XXX: Synapse historically wanted `number` and not `phone` + // number: phoneNumber, + // } + // } else if (isEmail) { + // identifier = { + // type: "m.id.thirdparty", + // medium: "email", + // address: username, + // }; + // } else { + const identifier = { type: "m.id.user", user: username, }; - } + // } const loginParams = { password, diff --git a/apps/web/src/components/views/auth/PasswordLogin.tsx b/apps/web/src/components/views/auth/PasswordLogin.tsx index 1fa0c4fa384..eaabdd15568 100644 --- a/apps/web/src/components/views/auth/PasswordLogin.tsx +++ b/apps/web/src/components/views/auth/PasswordLogin.tsx @@ -295,23 +295,41 @@ export default class PasswordLogin extends React.PureComponent { case LoginField.MatrixId: classes.error = this.props.loginIncorrect && !this.props.username; return ( - { + // this[LoginField.MatrixId] = field; + // }} + // /> + { - this[LoginField.MatrixId] = field; + onValidate={this.onEmailValidate} + fieldRef={(field): void => { + this[LoginField.Email] = field; }} /> );