Originally, I wanted to use OpenID 2.0 for authentication, but the spec is too heavy for me, and I don't want to incorporate large libraries at this point.
At the urging of Master Earl to DTSSTCPW, I decided to go with a simple username/password scheme for now.
Being a perfectionist, I have chosen the following route:
Session cookies contain a HMAC digest (paper) with a rotating random key on the server.
Passwords on the server are stored salted using the bcrypt hash function, which can be made slower as computers get faster, to make brute-force attacks harder.