78 Commits

Author SHA1 Message Date
Gabriele C
baec034909
#1555 Add RegisterEvent and AuthMeAsyncPreRegisterEvent (#1559)
* #1555 Add RegisterEvent and AuthMeAsyncPreRegisterEvent

* Add missing javadoc
2018-04-21 13:02:14 +02:00
ljacqu
8d5afa7fbc Minor: Use CommonService for permission lookup
- Some changes found in a very old patch :) - drop injection of PermissionsManager in favor of CommonService
- Rename IsEqualByReflectionMatcher's method to something more specific to differentiate it better from Hamcrest's equalTo() matcher
2018-02-23 23:37:24 +01:00
ljacqu
7932c1bf90 Update to injector 1.0
- Includes Factory and SingletonStore so our custom implementation is removed
2017-11-25 21:27:18 +01:00
Gabriele C
b7c3d4b42e
Implement AuthMeBungee autologin (#1402)
* Implement AuthMeBungee autologin

There is a failing test due to cyclic dependency injection, @ljacqu could you take a quick look at this?

* Try to fix recursive dependency injection

* Fix codestyle

* Fix the subchannel name, again...

* Split BungeeService into BungeeSender and BungeeReceiver
2017-11-09 11:19:24 +01:00
Gabriele C
273c318e96 Cleanup 2017-11-02 11:24:17 +01:00
Gabriele C
2d2eb740e3 Implement bungee messaging, CacheDataSource sync 2017-10-30 10:38:13 +01:00
ljacqu
9a9d0974f8 #1037 Improve architecture of registration methods (#236)
* #1037 Improve architecture of registration methods
- Introduce parameters classes for each registration method
- RegistrationMethod has constants with the required parameters class -> no longer need to have a RegistrationExecutorProvider class that needs to be injected everywhere, let AsyncRegister be the only one to worry about which class will perform the registration
- Fix inheritance of password registration types - previously two-factor auth registration inherited from password registration directly

* Create matcher which checks for equality via reflections
- Allow to perform equality check on objects with default equals() method
2017-03-20 08:19:52 +01:00
ljacqu
398fa4d38d #830 Refactor registration process
- Introduce registration executors: one for each registration variant; each extending class implements one registration variant and worries about that method's details only
- AsyncRegister receives the player and a registration executor
2016-12-17 21:59:34 +01:00
ljacqu
a52fb95656 #427 Implement /register [pass] [email] variant 2016-12-17 15:09:31 +01:00
ljacqu
5a4e827893 #960 Send message to player if email could not be sent 2016-12-11 09:47:48 +01:00
ljacqu
c325d0db41 Merge CommandService and ProcessService to CommonService
- Replace CommandService and ProcessService with CommonService: a service that offers our typical needs to work with settings, messages and permissions
- Remove validation methods from CommonService: inject ValidationService directly. Validation methods are not used very frequently and therefore don't belong in CommonService. Their presence was a relict from our architecture before injection was used.
2016-12-03 12:10:30 +01:00
Gabriele C
58c42cf300 Package cleanup
- authme.cache to authme.data
- Rename PlayerData to LimboPlayer to match with LimboCache
- Move authme.converter to authme.datasource.converter
- Split output package into output and message
2016-10-05 21:10:40 +02:00
Gabriele C
42dbb27728 Service cleanup 2016-10-04 19:08:18 +02:00
ljacqu
71ac86ff02 Remove StringUtils#join in favor of String#join (Java 8) 2016-10-02 12:44:10 +02:00
ljacqu
8d64c0e5bf #830 Initialize login process with more specific methods (with password vs. force login) 2016-10-01 00:48:23 +02:00
ljacqu
f688eb4574 #937 Fix auto login after register not working in sync mode
- Need a small delay to allow the database to store the PlayerAuth object in the registration process
2016-09-18 22:51:24 +02:00
ljacqu
4eab258993 #937 Add option for AuthMe to run in sync
- Create BukkitService#runTaskOptionallyAsync and BukkitService#scheduleSyncTaskFromOptionallyAsyncTask whose behavior depends on a new setting
- Use the new methods where applicable
- Declare events async or sync depending on the new setting
2016-09-18 21:58:14 +02:00
ljacqu
c5f5c0d2fd #472 Require recovery code before resetting password
- /email recovery generates recovery code and resets password only if recovery code is also given
- Change data source method to return email and recovery code
2016-09-10 14:27:26 +02:00
ljacqu
2f1613840e #736 Remove getter for Management instance on main class 2016-08-20 22:03:11 +02:00
Gabriele C
a438f8b3dc Temp fix speed restore 2016-08-09 18:01:23 +02:00
Gabriele C
87d36f69cf Going to kill myself..... 2016-08-09 17:44:47 +02:00
Gabriele C
4f1d6585cf Cleanup, take 3 2016-08-09 14:53:22 +02:00
Gabriele C
b8d2d61ec5 Revert "Cleanup"
This reverts commit 7fc195336f9afde3f1baf4ca97eb94d4ad02c752.
2016-07-27 09:51:01 +02:00
Gabriele C
7fc195336f Cleanup
@ljacqu What to do with the management instance in the main class
(unused now)
2016-07-27 02:24:46 +02:00
ljacqu
9a5c432509 #655 Encapsulate mail service
- Change SendMailSSL to be injected into classes and created regardless of settings
- Various minor cleanups (remove accidentally committed test, add more precise logging statement)
2016-07-02 20:56:53 +02:00
Gnat008
0c96a3113b Encapsulate fields in main class; see #762 #655 #604 2016-06-27 11:25:12 -04:00
ljacqu
df060ff29c Remove legacy setting + remove obsolete todo comment (wontfix #492)
- Remove migrated legacy setting
- Remove months old todo comment
- Remove large chunk of commented out code and merge two explanations
2016-06-25 01:14:01 +02:00
ljacqu
55f7e8097a #743 Add proper error message for "invalid chars in password"
- Change password validation to return a ValidationResult object for passing message arguments
- Remove wrapping methods in ProcessService and CommandService and use ValidationService directly
2016-06-03 12:51:49 +02:00
ljacqu
0977558924 #736 Remove use of service getters and deprecate them 2016-05-31 11:14:03 +02:00
ljacqu
3f039d641a #707 Convert sync processes into services 2016-05-20 19:42:30 +02:00
ljacqu
f5c89e897f #707 Convert async processes as services
(work in progress - rough, untested changes)
2016-05-17 19:49:06 +02:00
Gabriele C
1ea2f98727 Start working on #687
Next step: Future return of the async registration
2016-05-04 18:01:47 +02:00
Gabriele C
ee177e8a3a Remove the IPManager
We don't need it anymore
2016-04-08 14:34:21 +02:00
ljacqu
b6ccb3e632 #567 Add/change email should be aware of account threshold 2016-04-03 14:24:12 +02:00
ljacqu
4f86604699 Check valid password via service
- Create validation service; fixes same code being duplicated in four places
   - Goal is to remove Utils class, by moving methods to validation service or other services
 - Remove unused properties in legacy settings
2016-04-02 22:44:20 +02:00
Gabriele C
af84ba6fce Fix max email count #591 2016-03-09 15:00:17 +01:00
ljacqu
31bac6964f Various code householding
- Adjust javadoc
- Remove unused PlayerAuth constructor
- Replace legacy Settings with NewSetting calls
- Add process service to all (a)sync processes
- Change IP manager to only cache the calls to the VeryGames API
2016-03-06 14:42:19 +01:00
ljacqu
9a412fac05 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into 432-remove-public-ip-map
Conflicts:
	src/main/java/fr/xephi/authme/process/register/AsyncRegister.java
2016-03-05 16:11:22 +01:00
Gabriele C
c4684fd5f1 Booo we don't like UUIDS! (We need to keep 1.7.X compatibility!)
- Removed the useless OtherAccounts class!
2016-03-03 21:42:50 +01:00
Gabriele C
b0d230be60 Forgot about this... #570 2016-03-03 21:17:38 +01:00
Gabriele C
e4d2747fae Finally fix #570 2016-03-03 21:05:19 +01:00
Gabriele C
681e352bdc Fix #570 add max_acc and reg_acc placeholders 2016-03-02 17:06:02 +01:00
ljacqu
aeb8307a46 #432 #547 Remove public IP cache map; make processes use ProcessService
- Create IP address manager for handling and caching IP addresses -> outside of the manager I do not want to care about caching details
- Make more processes use the ProcessService in favor of statically injected objects
2016-03-01 22:47:28 +01:00
Xephi59
e88b4eda53 Add %acc_nb tag to max_reg message - Fix #570 2016-02-28 00:36:06 +01:00
ljacqu
e8f518711c #442 Fix email presence check being case-insensitive
- Add integration tests
- Change DataSource interface to return the number of accounts only, since that's all we require
2016-02-21 21:38:29 +01:00
ljacqu
90e0dc1875 Various code householding
- Remove unused API on DataSource
- Add some sensible javadoc to DataSource
- Minor code simplification
2016-02-19 23:19:38 +01:00
Gabriele C
d727def4ba Move the command 2016-02-14 17:06:52 +01:00
ljacqu
b3734f4010 #415 Move some permission nodes out of authme.player.*
- Move certain permission nodes outside of the authme.player branch
- Update classes / permissions list
- Remove wildcard node from code completely (since not used)
2016-02-14 14:15:02 +01:00
ljacqu
db4d4a7cce #477 Change lastlogin column from bigint to timestamp (work in progress)
- Alter column type
- Create migration for MySQL
- Unrelated: move DataSource enum to its own file
2016-02-07 14:27:03 +01:00
games647
6a75184ad9 Add 2fa support 2016-02-07 00:49:18 +01:00