Properly build remote 3PID token request

This commit is contained in:
Maxime Dor
2017-10-05 16:04:29 +02:00
parent ac1cbc4265
commit 851e0c9d94

View File

@@ -283,13 +283,17 @@ public class SessionMananger {
body.addProperty("client_secret", remoteSecret); body.addProperty("client_secret", remoteSecret);
body.addProperty(session.getThreePid().getMedium(), session.getThreePid().getAddress()); body.addProperty(session.getThreePid().getMedium(), session.getThreePid().getAddress());
body.addProperty("send_attempt", session.increaseAndGetRemoteAttempt()); body.addProperty("send_attempt", session.increaseAndGetRemoteAttempt());
try { if (ThreePidMedium.PhoneNumber.is(session.getThreePid().getMedium())) {
Phonenumber.PhoneNumber msisdn = phoneUtil.parse("+" + session.getThreePid().getAddress(), null); try {
String country = phoneUtil.getRegionCodeForNumber(msisdn).toUpperCase(); Phonenumber.PhoneNumber msisdn = phoneUtil.parse("+" + session.getThreePid().getAddress(), null);
body.addProperty("phone_number", phoneUtil.format(msisdn, PhoneNumberUtil.PhoneNumberFormat.NATIONAL)); String country = phoneUtil.getRegionCodeForNumber(msisdn).toUpperCase();
body.addProperty("country", country); body.addProperty("phone_number", phoneUtil.format(msisdn, PhoneNumberUtil.PhoneNumberFormat.NATIONAL));
} catch (NumberParseException e) { body.addProperty("country", country);
throw new InternalServerError(e); } catch (NumberParseException e) {
throw new InternalServerError(e);
}
} else {
body.addProperty(session.getThreePid().getMedium(), session.getThreePid().getAddress());
} }
log.info("Requesting remote session with attempt {}", session.getRemoteAttempt()); log.info("Requesting remote session with attempt {}", session.getRemoteAttempt());