Class CachedAuthHandler
- java.lang.Object
-
- pro.gravit.launchserver.auth.handler.AuthHandler
-
- pro.gravit.launchserver.auth.handler.CachedAuthHandler
-
- All Implemented Interfaces:
java.lang.AutoCloseable,pro.gravit.launcher.NeedGarbageCollection,Reconfigurable
- Direct Known Subclasses:
HibernateAuthHandler,JsonAuthHandler,MemoryAuthHandler,MySQLAuthHandler,PostgreSQLAuthHandler,RequestAuthHandler
public abstract class CachedAuthHandler extends AuthHandler implements pro.gravit.launcher.NeedGarbageCollection, Reconfigurable
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classCachedAuthHandler.Entryprotected static classCachedAuthHandler.EntryAndUsername
-
Field Summary
-
Fields inherited from class pro.gravit.launchserver.auth.handler.AuthHandler
providers, srv
-
-
Constructor Summary
Constructors Constructor Description CachedAuthHandler()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected voidaddEntry(CachedAuthHandler.Entry entry)java.util.UUIDauth(AuthProviderResult result)Returns the UUID associated with the accountjava.util.UUIDcheckServer(java.lang.String username, java.lang.String serverID)Validates serverIDprotected abstract CachedAuthHandler.EntryfetchEntry(java.lang.String username)protected abstract CachedAuthHandler.EntryfetchEntry(java.util.UUID uuid)voidgarbageCollection()java.util.Map<java.lang.String,pro.gravit.utils.command.Command>getCommands()Gets a list of commands available for this object.java.util.Map<java.util.UUID,CachedAuthHandler.Entry>getEntryCache()java.util.Map<java.lang.String,java.util.UUID>getUsernamesCache()booleanjoinServer(java.lang.String username, java.lang.String accessToken, java.lang.String serverID)Checks assessToken for validity and saves serverID if successfulvoidloadEntryCache(java.util.Map<java.util.UUID,CachedAuthHandler.Entry> map)voidloadUsernameCache(java.util.Map<java.lang.String,java.util.UUID> map)protected abstract booleanupdateAuth(java.util.UUID uuid, java.lang.String username, java.lang.String accessToken)protected abstract booleanupdateServerID(java.util.UUID uuid, java.lang.String serverID)java.util.UUIDusernameToUUID(java.lang.String username)java.lang.StringuuidToUsername(java.util.UUID uuid)-
Methods inherited from class pro.gravit.launchserver.auth.handler.AuthHandler
authError, close, init, registerHandlers
-
-
-
-
Method Detail
-
getCommands
public java.util.Map<java.lang.String,pro.gravit.utils.command.Command> getCommands()
Description copied from interface:ReconfigurableGets a list of commands available for this object.- Specified by:
getCommandsin interfaceReconfigurable- Returns:
- Key - Command Name Value is a command object
-
addEntry
protected void addEntry(CachedAuthHandler.Entry entry)
-
auth
public final java.util.UUID auth(AuthProviderResult result) throws java.io.IOException
Description copied from class:AuthHandlerReturns the UUID associated with the account- Specified by:
authin classAuthHandler- Parameters:
result-AuthProviderresult- Returns:
- User UUID
- Throws:
java.io.IOException- Internal Script Error
-
checkServer
public java.util.UUID checkServer(java.lang.String username, java.lang.String serverID) throws java.io.IOExceptionDescription copied from class:AuthHandlerValidates serverID- Specified by:
checkServerin classAuthHandler- Parameters:
username- user nameserverID- serverID to check- Returns:
- user UUID
- Throws:
java.io.IOException- Internal Script Error
-
fetchEntry
protected abstract CachedAuthHandler.Entry fetchEntry(java.lang.String username) throws java.io.IOException
- Throws:
java.io.IOException
-
fetchEntry
protected abstract CachedAuthHandler.Entry fetchEntry(java.util.UUID uuid) throws java.io.IOException
- Throws:
java.io.IOException
-
joinServer
public boolean joinServer(java.lang.String username, java.lang.String accessToken, java.lang.String serverID) throws java.io.IOExceptionDescription copied from class:AuthHandlerChecks assessToken for validity and saves serverID if successful- Specified by:
joinServerin classAuthHandler- Parameters:
username- user nameaccessToken- assessToken to checkserverID- serverID to save- Returns:
- true - allow, false - deny
- Throws:
java.io.IOException- Internal Script Error
-
garbageCollection
public void garbageCollection()
- Specified by:
garbageCollectionin interfacepro.gravit.launcher.NeedGarbageCollection
-
getEntryCache
public java.util.Map<java.util.UUID,CachedAuthHandler.Entry> getEntryCache()
-
getUsernamesCache
public java.util.Map<java.lang.String,java.util.UUID> getUsernamesCache()
-
loadEntryCache
public void loadEntryCache(java.util.Map<java.util.UUID,CachedAuthHandler.Entry> map)
-
loadUsernameCache
public void loadUsernameCache(java.util.Map<java.lang.String,java.util.UUID> map)
-
updateAuth
protected abstract boolean updateAuth(java.util.UUID uuid, java.lang.String username, java.lang.String accessToken) throws java.io.IOException- Throws:
java.io.IOException
-
updateServerID
protected abstract boolean updateServerID(java.util.UUID uuid, java.lang.String serverID) throws java.io.IOException- Throws:
java.io.IOException
-
usernameToUUID
public final java.util.UUID usernameToUUID(java.lang.String username) throws java.io.IOException- Specified by:
usernameToUUIDin classAuthHandler- Throws:
java.io.IOException
-
uuidToUsername
public final java.lang.String uuidToUsername(java.util.UUID uuid) throws java.io.IOException- Specified by:
uuidToUsernamein classAuthHandler- Throws:
java.io.IOException
-
-