for authentication, we should use state param

Digest::SHA使うように直しました。それとstate_generatorが意図した通り動いていなかったので直しました。より安全な乱数生成器が使える場合に差し替えるのを意図しています(code refを渡す必要があります)
```
plugin 'Web::Auth',
    module      => 'Github',
    key         => '...',
    secret      => '...',
    state_generator => sub { secure_random_generator() },
};
```