rails:3967
From: 杉田臣輔 <shinriyo@g...>
Date: Mon, 13 Jan 2014 14:36:40 +0900
Subject: [rails:3967] Re: deviseのヘルパーsign_inについて
前島様 ご返信わざわざありがとうございます。 動作はする形までになりましたが、納得はまだできてません。 手順はこれです 1.新しいdeviseだとtoken_authが利用できなくなるようでしたので、 Devise2.2.4 に入れなおしました。 この作業で WARNING: Can't verify CSRF token authenticity みたいな警告は消えました。 2.「*You have to confirm your account before continuing.」* のエラー原因は deviseの設定でconfirmableの設定をしており、 かつメールアドレスのverificationを行っている時に出ているようでした。 deviseの設定でconfirmableの設定はしておりました。 app/models/user.rbの設定です。 --- devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable, :token_authenticatable, :confirmable -- メールアドレスのverificationのチェックはこのように書いてませんでした。 validates :email, :presence => true, :email => true 3. 無理やり認証終了 User.find_by_email("登録時のEmailアドレス").confirm! にてrails cコンソールで行いました。 これでログインは出来るようになりました。 しかし、eメールに最終認証終了のが届かなかったような気がしますので、 これが納得行かない点です。 2014年1月12日 22:09 前島真一 <netwillnet@g...>: > 前島です。 > > ざっとドキュメント見た感じ次のような感じかなあと思いました。参考になれば。 > > * sign_in メソッドは warden の set_user メソッドを呼び出している > * set_user メソッドの中でなにか起こっている?(しっかり調べたわけではないので推測) > * sign_in user, bypass: true とかすると set_user メソッド呼び出さずに直接 session > をいじってログイン状態にする > > > > 2014年1月2日 23:33 杉田臣輔 <shinriyo@g...>: > > 皆様 >> >> こんにちは、杉田といいます >> >> 「RailsとiPhoneではじめるアプリケーション開発」という書籍にて >> iOSとRailsの連携を行っています。 >> >> 質問ですが、 >> Deviseには、sign_in()というヘルパーメソッドがありますが、 >> >> app/controllers/api/sessions_controller.rb内にて、 >> resource = User.find_for_database_authentication(:email => >> params[:user][:email]) >> でクライアントから受け取ったresourceを、 >> if resource.valid_password?(params[:user][:password]) >> の判定後に、 >> >> sign_in("user", resource) >> >> を行ったところ、それ以降の処理がうまく実行されていないようです。 >> sign_in(:user, resource)とuserをシンボルにしても同様の結果でした。 >> >> その際には、rails sでのコンソールには、 >> === >> Completed 401 Unauthorized in 122ms (Views: 1.1ms | ActiveRecord: 4.5ms) >> === >> が表示されます。 >> >> ソースコード自体はこのサンプルをベースに行っています。 >> http://www.impressjapan.jp/books/1113101025_4 >> >> Deviseのバージョンは2.2、3.0、3.1を試しましたが同様でした。 >> 現在は2.2.8を使用しています。 >> >> >> 何卒、よろしくお願いします。 >> > > > > -- > 前島 真一(@netwillnet) > http://willnet.in/ >
@ 3959 2014-01-02 15:33 [shinriyo@g... ] deviseのヘルパーsign_inについて @ 3966 2014-01-12 14:09 ┗[netwillnet@g... ] -> @ 3967 2014-01-13 06:36 ┗[shinriyo@g... ]