original_string: public function startBrokerSession()
      {
          if (isset($this->brokerId)) {
              return;
          }
  
          $sid = $this->getBrokerSessionID();
  
          if ($sid === false) {
              return $this->fail("Broker didn't send a session key", 400);
          }
  
          $linkedId = $this->cache->get($sid);
  
          if (!$linkedId) {
              return $this->fail("The broker session id isn't attached to a user session", 403);
          }
  
          if (session_status() === PHP_SESSION_ACTIVE) {
              if ($linkedId !== session_id()) {
                  throw new \Exception("Session has already started", 400);
              }
              return;
          }
  
          session_id($linkedId);
          session_start();
  
          $this->brokerId = $this->validateBrokerSessionId($sid);
      }
code: public function startBrokerSession()
      {
          if (isset($this->brokerId)) {
              return;
          }
  
          $sid = $this->getBrokerSessionID();
  
          if ($sid === false) {
              return $this->fail("Broker didn't send a session key", 400);
          }
  
          $linkedId = $this->cache->get($sid);
  
          if (!$linkedId) {
              return $this->fail("The broker session id isn't attached to a user session", 403);
          }
  
          if (session_status() === PHP_SESSION_ACTIVE) {
              if ($linkedId !== session_id()) {
                  throw new \Exception("Session has already started", 400);
              }
              return;
          }
  
          session_id($linkedId);
          session_start();
  
          $this->brokerId = $this->validateBrokerSessionId($sid);
      }
code_tokens: public function startBrokerSession ( ) { if ( isset ( $ this -> brokerId ) ) { return ; } $ sid = $ this -> getBrokerSessionID ( ) ; if ( $ sid === false ) { return $ this -> fail ( "Broker didn't send a session key" , 400 ) ; } $ linkedId = $ this -> cache -> get ( $ sid ) ; if ( ! $ linkedId ) { return $ this -> fail ( "The broker session id isn't attached to a user session" , 403 ) ; } if ( session_status ( ) === PHP_SESSION_ACTIVE ) { if ( $ linkedId !== session_id ( ) ) { throw new \ Exception ( "Session has already started" , 400 ) ; } return ; } session_id ( $ linkedId ) ; session_start ( ) ; $ this -> brokerId = $ this -> validateBrokerSessionId ( $ sid ) ; }
docstring: Start the session for broker requests to the SSO server
docstring_tokens: Start the session for broker requests to the SSO server