ものづくりのブログ

うちのネコを題材にしたものづくりができたらいいなと思っていろいろ奮闘してます。

「rails devise」の認証処理にハマる

「rails devise」の認証処理でログインボタンをクリックすると「Completed 401 Unauthorized」となりログインページにリダイレクトされるという問題があってハマったので、その対応をここにメモします。

rails devise とは

rails で作った web アプリケーションに認証機能を実装できる gem のことです。

問題

ログインページにリダイレクトされた時のエラー

気になる部分その1

CSRFトークンについて注意される。

I, [xxxxxxxx#50]  INFO -- : Processing by Devise::SessionsController#create as HTML
I, [xxxxxxxx#50]  INFO -- :   Parameters: {"xxxxxxxxxxxxxx"}
W, [xxxxxxxx#50]  WARN -- : WARNING: Can't verify CSRF token authenticity

気になる部分その2

認証を試みるが、401 Unauthorized といわれてしまう。

I, [xxxxxxxx#50]  INFO -- : Processing by HomesController#new_guest as HTML
I, [xxxxxxxx#50]  INFO -- : Parameters:{"authenticity_token"=>"XXXXXXXXXXX"}
I, [xxxxxxxx#50]  INFO -- : Completed 401 Unauthorized in 1ms (ActiveRecord: 0.0ms)

対応

いろいろ調べてみましたが、該当するものがなく途方に暮れていたら、ssl証明書を準備してないというオチでした。。。
コンフィグに以下の部分の設定を編集したらうまくいきました。
(config.force_ssl = false に変更)

# Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
config.force_ssl = false

ssl 証明書...オレオレでいいから準備しよ...