LoginController
por Filipe Eduardo Basilio da Silva Monteiro
1. Login
1.1. AuthenticateCommand-Handle
1.1.1. Encoder->isPasswordValid()
1.1.2. EventRecorder( AuthSuccessfulEvent )
1.1.2.1. Listeners
1.1.2.1.1. AuthenticateSubcriber->authSuccess()
1.1.2.1.2. AuthenticateSubcriber->sessioncreated()
1.1.2.1.3. RotaSubscriber->populateContractInAuth()
1.2. JWT->getLastToken()
1.3. Return $token
2. LoginCheck
2.1. RetrieveGcoAlunoByTokenCommand-Handle
2.2. CheckTokenCommand-Hadle
2.2.1. JWTBuilder->validate($token)
2.2.2. IF SessionID !== $token->getClaim('jti')
3. Logout
3.1. RetrieveGcoAlunoByTokenCommand-Handle
3.2. InativaSessoesAtivasCommand-Handle
3.2.1. find Ativas no Repository
3.2.2. foreach -> inactive()
3.3. RemoveSessionTokenCommand-Handle
3.3.1. Session->remove("_token")