I know HTML5 is great for web games, but I don't really know if it's possible to develop online games with multiple users, keeping everybody synchronized and handling logins, et cetera. Is it possible to do this?
You can't write it with HTML5 alone. You will always need scripting and a server to handle communication between users, because of the security limits of browser scripting, and also to prevent cheating.
Many people have written multiplayer html5 games, even I have. The use of html5 itself is probably not the most important part of it. Most of the things needed (if not all) have been available in html 4.01 as well. The exception is canvas, but canvas is slower than svg, and svg was available in lots of browsers already.
Update after comment from OP:
A common architecture for a browser game would be
Client Server |-----------------------| |---------------------| View - input/output logic - Communication - Validation - Game World | | client database (if needed) server database (if needed)
Or in terms of actual "languages":
- Client view: HTML5 (possibly with angular.js, haven't tested how fast it is with LOTS going on yet. also check out raphael.js for "graphics")
- Client database: WebSQL (part of the HTML5 "suite" I suppose)
- Server language: also JS (node.js if you have TONS of concurrent users on few cores, other solutions are available too)
- Validation: just making sure your INCOMING game data (from client) is valid. Outgoing does not need to be checked, not even on client. It is assumed correct. Always.
- Game World: a collection of VERIFIED data that is redistributed to all clients as they come in
- Server database: couchdb, mongodb, whatever database that gives you raw json objects to work with.