code/authenticators/SAMLAuthenticator.php
public static function authenticate($data, Form $form = null)
    {
        // $data is not used - the form is just one button, with no fields.
        $auth = Injector::inst()->get('SAMLHelper')->getSAMLAuth();
        Session::set('BackURL', isset($data['BackURL']) ? $data['BackURL'] : null);
        Session::save();
        $auth->login(Director::absoluteBaseURL().'saml/');
    }
public static function authenticate($data, Form $form = null)
    {
        // $data is not used - the form is just one button, with no fields.
        $auth = Injector::inst()->get('SAMLHelper')->getSAMLAuth();
        Session::set('BackURL', isset($data['BackURL']) ? $data['BackURL'] : null);
        Session::save();
        $auth->login(Director::absoluteBaseURL().'saml/');
    }
Sends the authentication process down the SAML rabbit hole. It will trigger
the IdP redirection via the 3rd party implementation, and if successful, the user
will be delivered to the SAMLController::acs.

@param array $data
@param Form $form
@return bool|Member|void
@throws SS_HTTPResponse_Exception