- Timestamp:
- 05/02/19 15:17:25 (5 years ago)
- Location:
- trunk/src/org/expeditee/auth
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/expeditee/auth/Actions.java
r1340 r1348 263 263 if (userdata.isPresent()) { 264 264 Map<AuthenticationTag, String> userData = userdata.get(); 265 266 265 String username = userData.get(AuthenticationTag.Username); 267 Path credentialsDirPath = Paths.get(FrameIO.PROFILE_PATH).resolve(username).resolve(username + "-credentials"); 268 Path credentialsFilePath = credentialsDirPath.resolve("credentials.inf"); 269 String fileName = null; 270 if (credentialsFilePath.toFile().exists()) { 271 try (Scanner in = new Scanner(credentialsFilePath)) { 272 fileName = in.nextLine(); 273 } catch (IOException e) { 274 MessageBay.errorMessage("Unable to locate public email for specified user, are they registered on this computer?"); 275 return; 276 } 277 } else { 266 String email = getEmailFromUsername(username); 267 userData.put(AuthenticationTag.Email, email); 268 Password.generateAndDeliverIntergalacticNumber(userData); 269 MessageBay.displayMessage("A Intergalactic number has been sent to the email associated with your account. Enter it below to proceed."); 270 } 271 } 272 273 public static void AuthResetPasswordPt2() { 274 Collection<Text> textItems = DisplayController.getCurrentFrame().getTextItems(); 275 Optional<Map<AuthenticationTag, String>> userdata = AuthenticationTag.fetchUserData(textItems, false, AuthenticationTag.Username, 276 AuthenticationTag.IntergalacticNumber, AuthenticationTag.NewPassword, AuthenticationTag.NewPasswordAgain); 277 if (userdata.isPresent()) { 278 Map<AuthenticationTag, String> userData = userdata.get(); 279 String username = userData.get(AuthenticationTag.Username); 280 String email = getEmailFromUsername(username); 281 userData.put(AuthenticationTag.Email, email); 282 Password.confirmIntergalacticNumberAndGenerateSubstituteAccount(userData); 283 } 284 } 285 286 private static String getEmailFromUsername(String username) { 287 Collection<Text> textItems = DisplayController.getCurrentFrame().getTextItems(); 288 Path credentialsDirPath = Paths.get(FrameIO.PROFILE_PATH).resolve(username).resolve(username + "-credentials"); 289 Path credentialsFilePath = credentialsDirPath.resolve("credentials.inf"); 290 String fileName = null; 291 if (credentialsFilePath.toFile().exists()) { 292 try (Scanner in = new Scanner(credentialsFilePath)) { 293 fileName = in.nextLine(); 294 } catch (IOException e) { 278 295 MessageBay.errorMessage("Unable to locate public email for specified user, are they registered on this computer?"); 279 return; 280 } 281 282 int number = Integer.parseInt(fileName.replace(".exp", "")); 283 Frame credentialsFrame = FrameIO.LoadFrame(username + number, FrameIO.PROFILE_PATH); 284 textItems = credentialsFrame.getTextItems(); 285 textItems.removeIf(text -> !text.getText().startsWith("Email: ")); 286 if (textItems.isEmpty()) { 287 MessageBay.errorMessage("Unable to locate public email for specified user, are they registered on this computer?"); 288 return; 289 } else { 290 Text emailText = textItems.iterator().next(); 291 String email = emailText.getText().replace("Email: ", ""); 292 userData.put(AuthenticationTag.Email, email); 293 Password.generateAndDeliverIntergalacticNumber(userData); 294 MessageBay.displayMessage("A Intergalactic number has been sent to the email associated with your account. Enter it below to proceed."); 295 } 296 } 297 } 298 299 public static void AuthResetPasswordPt2() { 300 MessageBay.displayMessage("AuthResetPasswordPt2"); 296 return null; 297 } 298 } else { 299 MessageBay.errorMessage("Unable to locate public email for specified user, are they registered on this computer?"); 300 return null; 301 } 302 303 int number = Integer.parseInt(fileName.replace(".exp", "")); 304 Frame credentialsFrame = FrameIO.LoadFrame(username + number, FrameIO.PROFILE_PATH); 305 textItems = credentialsFrame.getTextItems(); 306 textItems.removeIf(text -> !text.getText().startsWith("Email: ")); 307 if (textItems.isEmpty()) { 308 MessageBay.errorMessage("Unable to locate public email for specified user, are they registered on this computer?"); 309 return null; 310 } else { 311 Text emailText = textItems.iterator().next(); 312 String email = emailText.getText().replace("Email: ", ""); 313 return email; 314 } 301 315 } 302 316 -
trunk/src/org/expeditee/auth/account/Password.java
r1340 r1348 90 90 } 91 91 } 92 93 public static void confirmIntergalacticNumberAndGenerateSubstituteAccount(Map<AuthenticationTag, String> userData) { 94 String username = userData.get(AuthenticationTag.Username); 95 String email = userData.get(AuthenticationTag.Email); 96 String intergalacticNumber = userData.get(AuthenticationTag.IntergalacticNumber); 97 String newPassword = userData.get(AuthenticationTag.NewPassword); 98 String newPasswordAgain = userData.get(AuthenticationTag.NewPasswordAgain); 99 100 try { 101 boolean match = AuthenticatorBrowser.getInstance().confirmIntergalaticNumber(username, email, intergalacticNumber); 102 if (match) { 103 MessageBay.displayMessage(":)"); 104 } else { 105 MessageBay.displayMessage(":("); 106 } 107 } catch (NoSuchAlgorithmException | KeyStoreException | CertificateException | ClassNotFoundException 108 | IOException | SQLException e) { 109 e.printStackTrace(); 110 } 111 } 92 112 }
Note:
See TracChangeset
for help on using the changeset viewer.