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


▲http://localhost:3000/consumer に接続


Post a Comment