# File lib/omniauth/strategies/crowd.rb, line 66
      def callback_phase

        creds = session.delete 'omniauth.crowd'
        username = creds.nil? ? nil : creds['username']
        password = creds.nil? ? nil : creds['password']

        unless creds
          if @configuration.use_sessions? && request.cookies[@configuration.session_cookie]
            validator = CrowdValidator.new(@configuration, username, password, get_client_ip, get_sso_tokens)
          else
            return fail!(:no_credentials)
          end
        else
          validator = CrowdValidator.new(@configuration, username, password, get_client_ip, nil)
        end

        @user_info = validator.user_info

        return fail!(:invalid_credentials) if @user_info.nil? || @user_info.empty?

        super
      end