Ruby Sinatra を使ってGoogle認証をする(実験~一気に解決編)
前置き
↑前回の下調べ編です。
なんか見つけた
いろいろと調べていくうちに、このようなリポジトリを見つけた。
それで、じゃあやってみようということで、
まずはGemfileに以下を追記
(SinatraのBundleを使うことになっているので、インストールする必要があるみたいだが、元から入ってたのでその作業は省けた。)
そして、 bundle install を実行。
ついでに、ここの段階で exportコマンドを使用して、サーバーへの環境変数の設定をしておく。
その後がまた苦労した。
先ほど、rackもインストールしていたので、ここでRackも使用することに。
これによってちょっと難しくなってくる。
とにかくリポジトリのReadMeの通りにやってみる。
Config.ru で App.new をしているので、当然ながらに App Class を作んなきゃいけない。
んで、また ReadMEを見てみると、どうやら、/auth/google_oauth2/callback にPOSTで帰ってきて、情報は、request.env['omniauth.auth'] に保存されているらしい。
...でも取り出し方がわかんない。(;´・ω・)
試行錯誤の結果、ようやく仕組みがわかってくる。
返ってくる形式は、
こんな感じらしく、それを取り出すには...
これを実行すると、きちんとブラウザ上にメールアドレスが表示される。
どうやら、きちんと取得された模様。
...とまあ、Googleの認証はうまく行ったけど、なんとあのPostのあとに、 erb の表示をするように付け加えたらうまいように表示してくれないので、まだまだ記事のネタはたくさんありそう。
それについてはまた後程。(;´・ω・)