for authentication, we should use state param
change random string generator
use Digest::SHA, fix state generator
Merge remote-tracking branch 'mala/master'