diff --git a/src/main/java/io/kamax/mxisd/config/threepid/medium/EmailTemplateConfig.java b/src/main/java/io/kamax/mxisd/config/threepid/medium/EmailTemplateConfig.java index 2bc6977..6f0a46e 100644 --- a/src/main/java/io/kamax/mxisd/config/threepid/medium/EmailTemplateConfig.java +++ b/src/main/java/io/kamax/mxisd/config/threepid/medium/EmailTemplateConfig.java @@ -31,7 +31,6 @@ public class EmailTemplateConfig extends GenericTemplateConfig { setInvite("classpath:/threepids/email/invite-template.eml"); getGeneric().put("matrixId", "classpath:/threepids/email/mxid-template.eml"); getSession().setValidation("classpath:/threepids/email/validate-template.eml"); - getSession().getUnbind().setValidation("classpath:/threepids/email/unbind-template.eml"); getSession().getUnbind().setNotification("classpath:/threepids/email/unbind-notification.eml"); } @@ -41,7 +40,6 @@ public class EmailTemplateConfig extends GenericTemplateConfig { log.info("Session:"); log.info(" Validation: {}", getSession().getValidation()); log.info(" Unbind:"); - log.info(" Validation: {}", getSession().getUnbind().getValidation()); log.info(" Notification: {}", getSession().getUnbind().getNotification()); return this; diff --git a/src/main/java/io/kamax/mxisd/session/SessionManager.java b/src/main/java/io/kamax/mxisd/session/SessionManager.java index 50bb0db..29e4c29 100644 --- a/src/main/java/io/kamax/mxisd/session/SessionManager.java +++ b/src/main/java/io/kamax/mxisd/session/SessionManager.java @@ -212,6 +212,10 @@ public class SessionManager { String secret = GsonUtil.getStringOrNull(reqData, "client_secret"); ThreePid tpid = GsonUtil.get().fromJson(GsonUtil.getObj(reqData, "threepid"), ThreePid.class); + if (tpid == null || StringUtils.isBlank(tpid.getAddress()) || StringUtils.isBlank(tpid.getMedium())) { + throw new BadRequestException("Missing required 3PID"); + } + if (StringUtils.isNotBlank(sid) && StringUtils.isNotBlank(secret)) { checkSession(sid, secret, tpid, mxid); } else if (StringUtils.isNotBlank(auth)) { @@ -220,7 +224,8 @@ public class SessionManager { throw new NotAllowedException("Unable to validate request"); } - // TODO make invalid all 3PID with specified medium and address. + log.info("Unbinding of {} {} to {} is accepted", tpid.getMedium(), tpid.getAddress(), mxid.getId()); + notifMgr.sendForUnbind(tpid); } private void checkAuthorization(String auth, JsonObject reqData) { diff --git a/src/main/java/io/kamax/mxisd/threepid/connector/email/EmailSmtpConnector.java b/src/main/java/io/kamax/mxisd/threepid/connector/email/EmailSmtpConnector.java index 2c6fb9d..ff606af 100644 --- a/src/main/java/io/kamax/mxisd/threepid/connector/email/EmailSmtpConnector.java +++ b/src/main/java/io/kamax/mxisd/threepid/connector/email/EmailSmtpConnector.java @@ -115,7 +115,7 @@ public class EmailSmtpConnector implements EmailConnector { msg.setRecipients(Message.RecipientType.TO, recipient); msg.saveChanges(); - log.info("Sending invite to {} via SMTP using {}:{}", recipient, cfg.getHost(), cfg.getPort()); + log.info("Sending email to {} via SMTP using {}:{}", recipient, cfg.getHost(), cfg.getPort()); SMTPTransport transport = (SMTPTransport) session.getTransport("smtp"); if (cfg.getTls() < 3) { @@ -134,12 +134,12 @@ public class EmailSmtpConnector implements EmailConnector { try { transport.sendMessage(msg, InternetAddress.parse(recipient)); - log.info("Invite to {} was sent", recipient); + log.info("Email to {} was sent", recipient); } finally { transport.close(); } } catch (UnsupportedEncodingException | MessagingException e) { - throw new RuntimeException("Unable to send e-mail invite to " + recipient, e); + throw new RuntimeException("Unable to send e-mail to " + recipient, e); } } diff --git a/src/main/resources/threepids/email/unbind-notification.eml b/src/main/resources/threepids/email/unbind-notification.eml index 9ac3fd0..c6cd4fa 100644 --- a/src/main/resources/threepids/email/unbind-notification.eml +++ b/src/main/resources/threepids/email/unbind-notification.eml @@ -9,14 +9,9 @@ Content-Disposition: inline Hello there! -You or a server on your behalf requested to unbind your email. +You or a server on your behalf unbinded your email. -If it was really you who made this request, you can click on the following link to -complete the unbinding your email address: - - %VALIDATION_LINK% - -If you didn't make this request, you can safely disregard this email. +If you didn't make this request, please contact the system administrator. %DOMAIN_PRETTY% Admins @@ -66,14 +61,9 @@ Content-Disposition: inline

Hello there!

-

You or a server on your behalf requested to unbind your email.

+

You or a server on your behalf unbinded your email.

-

If it was really you who made this request, you can click on the following link to - complete the unbinding your email address:

- -

Complete email unbinding

- -

If you didn't make this request, you can safely disregard this email.

+

If you didn't make this request, please contact the system administrator.

%DOMAIN_PRETTY% Admins

diff --git a/src/main/resources/threepids/email/unbind-template.eml b/src/main/resources/threepids/email/unbind-template.eml deleted file mode 100644 index bd39906..0000000 --- a/src/main/resources/threepids/email/unbind-template.eml +++ /dev/null @@ -1,87 +0,0 @@ -Subject: Your Matrix Unbinding Token -MIME-Version: 1.0 -Content-Type: multipart/alternative; - boundary="7REaIwWQCioQ6NaBlAQlg8ztbUQj6PKJ" - ---7REaIwWQCioQ6NaBlAQlg8ztbUQj6PKJ -Content-Type: text/plain; charset=UTF-8 -Content-Disposition: inline - -Hello there! - -You or a server on your behalf requested to unbind your email. - -If it was really you who made this request, you can click on the following link to -complete the unbinding your email address: - - %VALIDATION_LINK% - -If you didn't make this request, you can safely disregard this email. - -%DOMAIN_PRETTY% Admins - ---7REaIwWQCioQ6NaBlAQlg8ztbUQj6PKJ -Content-Type: multipart/related; - boundary="M3yzHl5YZehm9v4bAM8sKEdcOoVnRnKR"; - type="text/html" - ---M3yzHl5YZehm9v4bAM8sKEdcOoVnRnKR -Content-Type: text/html; charset=UTF-8 -Content-Disposition: inline - - - - - - - - - - - - - -
-

Hello there!

- -

You or a server on your behalf requested to unbind your email.

- -

If it was really you who made this request, you can click on the following link to - complete the unbinding your email address:

- -

Complete email verification

- -

If you didn't make this request, you can safely disregard this email.

- -

%DOMAIN_PRETTY% Admins

-
- - ---M3yzHl5YZehm9v4bAM8sKEdcOoVnRnKR-- - ---7REaIwWQCioQ6NaBlAQlg8ztbUQj6PKJ-- diff --git a/src/main/resources/threepids/sms/unbind-notification.txt b/src/main/resources/threepids/sms/unbind-notification.txt index 7eaad7e..52fd77b 100644 --- a/src/main/resources/threepids/sms/unbind-notification.txt +++ b/src/main/resources/threepids/sms/unbind-notification.txt @@ -1 +1 @@ -Your Matrix 3PID was unbinding. +Your Matrix 3PID was unbinded. diff --git a/src/main/resources/threepids/sms/unbind-template.txt b/src/main/resources/threepids/sms/unbind-template.txt deleted file mode 100644 index a66d6c5..0000000 --- a/src/main/resources/threepids/sms/unbind-template.txt +++ /dev/null @@ -1 +0,0 @@ -Your Matrix token is %VALIDATION_TOKEN% \ No newline at end of file