Code Monkey home page Code Monkey logo

omniauth-cas's Introduction

OmniAuth CAS Strategy Gem Version Build Status

This is a OmniAuth 1.0 compatible port of the previously available OmniAuth CAS strategy that was bundled with OmniAuth 0.3.

View the documentation

Installation

Add this line to your application's Gemfile:

gem 'omniauth-cas'

And then execute:

$ bundle

Or install it yourself as:

$ gem install omniauth-cas

Usage

Use like any other OmniAuth strategy:

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :cas, host: 'cas.yourdomain.com'
end

OmniAuth CAS requires at least one of the following two configuration options:

  • url - Defines the URL of your CAS server (i.e. http://example.org:8080)
  • host - Defines the host of your CAS server. Optional if using url
  • login_url - Defines the URL used to prompt users for their login information. Defaults to /login If no host is configured, the host application's domain will be used.

Other configuration options:

  • port - The port to use for your configured CAS host. Optional if using url
  • ssl - TRUE to connect to your CAS server over SSL. Optional if using url
  • service_validate_url - The URL to use to validate a user. Defaults to '/serviceValidate'
  • logout_url - The URL to use to logout a user. Defaults to '/logout'
  • uid_key - The user data attribute to use as your user's unique identifier. Defaults to 'user' (which usually contains the user's login name)
  • ca_path - Optional when ssl is true. Sets path of a CA certification directory. See Net::HTTP for more details
  • disable_ssl_verification - Optional when ssl is true. Disables verification.

Migrating from OmniAuth 0.3

Given the following OmniAuth 0.3 configuration:

provider :CAS, cas_server: 'https://cas.example.com/cas/'

Your new settings should look similar to this:

provider :cas,
         host:      'cas.example.com',
         login_url: '/cas/login',
  	     service_validate_url: '/cas/serviceValidate'

If you encounter problems wih SSL certificates you may want to set the ca_path parameter or activate disable_ssl_verification (not recommended).

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Thanks

Special thanks go out to the following people

  • Phillip Aldridge (@iterateNZ) and JB Barth (@jbbarth) for helping out with Issue #3
  • Elber Ribeiro (@dynaum) for Ubuntu SSL configuration support
  • @rbq for README updates and OmniAuth 0.3 migration guide

omniauth-cas's People

Contributors

dlindahl avatar rbq avatar dynaum avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.