One of the things I want to avoid with my app is forcing the user to authenticate every time they re-open the app. Many apps accomplish this by using credential stores provided by OS (Account services on Android, Keychain on Mac, Keyring on GNOME, etc). I found a library that abstracts access to those services on Mac and Windows, but the PR open adding Linux support makes it seem abandoned.
https://bitbucket.org/east301/java-keyring