Properly build remote 3PID token request
This commit is contained in:
@@ -283,6 +283,7 @@ 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());
|
||||||
|
if (ThreePidMedium.PhoneNumber.is(session.getThreePid().getMedium())) {
|
||||||
try {
|
try {
|
||||||
Phonenumber.PhoneNumber msisdn = phoneUtil.parse("+" + session.getThreePid().getAddress(), null);
|
Phonenumber.PhoneNumber msisdn = phoneUtil.parse("+" + session.getThreePid().getAddress(), null);
|
||||||
String country = phoneUtil.getRegionCodeForNumber(msisdn).toUpperCase();
|
String country = phoneUtil.getRegionCodeForNumber(msisdn).toUpperCase();
|
||||||
@@ -291,6 +292,9 @@ public class SessionMananger {
|
|||||||
} catch (NumberParseException e) {
|
} catch (NumberParseException e) {
|
||||||
throw new InternalServerError(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());
|
||||||
HttpPost tokenReq = RestClientUtils.post(url + "/_matrix/identity/api/v1/validate/" + session.getThreePid().getMedium() + "/requestToken", body);
|
HttpPost tokenReq = RestClientUtils.post(url + "/_matrix/identity/api/v1/validate/" + session.getThreePid().getMedium() + "/requestToken", body);
|
||||||
|
Reference in New Issue
Block a user