Single sign on with Atlassian Crowd 2.0 for Ruby on Rails (unmaintained)
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.



Single sign on (SSO) with Atlassian Crowd 2.0 for Ruby on Rails.

See also:


sudo gem install crowd_rails


  • gem crowd-stefanwille

  • soap4r v1.5.8

  • Atlassian Crowd v2.0

  • Ruby v1.8.6 (or later)

  • Rails 2.3.8 (or later)


Add a file config/initializers/crowd_setup.rb and configure:

require 'crowd'

Crowd.crowd_url = ''
Crowd.crowd_app_name = 'soaptest'
Crowd.crowd_app_pword = 'soaptest'
Crowd.crowd_validation_factors_need_user_agent = false  # false for Crowd 2.0.5, true for Crowd 2.0.2
Crowd.crowd_session_validationinterval = 0  # Set > 0 for authentication caching.

Then add this to your ApplicationController class:

class ApplicationController < ActionController::Base
  include Crowd::SingleSignOn

  before_filter :authenticate 

    def authenticate      
      return if RAILS_ENV == "test"

      return if crowd_authenticated?

      authenticate_or_request_with_http_basic('My Application') do |user_name, password| 
        crowd_authenticate(user_name, password)

This will give you the usual gray password box (aka 'basic auth'). Replace Rails' the call to authenticate_or_request_with_http_basic() that asks the user for username and password if you want some fancier.

There is an example Rails app at that implements this approach.

See the rdoc at

Assumptions (used above):

  • Crowd Server is on localhost, port 8095

  • There is an application configured in Crowd with name and password 'soaptest'

  • Application 'soaptest' directory set to 'True'


  • Interoperable single sign on with Atlassian Crowd 2.0.2 and 2.0.5.

  • Can be configured for authentication caching.

Available methods in module Crowd::SingleSignOn:

  • crowd_authenticated? - Returns whether the user is already authenticated.

  • crowd_authenticate(user_name, password) - Authenticates the user with the given user name and password and marks the user as authenticated on success.

  • crowd_authenticate!(user_name, password) - Same as #crowd_authenticate, but raises an AuthenticationException on failure.

  • crowd_current_user_display_name - Returns the current users display name.

  • crowd_current_user - Returns the current user, as seen by crowd.

  • crowd_token - Returns the crowd token or nil.

  • crowd_log_out - Logs the user out

Note on Patches/Pull Requests

  • Fork the project.

  • Make your feature addition or bug fix.

  • Add tests for it. This is important so I don't break it in a future version unintentionally.

  • Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)

  • Send me a pull request. Bonus points for topic branches.


Copyright © 2010 Stefan Wille. See LICENSE for details.