LDAP BASE IMPLEMENRTATION
This commit is contained in:
parent
b4cc04d7e1
commit
c083df0570
12 changed files with 80 additions and 2 deletions
22
app/controllers/users/omniauth_callbacks_controller.rb
Normal file
22
app/controllers/users/omniauth_callbacks_controller.rb
Normal file
|
@ -0,0 +1,22 @@
|
|||
class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController
|
||||
|
||||
def ldap
|
||||
# We only find ourselves here if the authentication to LDAP was successful.
|
||||
ldap = request.env["omniauth.auth"]["extra"]["raw_info"]
|
||||
username = ldap.sAMAccountName[0].to_s
|
||||
email = ldap.proxyaddresses[0][5..-1].to_s
|
||||
|
||||
if @user = User.find_by_email(email)
|
||||
sign_in_and_redirect root_path
|
||||
else
|
||||
password = User.generate_random_password
|
||||
@user = User.create(:name => username,
|
||||
:email => email,
|
||||
:password => password,
|
||||
:password_confirmation => password
|
||||
)
|
||||
sign_in_and_redirect @user
|
||||
end
|
||||
end
|
||||
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue