Add deviceid, uid checking logic to session and refresh
authorJee Hyeok Kim <jihyeok13.kim@samsung.com>
Thu, 28 Jul 2016 05:08:19 +0000 (14:08 +0900)
committerJee Hyeok Kim <jihyeok13.kim@samsung.com>
Mon, 1 Aug 2016 03:53:46 +0000 (03:53 +0000)
1. when sign-in to cloud, uid is required.
2. when do refresh token, uid is required

Change-Id: Ic69afa2165accc1621e94a418ec99554d93c7ebb
Signed-off-by: Jee Hyeok Kim <jihyeok13.kim@samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/9819
Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
Reviewed-by: jung seungho <shonest.jung@samsung.com>
cloud/account/src/main/java/org/iotivity/cloud/accountserver/Constants.java
cloud/account/src/main/java/org/iotivity/cloud/accountserver/resources/account/session/SessionResource.java
cloud/account/src/main/java/org/iotivity/cloud/accountserver/resources/account/tokenrefresh/TokenRefreshResource.java

index 393d4fa..aa5e024 100644 (file)
@@ -45,6 +45,8 @@ public class Constants extends OCFConstants {
 
     // request payload key
 
+    public static final String REQ_USER_ID         = "uid";
+
     public static final String REQ_DEVICE_ID       = "di";
 
     public static final String REQ_AUTH_CODE       = "authcode";
index e53b664..4228b80 100644 (file)
@@ -29,6 +29,7 @@ import org.iotivity.cloud.accountserver.token.TokenManager;
 import org.iotivity.cloud.base.device.Device;
 import org.iotivity.cloud.base.exception.ServerException;
 import org.iotivity.cloud.base.exception.ServerException.BadRequestException;
+import org.iotivity.cloud.base.exception.ServerException.PreconditionFailedException;
 import org.iotivity.cloud.base.exception.ServerException.UnAuthorizedException;
 import org.iotivity.cloud.base.protocols.IRequest;
 import org.iotivity.cloud.base.protocols.IResponse;
@@ -84,11 +85,17 @@ public class SessionResource extends Resource {
                 .parsePayloadFromCbor(request.getPayload(), HashMap.class);
 
         if (payloadData == null) {
-            throw new BadRequestException("CBOR parsing failed");
+            throw new BadRequestException("payload is null");
+        }
+
+        if (payloadData.get(Constants.REQ_USER_ID) == null) {
+            throw new PreconditionFailedException("UserId missing");
+        }
+
+        if (payloadData.get(Constants.REQ_DEVICE_ID) == null) {
+            throw new PreconditionFailedException("DeviceId missing");
         }
 
-        // String deviceId =
-        // payloadData.get(Constants.REQUEST_DEVICE_ID).toString();
         String accessToken = payloadData.get(Constants.REQ_ACCESS_TOKEN)
                 .toString();
         boolean signinRequest = (boolean) payloadData.get(Constants.REQ_STATUS);
index b573a60..b9ae02d 100644 (file)
@@ -32,6 +32,7 @@ import org.iotivity.cloud.base.device.Device;
 import org.iotivity.cloud.base.exception.ServerException;
 import org.iotivity.cloud.base.exception.ServerException.BadRequestException;
 import org.iotivity.cloud.base.exception.ServerException.InternalServerErrorException;
+import org.iotivity.cloud.base.exception.ServerException.PreconditionFailedException;
 import org.iotivity.cloud.base.exception.ServerException.UnAuthorizedException;
 import org.iotivity.cloud.base.protocols.IRequest;
 import org.iotivity.cloud.base.protocols.IResponse;
@@ -85,8 +86,14 @@ public class TokenRefreshResource extends Resource {
             throw new BadRequestException("payload is null");
         }
 
-        // String deviceId =
-        // payloadData.get(Constants.REQUEST_DEVICE_ID).toString();
+        if (payloadData.get(Constants.REQ_USER_ID) == null) {
+            throw new PreconditionFailedException("UserId missing");
+        }
+
+        if (payloadData.get(Constants.REQ_DEVICE_ID) == null) {
+            throw new PreconditionFailedException("DeviceId missing");
+        }
+
         String refreshToken = payloadData.get(Constants.REQ_REFRESH_TOKEN)
                 .toString();