From 07acbf8eae671101f6b09127df5ccdc68a2c215b Mon Sep 17 00:00:00 2001
From: Devin Alvaro <devin.alvaro@gmail.com>
Date: Thu, 23 Nov 2017 14:37:33 +0700
Subject: [PATCH] Append user agent and ip address to token at register

---
 .../adaapa/identityservice/servlets/RegisterServlet.java    | 4 +++-
 .../java/com/adaapa/adaojek/servlets/RegisterServlet.java   | 6 ++++--
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/TugasBesar2_2017/IdentityService/src/main/java/com/adaapa/identityservice/servlets/RegisterServlet.java b/TugasBesar2_2017/IdentityService/src/main/java/com/adaapa/identityservice/servlets/RegisterServlet.java
index 43223b3..3f2bba8 100644
--- a/TugasBesar2_2017/IdentityService/src/main/java/com/adaapa/identityservice/servlets/RegisterServlet.java
+++ b/TugasBesar2_2017/IdentityService/src/main/java/com/adaapa/identityservice/servlets/RegisterServlet.java
@@ -30,13 +30,15 @@ public class RegisterServlet extends HttpServlet {
         user.email = req.getParameter("email");
         user.phoneNumber = req.getParameter("phoneNumber");
         String password = req.getParameter("password");
+        String userAgent = req.getParameter("user_agent");
+        String ipAddress = req.getParameter("ip_address");
         Gson gson = new Gson();
         user.id = userModel.register(user, password);
         UserBean responseUser = new UserBean();
         if (user.id != null) {
             //Register berhasil
             //Generate token here, then save token
-            String token = tokenService.generateToken();
+            String token = tokenService.generateToken() + "#" + userAgent + "#" + ipAddress;
             userModel.saveToken(user.id, token);
             responseUser.username = user.username;
             out.println(gson.toJson(new LoginResponseBean("accepted", token, LoginResponseBean.TOKEN_AGE_DEFAULT, responseUser)));
diff --git a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/RegisterServlet.java b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/RegisterServlet.java
index 04315e6..25efbb2 100644
--- a/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/RegisterServlet.java
+++ b/TugasBesar2_2017/WebApp/src/main/java/com/adaapa/adaojek/servlets/RegisterServlet.java
@@ -44,16 +44,18 @@ public class RegisterServlet extends HttpServlet {
         String confirmpassword = req.getParameter("confirm-password");
         String phoneNumber = req.getParameter("phoneNumber");
         Boolean isDriver = req.getParameter("isDriver") != null;
+        String userAgent = req.getHeader("User-Agent");
+        String ipAddress = req.getRemoteAddr();
         UserBean wsUser = new UserBean();
         wsUser.name = name;
         wsUser.username = username;
         wsUser.email = email;
         wsUser.phoneNumber = phoneNumber;
         wsUser.isDriver = isDriver;
-        String payload = String.format("name=%s&username=%s&email=%s&password=%s&confirmpassword=%s&phoneNumber=%s&isDriver=%b",
+        String payload = String.format("name=%s&username=%s&email=%s&password=%s&confirmpassword=%s&phoneNumber=%s&isDriver=%b&user_agent=%s&ip_address=%s",
                 URLEncoder.encode(name, "UTF-8"), URLEncoder.encode(username, "UTF-8"), URLEncoder.encode(email, "UTF-8"),
                 URLEncoder.encode(password, "UTF-8"), URLEncoder.encode(confirmpassword, "UTF-8"),
-                URLEncoder.encode(phoneNumber, "UTF-8"), isDriver);
+                URLEncoder.encode(phoneNumber, "UTF-8"), isDriver, URLEncoder.encode(userAgent, "UTF-8"), URLEncoder.encode(ipAddress, "UTF-8"));
         LoginResponseBean loginResponse = gson.fromJson(RequestSender.sendRequest(
                 domain.getISDomain() + REGISTER_URL, "POST", "application/x-www-form-urlencoded",
                 payload
-- 
GitLab