1
0
Fork 0
Devise extension to authenticate against MIT Kerberos
Find a file
2015-06-23 10:12:13 +01:00
lib Migrate from deprecated 'scoped' method to 'all' 2015-06-23 10:12:13 +01:00
.gitignore Initial gem code 2013-04-21 00:32:23 -04:00
devise-kerberos-authenticatable.gemspec Migrate from deprecated 'scoped' method to 'all' 2015-06-23 10:12:13 +01:00
LICENSE Initial gem code 2013-04-21 00:32:23 -04:00
README.md Updated read me 2014-01-31 12:52:59 +00:00

#devise-kerberos-authenticatable

##Description

devise-kerberos-authenticatable is a Devise exenstion that can be used to authenticate against Kerberos as setup in your local krb5.conf file.

##Installation

###Dependencies timfel-krb5-auth depends on the headers and development libraries for MIT Kerberos.

sudo apt-get install libkrb5-dev ###Server Setup Modify your /etc/krb5.conf file as necessary to authenticate against your Kerberos server.

###Rails Setup

  • Update your gemfile

gem 'devise-kerberos-authenticatable', :git => 'git://github.com/atomaka/devise-kerberos-authenticatable.git'

  • Create a migration to add username field to user table
class AddUsernameToUser < ActiveRecord::Migration
  def change
    add_column :users, :username, :string
  end
end
  • Create a migration to remove the index on email from the user table
class RemoveIndexOnEmailFromUsers < ActiveRecord::Migration
  def up
    remove_index :users, 'email'
  end

  def down
    add_index :users, :email, :unique => true
  end
end
  • Migrate the databse
rake db:migrate
  • Edit config/initializers/devise.rb to use a username instead of email for login and add a kerberos realm to use.
config.authentication_keys = [ :username ]
config.kerberos_realm = "EXAMPLE.REALM"    
  • Update your Devise model app/models/user.rb
devise :kerberos_authenticatable
attr_accessible :username
  • Rebuild your Devise views automatically or by hand.
rake generate devise:views

##Other

  • Currently only supports authentication and does not include password modification functionality.
  • Initial code based largely on devise_pam_authenticatable