ruby-openidのテスト – ca14
openid用のモジュール ruby-openid をインストール後、添付のサンプルアプリケーションを実行してみる。
■gemでruby-openidをインストール
C:\>gem install ruby-openid
Successfully installed ruby-openid-2.1.7
1 gem installed
Installing ri documentation for ruby-openid-2.1.7…
Installing RDoc documentation for ruby-openid-2.1.7…C:\>
■サンプルアプリケーションをコピー
以下のフォルダを任意のフォルダにコピーする。
C:\Ruby\lib\ruby\gems\1.8\gems\ruby-openid-2.1.7\examples\rails_openid
■セッションCookieの設定を追加
サンプルアプリコードでは、Rails2.0以降で利用するためのセッションCookieの設定が記載されていないため、config\environment.rbを編集
Ruby
# Be sure to restart your web server when you modify this file.
# Uncomment below to force Rails into production mode when
# you don't control web/app server and can't set it the proper way
# ENV['RAILS_ENV'] ||= 'production'
# Bootstrap the Rails environment, frameworks, and default configuration
require File.join(File.dirname(__FILE__), 'boot')
Rails::Initializer.run do |config|
# Settings in config/environments/* take precedence those specified here
# Skip frameworks you're not going to use
# config.frameworks -= [ :action_web_service, :action_mailer ]
# Add additional load paths for your own custom dirs
# config.load_paths += %W( #{RAILS_ROOT}/extras )
# Force all environments to use the same logger level
# (by default production uses :info, the others :debug)
# config.log_level = :debug
# Use the database for sessions instead of the file system
# (create the session table with 'rake create_sessions_table')
# config.action_controller.session_store = :active_record_store
config.action_controller.session = {
:key => '_openid_session',
:secret => 'c67504f48lfjaldkjaeiroeldakdhfkada'
}
# Enable page/fragment caching by setting a file-based store
# (remember to create the caching directory and make it readable to the application)
# config.action_controller.fragment_cache_store = :file_store, "#{RAILS_ROOT}/cache"
# Activate observers that should always be running
# config.active_record.observers = :cacher, :garbage_collector
# Make Active Record use UTC-base instead of local time
# config.active_record.default_timezone = :utc
# Use Active Record's schema dumper instead of SQL when creating the test database
# (enables use of different database adapters for development and test environments)
# config.active_record.schema_format = :ruby
# See Rails::Configuration for more options
end
# Add new inflection rules using the following format
# (all these examples are active by default):
# Inflector.inflections do |inflect|
# inflect.plural /^(ox)$/i, '\1en'
# inflect.singular /^(ox)en/i, '\1'
# inflect.irregular 'person', 'people'
# inflect.uncountable %w( fish sheep )
# end
# Include your application configuration below
ActionController::CgiRequest::DEFAULT_SESSION_OPTIONS[:session_key] = '_session_id_2'
▲27~30行を追加
最初、Rails::Initializer.run メソッド内に記述していなかったため、軽くはまった。。。
■実行結果
サンプルアプリディレクトリでWeblickを実行
C:\rails_project\openid\rails_openid>ruby script/server
=> Booting WEBrick
=> Rails 2.3.3 application starting on http://0.0.0.0:3000*******************************************************************
* config.breakpoint_server has been deprecated and has no effect. *
*******************************************************************=> Call with -d to detach
=> Ctrl-C to shutdown server
[2010-02-02 09:40:38] INFO WEBrick 1.3.1
[2010-02-02 09:40:38] INFO ruby 1.8.6 (2008-08-11) [i386-mswin32]
[2010-02-02 09:40:38] INFO WEBrick::HTTPServer#start: pid=5636 port=3000
zo-i | Project004:cpro01 | 02 2nd, 2010 |
