From cb3130d365efdc6d31d12917f04e0e4eefae695b Mon Sep 17 00:00:00 2001 From: Maxime Dor Date: Fri, 2 Mar 2018 23:26:33 +0100 Subject: [PATCH] Send phone number in response body when creating 3PID session If missing, Riot will show "undefined" instead of the number. --- .../identity/v1/SessionRestController.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/main/java/io/kamax/mxisd/controller/identity/v1/SessionRestController.java b/src/main/java/io/kamax/mxisd/controller/identity/v1/SessionRestController.java index 9332d04..f877f68 100644 --- a/src/main/java/io/kamax/mxisd/controller/identity/v1/SessionRestController.java +++ b/src/main/java/io/kamax/mxisd/controller/identity/v1/SessionRestController.java @@ -104,12 +104,19 @@ public class SessionRestController { if (ThreePidMedium.PhoneNumber.is(medium)) { SessionPhoneTokenRequestJson req = parser.parse(request, SessionPhoneTokenRequestJson.class); - return gson.toJson(new Sid(mgr.create( + ThreePid threepid = new ThreePid(req.getMedium(), req.getValue()); + + String sessionId = mgr.create( request.getRemoteHost(), - new ThreePid(req.getMedium(), req.getValue()), + threepid, req.getSecret(), req.getAttempt(), - req.getNextLink()))); + req.getNextLink()); + + JsonObject res = new JsonObject(); + res.addProperty("sid", sessionId); + res.addProperty(threepid.getMedium(), threepid.getAddress()); + return gson.toJson(res); } JsonObject obj = new JsonObject();