{"push_id":2465697161,"size":11,"distinct_size":11,"ref":"refs/heads/master","head":"bf4cbc489ce9559d18fc1a270a8394f8d1f4368d","before":"66cbdd2cacaff781a06e80d9b8e4d52a5d39d39e","commits":[{"sha":"69c37a0d235c01092d4cc585bbed80b510fcce84","author":{"name":"Vagelis Kostopoulos","email":"cdcccbd64e511d94fdbe5b52839a047e647756d6@gmail.com"},"message":"Authentication / Add a User Entity and fill it with dummy data\n\nIn general we follow the strategy outlined here:\nhttp://symfony.com/doc/current/security/guard_authentication.html\nUsing Guard is a bit more difficult to setup but gives us more control.\n\nIt's important to note that this User class implements UserInterface\nIntroducing User as a Doctrine Entity user data as saved in the database.\n\nUser details could also be saved in a central authentication server.\nIn that case we'd still have a User class, but we would not store it in the DB with Doctrine.","distinct":true,"url":"https://api.github.com/repos/vagkos1/KNPaqua_note/commits/69c37a0d235c01092d4cc585bbed80b510fcce84"},{"sha":"d03b870172b62d63ace71d0e80821259f4be4e24","author":{"name":"Vagelis Kostopoulos","email":"cdcccbd64e511d94fdbe5b52839a047e647756d6@gmail.com"},"message":"Authentication / Render the login form\n\nWe'll deal with the Form processing later (separately).\n\nThe reason we create a \\AppBundle\\Form\\LoginForm instead of creating a form in twig, as is customary for login forms (https://symfony.com/doc/current/security/form_login_setup.html), is to take advantage of the default usage of bootstrap for normal forms.\n\nThis is a rare case where we are not binding the loginForm with a class.","distinct":true,"url":"https://api.github.com/repos/vagkos1/KNPaqua_note/commits/d03b870172b62d63ace71d0e80821259f4be4e24"},{"sha":"10a3dc3c6b4c05c06d2bc81c672e6ae459750f24","author":{"name":"Vagelis Kostopoulos","email":"cdcccbd64e511d94fdbe5b52839a047e647756d6@gmail.com"},"message":"Authentication / Guard - Add an Authenticator & check if User is submitting Login form\n\nIn order to use Guard, we build the \\AppBundle\\Security\\LoginFormAuthenticator class.\nSymfony will call the authenticator on every single request.\n(and more specifically it will always call \\AppBundle\\Security\\LoginFormAuthenticator::getCredentials)\nIf this call returns null, then Symfony skips trying to authenticate the user and the request continues on like normal.\nIf it returns some non-null data, then the authentication continues to the next step.\n(it calls \\AppBundle\\Security\\LoginFormAuthenticator::getUser)\n\nIn general, our strategy is:\n1. Check if the user is submitting the login form\n2. Read the username & password from the request\n3. Load the user object from the database","distinct":true,"url":"https://api.github.com/repos/vagkos1/KNPaqua_note/commits/10a3dc3c6b4c05c06d2bc81c672e6ae459750f24"},{"sha":"a09b1950ef6e90be584e0865780c71b5845dd50d","author":{"name":"Vagelis Kostopoulos","email":"cdcccbd64e511d94fdbe5b52839a047e647756d6@gmail.com"},"message":"Authentication / Guard - Finish the Authenticator and hook it up\n\nRegister + Autowire LoginFormAuthenticator.\nActivate the Guard Authenticator in the firewalls section.","distinct":true,"url":"https://api.github.com/repos/vagkos1/KNPaqua_note/commits/a09b1950ef6e90be584e0865780c71b5845dd50d"},{"sha":"b09214af3a5ab1ba2c35be33307639da49d95b63","author":{"name":"Vagelis Kostopoulos","email":"cdcccbd64e511d94fdbe5b52839a047e647756d6@gmail.com"},"message":"Authentication / UserProvider - Get the user from the session and stay logged in.\n\nUser Provider is responsible for:\n-> loading the user from the session\n-> making sure the user is up to date\n-> handling 'remember me' functionality\n-> handling impersonation","distinct":true,"url":"https://api.github.com/repos/vagkos1/KNPaqua_note/commits/b09214af3a5ab1ba2c35be33307639da49d95b63"},{"sha":"c10b8a429a0d7cd15bb714803485bd483c31b06e","author":{"name":"Vagelis Kostopoulos","email":"cdcccbd64e511d94fdbe5b52839a047e647756d6@gmail.com"},"message":"Authentication / Include username upon failure","distinct":true,"url":"https://api.github.com/repos/vagkos1/KNPaqua_note/commits/c10b8a429a0d7cd15bb714803485bd483c31b06e"},{"sha":"97d81ad7fde440274e5143201f1fe329e0728db5","author":{"name":"Vagelis Kostopoulos","email":"cdcccbd64e511d94fdbe5b52839a047e647756d6@gmail.com"},"message":"Authentication / Add ability to logout\n\nSecurityController::logoutAction() will do nothing.\nIt needs to be there so that a 404 is not triggered before Symfony logs the user out.\n\nTo achieve the logout functionality, we add the logout key in security.yml under firewalls.\nSymfony will intercept any requests to /logout and take care of it.","distinct":true,"url":"https://api.github.com/repos/vagkos1/KNPaqua_note/commits/97d81ad7fde440274e5143201f1fe329e0728db5"},{"sha":"7f0257d0d90eab015d2c84e260c16c9dbd41c215","author":{"name":"Vagelis Kostopoulos","email":"cdcccbd64e511d94fdbe5b52839a047e647756d6@gmail.com"},"message":"Authentication / Add a password to the User Class","distinct":true,"url":"https://api.github.com/repos/vagkos1/KNPaqua_note/commits/7f0257d0d90eab015d2c84e260c16c9dbd41c215"},{"sha":"3c70d45b895bd6776daf622c8dc700c9da09a02b","author":{"name":"Vagelis Kostopoulos","email":"cdcccbd64e511d94fdbe5b52839a047e647756d6@gmail.com"},"message":"Authentication / Register an Event Listener that hashes plain text passwords (bcrypt)","distinct":true,"url":"https://api.github.com/repos/vagkos1/KNPaqua_note/commits/3c70d45b895bd6776daf622c8dc700c9da09a02b"},{"sha":"614c47788b37c0cbcaaedf392952b6b99e853d20","author":{"name":"Vagelis Kostopoulos","email":"cdcccbd64e511d94fdbe5b52839a047e647756d6@gmail.com"},"message":"Authentication : Use the password encoder whenever the user logs in","distinct":true,"url":"https://api.github.com/repos/vagkos1/KNPaqua_note/commits/614c47788b37c0cbcaaedf392952b6b99e853d20"},{"sha":"bf4cbc489ce9559d18fc1a270a8394f8d1f4368d","author":{"name":"Vagelis Kostopoulos","email":"cdcccbd64e511d94fdbe5b52839a047e647756d6@gmail.com"},"message":"Authorization / Deny access for /admin\n\nroles must start with ROLE_\n\nThere are two main ways to deny access:\n\n- access_control (in security.yml - it's the simplest)\nSymfony looks for a matching access control from top to bottom and stops as soon as it finds the first match.\n(we can lock every page with an access_control and then whitelist the few publicpages with an access_control entry above that)\n(we can also force the user to visit a specific part of the website via https)\n\n- inside the controllers, using he authorization_checker service\na) We can use \"createAccessDeniedException\" if the user does not have the role we specify.\nb) We can use \"denyAccessUnlessGranted('ROLE_blabla')\nc) We can use annotations (@Security(\"is_granted('ROLE_ADMIN')\") either above a controller or above the whole class.","distinct":true,"url":"https://api.github.com/repos/vagkos1/KNPaqua_note/commits/bf4cbc489ce9559d18fc1a270a8394f8d1f4368d"}]}
{"actor":{"display_login":"vagkos1"}}