/**
  * Get the session implementation from the manager.
  *
  * @param \Psr\Http\Message\ServerRequestInterface $request
  *
  * @return \Psr\Http\Message\ServerRequestInterface
  */
 protected function getSession(ServerRequestInterface $request) : StoreContract
 {
     $session = $this->manager->driver();
     $key = $session->getConfig()->get('session::key');
     $session->addFingerprintGenerator(new ClientIpGenerator($key));
     $session->addFingerprintGenerator(new UserAgentGenerator($key));
     return $session;
 }