/**
  * Logs in user on Adobe Connect server. This is done by redirection to the cave server.
  * @ilObjUser $ilUser
  * @param  $user
  * @return String       Session id
  */
 public function externalLogin()
 {
     /*
      * @var $ilUser ilObjUser
      */
     global $ilUser;
     //ilObjAdobveConnect::DoRead calls getBreezeSession. Only login if the user has a AAI-Account!
     if (!ilAdobeConnectServer::useSwitchaaiAuthMode($ilUser->getAuthMode(true))) {
         return false;
     }
     self::$breeze_session = null;
     //if there is already a session don't create a new session
     if ($_SESSION['breezesession']) {
         self::$breeze_session = $_SESSION['breezesession'];
         return $_SESSION['breezesession'];
     }
     //SWITCH aai user logins
     if (!$_GET['breezesession']) {
         //header() redirects do NOT necessarily stop the script, so we put an exit after it
         header('Location: ' . ilAdobeConnectServer::getSetting('cave') . '?back=https://' . $_SERVER['HTTP_HOST'] . urlencode($_SERVER['REQUEST_URI']) . '&request_session=true');
         exit;
     }
     self::$breeze_session = $_GET['breezesession'];
     //cache the Session in a cookie
     $_SESSION['breezesession'] = $_GET['breezesession'];
     self::$loginsession_cache[$_SESSION['breezesession']] = true;
     return $_SESSION['breezesession'];
 }