class OmniAuth::Strategies::ZimbraAdmin

Public Instance Methods

callback_phase() click to toggle source
Calls superclass method
# File lib/omniauth/strategies/zimbra_admin.rb, line 23
def callback_phase
  return fail!(:invalid_credentials) unless authentication_response
  super
end
request_phase() click to toggle source
# File lib/omniauth/strategies/zimbra_admin.rb, line 19
def request_phase
  redirect options[:new_session_path]
end

Protected Instance Methods

authentication_response() click to toggle source
# File lib/omniauth/strategies/zimbra_admin.rb, line 63
def authentication_response
  unless @authentication_response
    return unless username && password
    @authentication_response = login_and_data(username, password)
    return unless @authentication_response
  end
  @authentication_response
end
debug() click to toggle source
# File lib/omniauth/strategies/zimbra_admin.rb, line 51
def debug
  options[:debug]
end
endpoint() click to toggle source

by default we use static uri. If dynamic uri is required, override this method.

# File lib/omniauth/strategies/zimbra_admin.rb, line 47
def endpoint
  options.endpoint
end
login_and_data(username, password) click to toggle source
# File lib/omniauth/strategies/zimbra_admin.rb, line 72
def login_and_data(username, password)
  Zimbra.debug = debug
  Zimbra.admin_api_url = endpoint
  begin
    token = Zimbra.reset_login(username, password)
    account = Zimbra::Account.find_by_name username
    account_attrs = account.get_attributes options[:zimbra_attributes]
    {token: token, account: account, account_attrs: account_attrs}
  rescue Exception => e
    false 
  end
end
password() click to toggle source
# File lib/omniauth/strategies/zimbra_admin.rb, line 59
def password
  request[:sessions]['password']
end
username() click to toggle source
# File lib/omniauth/strategies/zimbra_admin.rb, line 55
def username
  request[:sessions]['email']
end