Support email 3pid #188
Labels
No labels
Android
CS::needs customer feedback
CS::needs follow up
CS::needs on prem installation
CS::waiting
Chrome
Design:: Ready
Design:: in progress
Design::UX
E2EE
Edge
Firefox
GDPR
Iteration 13 IM
Linux
MacOS
Need::Discussion
Need::Steps to reproduce
Need::Upstream fix
Needs:: Planning
Needs::Dev-Team
Needs::More information
Needs::Priority
Needs::Product
Needs::Refinement
Needs::Severity
Priority::1-Critical
Priority::2-Max
Priority::3-Impending
Priority::4-High
Priority::5-Medium
Priority::6-Low
Priority::7-None
Progress::Backlog
Progress::Review
Progress::Started
Progress::Testing
Progress::Triage
Progress::Waiting
Reporter::Sentry
Safari
Target::Community
Target::Customer
Target::Internal
Target::PoC
Target::Security
Team:Customer-Success
Team:Design
Team:Infrastructure
Team:Instant-Messaging
Team:Product
Team:Workflows
Type::Bug
Type::Design
Type::Documentation
Type::Feature
Type::Improvement
Type::Support
Type::Tests
Windows
blocked
blocked-by-spec
cla-signed
conduit
contribution::advanced
contribution::easy
contribution::help needed
from::review
iOS
p::ti-tenant
performance
product::triage
proposal
refactor
release-blocker
s: dart_openapi_codegen
s::Famedly-Patient
s::Org-Directory
s::Passport-Generator
s::Requeuest
s:CRM
s:Famedly-App
s:Famedly-Web
s:Fhiroxide
s:Fhiroxide-cli
s:Fhiroxide-client
s:Fhirs
s:Hedwig
s:LISA
s:Matrix-Dart-SDK
s:Role-Manager
s:Synapse
s:User-Directory
s:WFS-Matrix
s:Workflow Engine
s:dtls
s:famedly-error
s:fcm-shared-isolate
s:matrix-api-lite
s:multiple-tab-detector
s:native-imaging
severity::1
severity::2
severity::3
severity::4
technical-debt
voip
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: Matthias/conduit#188
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
Editing user preferences to add or associate an email address with an existing account results in an error.
In elements web app for instance, when adding an email, one is met with error
request failed: CORS request rejected: https://server.url/_matrix/client/r0/account/3pid/email/requestToken
. Examination of network traffic reveals 404 rather than CORS error per se.Reason
The endpoint
/_matrix/client/r0/account/3pid/email/requestToken
[0] does not exist.Proposal
Support email 3pid throughout the homeserver and identity server; ultimately, we MUST support addition and removal of email to the user account, and we SHOULD support validation of email [0], and using email to recover account / reset password. [1]
Proposed solution
User
struct and database table to include an email field.third_party_route
insrc/client_server/account.rs
to return the email 3pid/_matrix/client/r0/account/3pid/email/requestToken
at end ofsrc/client_server/account.rs
As a side note, the work could be trivially duplicated (minus step 3, validation) to also support adding phone number/msisdn 3pid type.
References
[0] https://matrix.org/docs/spec/client_server/r0.6.1#post-matrix-client-r0-account-3pid-email-requesttoken
[1] https://matrix.org/docs/spec/client_server/r0.6.1#post-matrix-client-r0-account-password-email-requesttoken
Implementation notes
Token management
Spec: https://matrix.org/docs/spec/client_server/r0.6.1#post-matrix-client-r0-account-3pid-email-requesttoken
RUMA: https://github.com/ruma/ruma/blob/main/crates/ruma-client-api/src/r0/account/request_3pid_management_token_via_email.rs
Add 3pid (presumably called via the emailed token callback)
Spec: https://matrix.org/docs/spec/client_server/r0.6.1#post-matrix-client-r0-account-3pid-add
RUMA: https://github.com/ruma/ruma/blob/main/crates/ruma-client-api/src/r0/account/add_3pid.rs
changed the description
This has low priority for now because you can easily use matrix without email.
mentioned in issue #237
mentioned in merge request !375
I'm unsure if this issue is exactly what's needed, but I've just started up a conduit server as a light-weight replacement for my Rocket.chat server, and the only thing I'm missing so far is the ability to send email notifications for mentions.
Is this issue what's necessary to support email notifications, and would you be open to PRs for it? I probably won't get the time, but just in case, I might be able to work on it.