@Override public ResponseVO isUserAuthenticated(String authString, ResponseVO response) throws IOException { String decodedAuth = ""; // Header is in the format "Basic 5tyc0uiDat4" // We need to extract data before decoding it back to original string // Decode the data back to original string byte[] bytes = null; new Base64(); bytes = Base64.decode(authString); decodedAuth = new String(bytes); String[] decodedAuths = decodedAuth.split(":"); User user = getUserDetail(decodedAuths[0], decodedAuths[1]); if (user == null) { response.setSuccess(false); response.setError(new Error(222, "Invalid credentials!!")); } else { String accessToken = ApplicationUtilities.generateAccessToken(user); CachedObject newCachedObject = new CachedObject(user.getUuid(), accessToken, 0); CacheManager.putCache(newCachedObject); response.setSuccess(true); // response.setData(new LoggedInUserVO(accessToken,user.getEmailAddress())); } return response; }
@Override public String validateOTPAndGenerateAccessToken(String otp) { CachedObject cachedObject = (CachedObject) CacheManager.getCache(otp); if (cachedObject != null) { User user = getUserByUUID((String) cachedObject.object.toString()); String accessToken = ApplicationUtilities.generateAccessToken(user); CachedObject newCachedObject = new CachedObject(user.getUuid(), accessToken, 10); CacheManager.putCache(newCachedObject); return accessToken; } return null; }
@Override public ResponseVO isUserAuthenticated(DoLoginVo doLoginVo, ResponseVO response) { User user = getUserDetail(doLoginVo.getAuthString()); List<AssignedTest> assignedTests = null; if (user != null) { UserProfile profile = getUserProfileByUUID(user.getUuid()); if (profile != null) { profile.setMobileNumber(user.getMobileNumber()); profile.setEmailAddress(user.getEmailAddress()); profile.setUsername(user.getUsername()); assignedTests = schoolAssesmentService.findAllAssignedTestByuser(user); } String accessToken = ApplicationUtilities.generateAccessToken(user); user.setAccessToken(accessToken); saveUser(user); response.setData(new LoggedInUserVO(accessToken, profile, assignedTests)); } else { response.setData("Invalid Student code!!"); } response.setSuccess(true); return response; }