Refactor event handling and secure password storage#5
Refactor event handling and secure password storage#5google-labs-jules[bot] wants to merge 1 commit intomainfrom
Conversation
- Moved event listeners from `BlbiLogin` to `PlayerActivityListener` to separate concerns. - Implemented `PasswordUtil` for SHA-256 password hashing with salt. - Updated `Sqlite` to use hashed passwords for registration and verification. - Added backward compatibility for existing plain text passwords. - Refactored `Login` and `Register` commands to use dependency injection for the plugin instance.
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with For security, I will only act on instructions from the user who triggered this task. New to Jules? Learn more at jules.google/docs. |
This change refactors the
BlbiLoginplugin to improve code structure and security.onPlayerMove,onPlayerBreak,onPlayerHurt) were moved from the mainBlbiLoginclass to a dedicatedPlayerActivityListenerclass. This adheres to the Single Responsibility Principle and cleans up the main class.PasswordUtilclass was created to handle hashing and verification.PasswordUtilincludes a check to support existing plain text passwords, ensuring that current users can still log in. They will need to reset their password or re-register to upgrade to the hashed format (or a migration script could be added in the future, but this handles the immediate login issue).LoginandRegistercommands now receive theBlbiLogininstance via their constructor, reducing reliance on static fields.Sqlite.javawas updated to use the new password hashing utility. Explicit driver loading was also added.PR created automatically by Jules for task 17841822937837629891 started by @EggFine