EzDevInfo.com

rubycas-server

Provides single sign-on authentication for web applications, implementing the server-end of Jasig's CAS protocol. RubyCAS

How to authenticate users using rubycas-server with multi-field?

I used rubycas-server to build an sso systems, using devise to do the user's system, but now my question is, rubycas-server only one field like 'email' , I want to use 'email' / 'tel' / 'nickname' for user login. no more info in wiki

authenticator:
 class: CASServer::Authenticators::SQLBcrypt
 database:
   adapter: mysql2
   database: xxxx
   username: root
   password: xxxx
   host: localhost
 user_table: users
 username_column: email # tel/nickname
 password_column: encrypted_password

sorry about my poor English! help me, thanks very much!


Source: (StackOverflow)

Bundler::MarshalError TypeError: incompatible marshal file format + Ruby CAS Server

I have clone the rubycas-server project and followed the steps as they mentioned in their documentation. When I am doing the bundle install I am getting the following error:

Fetching gem metadata from http://rubygems.org/....Retrying dependency api due to error (2/4): Bundler::MarshalError TypeError: incompatible marshal file format (can't be read)
format version 4.8 required; 60.72 given
Retrying dependency api due to error (3/4): Bundler::MarshalError TypeError: incompatible marshal file format (can't be read)
format version 4.8 required; 60.72 given
Retrying dependency api due to error (4/4): Bundler::MarshalError TypeError: incompatible marshal file format (can't be read)
format version 4.8 required; 60.72 given

I don't know why this message is coming and I am using Ruby 1.8.7. Is any step missed or which ruby version is appropriate for running the Ruby CAS Server?


Source: (StackOverflow)

Advertisements

Authenticate multiple application with Ruby CAS Server

I have two different web applications which are already build. Now one new requirement comes i.e Implement Common Authentication. My one application is build in rails and another application is build in Drupal. I have installed ruby-casserver, but for the CAS we need to set Authenticator in config.yml file, I have set that.

But my problem is how to migrate my old users on CAS, because I am storing the username and also password(i.e encrypetd) on CAS server. Encrypted Passwords which are stored in CAS user table are encrypted using SHA1 algorithm. But the oldest user which are on Drupal uses the MD5 for password encryption.

So my question is how to migrate old users on CAS, or how to Design the CAS which can authenticate for Rails and Drupal users.


Source: (StackOverflow)

CAS Authentication with Sub-domain

I have setup CAS server in Java and using RubyCas-client for my application. Now my application runs on sub-domain so my concern is once I am authenticated by CAS server for some particular sub-domain, I am able to access others sub-domain also.

Here is brief example:-

My CAS server URL is https://localhost:8443/cas/login

I have given credentials for sub-domain1.mydomain.com and got authenticated for same but when I am trying to access sub-domain2.mydomain.com, getting authenticated for sub-domain2 and sub-domain3 and so on also.

What I want to do that for each sub-domain it will ask me for credentials. Is this possible.

Thanks in advance!


Source: (StackOverflow)

Could not spawn process for group /var/www/rubycas

[ 2014-02-10 13:51:00.0173 22995/7f012fa3b700 Pool2/Implementation.cpp:883 ]: Could not spawn process for group /var/www/rubycas#default: An error occurred while starting up the preloader: it did not write a startup response in time.
     in 'void Passenger::ApplicationPool2::SmartSpawner::throwPreloaderSpawnException(const string&, Passenger::SpawnException::ErrorKind, Passenger::ApplicationPool2::Spawner::BackgroundIOCapturerPtr&, const DebugDirPtr&)' (SmartSpawner.h:146)
     in 'std::string Passenger::ApplicationPool2::SmartSpawner::negotiatePreloaderStartup(Passenger::ApplicationPool2::SmartSpawner::StartupDetails&)' (SmartSpawner.h:566)
     in 'void Passenger::ApplicationPool2::SmartSpawner::startPreloader()' (SmartSpawner.h:206)
     in 'virtual Passenger::ApplicationPool2::ProcessPtr Passenger::ApplicationPool2::SmartSpawner::spawn(const Passenger::ApplicationPool2::Options&)' (SmartSpawner.h:752)
     in 'void Passenger::ApplicationPool2::Group::spawnThreadRealMain(const SpawnerPtr&, const Passenger::ApplicationPool2::Options&, unsigned int)' (Implementation.cpp:804)

[ 2014-02-10 13:51:00.0253 22995/7f0127fff700 agents/HelperAgent/RequestHandler.h:2088 ]: [Client 20] Cannot checkout session.

This is the error i encountered when i'm trying to access rubycas over apache

Rails 2.3.8

Phusion Passenger version 4.0.37

Ruby 1.8

Thanks, Swaroop


Source: (StackOverflow)

How to authenticate users using rubycas-server in rails?

I'm using rubycas-server GEM as my CAS server. This CAS server is checking user credentials from a user table of a different database. These users are created using Devise gem. Devise saves every user's password in encrypted form in database table. So in the configuration file of this rubycas-server contains a authenticator section, It's code is given below:

authenticator:
 class: CASServer::Authenticators::SQL
 database:
   adapter: postgresql
   database: testdb
   username: postgres
   password: root
   host: localhost
   pool: 5
 user_table: users
 username_column: email
 password_column: encrypted_password
 encrypt_function: <encryption function>

As stated above in the last line of code that, encrypted_function contains the algorithm to check credentials. Some samples given gelow in the URL

https://code.google.com/p/rubycas-server/wiki/UsingTheSQLEncryptedAuthenticator

But I can't find what will be suitable for devise. Please help.


Source: (StackOverflow)

Setup issue in CAS Server in Rails 3.x

I have installed rubyCAS Server on ec2 server, using Rails 3.2 and Ruby 1.9.3 and configured configure.yml file, my

server: webrick
port: 9292
ssl_cert: /mnt/rubyonrails/testingcas.pem 

Note: I have mentioned Domain name fortestingonly.managemyasc.devserver during generate self signed SSL'

database:
adapter: mysql2
database: casserver
username: root
password: XXXXX
host: localhost
reconnect: true

authenticator:
class: CASServer::Authenticators::SQL
database:
adapter: mysql2
database: mmx_dev
username: root
password: XXXXX
host: localhost
user_table: userdemo
username_column: username
password_column: password

And i have also mapped cas server url in my local /etc/host as 184.72.242.142 fortestingonly.managemyasc.devserver

And in Environment file: :cas_base_url => "https://fortestingonly.managemyasc.devserver:9292"

Now I have fired up Rubycas server and my Application server but As I tried to access my application URL, getting following error in my application log:

Started GET "/" for 122.162.49.205 at 2014-01-31 04:01:14 -0800
Processing by DashboardController#index as HTML
Guessed service url: "http://ohio-ortho.managemyasc.devserver:3000/"
Generated login url: https://fortestingonly.managemyasc.devserver:9292/login?             service=http%3A%2F%2Fohio-ortho.managemyasc.devserver%3A3000%2F
Redirecting to "https://fortestingonly.managemyasc.devserver:9292/login?service=http%3A%2F%2Fohio-ortho.managemyasc.devserver%3A3000%2F"
Redirected to https://fortestingonly.managemyasc.devserver:9292/login?service=http%3A%2F%2Fohio-ortho.managemyasc.devserver%3A3000%2F
Filter chain halted as CASClient::Frameworks::Rails::Filter rendered or redirected
Completed 302 Found in 1ms (ActiveRecord: 0.0ms)
Oink Action: dashboard#index
Memory usage: 779472 | PID: 29159
Instantiation Breakdown: Total: 1 | ActiveRecord::SessionStore::Session: 1
Oink Log Entry Complete

Source: (StackOverflow)