認証機能
2章です。
OAuth2で認証機能の追加をします。
なにかのウェブアプリで「GitHubアカウントでログインする」「Googleアカウントでログインする」というやつです。
gomniauthというライブラリを使います。
感想や、気になったところなどのメモです。
秘密の値などをハードコーディングしているのが気になりました。
Railsチュートリアルでは環境変数を使っていたような覚えがあります。
ということで、ちょっと書籍のコードを変えて環境変数を使うようにしてみました。
私はwindowsを使用しているのですが、git bashをもっと使ってみようかなと思いました。
日本語が文字化けしてしまったのですが、%HOMEPATH%/.bashrc
に
chcp.com 65001
としたら、なんとかなったようです。
書籍のコードではlog.Fatal
を使用していて、エラーを感知するとchat.exeは落ちてしまうのですが、これでいいんでしょうか?
panicだとリカバーで終了してしまわないようですが、log.Fatal
をpanic
に置き換えたほうが良いのでしょうか?
ログイン処理時にGoogleからユーザーの名前を取得して、Cookieに名前をセットしています。
チャット方では送られてきたCookieから名前を読み出して、message構造体を作り、それをJSONへ変換しブラウザに送っています。
今の所、名前など簡単に偽造できてしまうのでしょうか?
5章になりデータベースを利用することで回避したりするのでしょうか?
自作アプリ側でユーザーのデータをデータベースに保存するとき、何をキーにするのでしょうか?
まだ気になる点が多いのですが、とりあえずログインしチャットに名前を表示させることに成功して感動しました。