You are here

function saml_sp_start in SAML Service Provider 7.3

Same name and namespace in other branches
  1. 8.3 saml_sp.module \saml_sp_start()
  2. 8.2 saml_sp.module \saml_sp_start()
  3. 7.8 saml_sp.module \saml_sp_start()
  4. 7 saml_sp.module \saml_sp_start()
  5. 7.2 saml_sp.module \saml_sp_start()
  6. 4.x saml_sp.module \saml_sp_start()
  7. 3.x saml_sp.module \saml_sp_start()

Start a SAML authentication request.

Parameters

Object $idp:

String $callback: A function to call with the results of the SAML authentication process.

1 call to saml_sp_start()
saml_sp_drupal_login__start in modules/saml_sp_drupal_login/saml_sp_drupal_login.module
Start the SAML authentication process.

File

./saml_sp.module, line 650
SAML Service Provider

Code

function saml_sp_start($idp, $callback) {
  global $base_url, $language;
  if (isset($_GET['returnTo'])) {

    // If a returnTo parameter is present, then use that
    $return_to = $_GET['returnTo'];
  }
  else {

    // By default the user is returned to the front page in the same language
    $return_to = url();
  }
  $settings = saml_sp__get_settings($idp);
  $auth = new saml_sp_Auth($settings);
  $auth
    ->setAuthCallback($callback);
  $redirect = $auth
    ->login($return_to, array(), FALSE, FALSE, TRUE);

  // make sure we stay
  if (variable_get('saml_sp__debug', FALSE)) {
    watchdog('saml_sp', '$auth => <pre>@auth</pre>', array(
      '@auth' => print_r($auth, TRUE),
    ), WATCHDOG_DEBUG);
    return $redirect;
  }
  drupal_goto($redirect);
}