RubyCAS-Client-Rails Single Sign Out
Rails 4のアプリでCASを使ってSSOしたいのでRubyCAS-Client-Railsを使ってチャレンジ。
rubycas/rubycas-client-rails · GitHub
現時点ではリポジトリから引っ張らないと動かない
echo "gem 'rubycas-client', :git => 'git://github.com/rubycas/rubycas-client.git'" >> Gemfile echo "gem 'rubycas-client-rails', :git => 'git://github.com/rubycas/rubycas-client-rails.git'" >> Gemfile bundle install
現状ではSingle Sign Outの処理がRails4に対応していないので修正する
lib/rubycas-client-rails.rb
312 # Rails 3.0 313 ## required_sess_store = ActiveRecord::SessionStore 314 ## current_sess_store = ::Rails.application.config.session_store 315 316 # Rails 4.0 317 required_sess_store = ActionDispatch::Session::ActiveRecordStore 318 current_sess_store = ::Rails.application.config.session_store 319 320 if current_sess_store == required_sess_store 321 session_id = read_service_session_lookup(si) 322 323 if session_id 324 session = current_sess_store.session_class.find_by_session_id(session_id)