Advertisement
Guest User

Untitled

a guest
May 29th, 2015
240
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.08 KB | None | 0 0
  1. <?php
  2. /**
  3.  * Created by PhpStorm.
  4.  * User: admin
  5.  * Date: 17.05.15
  6.  * Time: 14:10
  7.  */
  8. namespace Ganked\Frontend\ValueObjects;
  9. use Ganked\Skeleton\Requests\AbstractRequest;
  10. class AccessToken {
  11.     /**
  12.      * @var string
  13.      */
  14.     private $accessToken;
  15.     /**
  16.      * @param AbstractRequest $request
  17.      */
  18.     public function __construct(AbstractRequest $request)
  19.     {
  20.         $this->generateToken($request);
  21.     }
  22.     /**
  23.      * @param AbstractRequest $request
  24.      * @throws \RuntimeException
  25.      */
  26.     private function generateToken(AbstractRequest $request)
  27.     {
  28.         if (strpos($request->getHost(),'ganked.net') == false) {
  29.             throw new \RuntimeException('Invalid host');
  30.         }
  31.         $host = $request->getHost();
  32.         $userAgent = $request->getUserAgent();
  33.         $token = sha1($host . $userAgent);
  34.         $salt = ip2long($request->getIp());
  35.         $this->accessToken = sha1($token . $salt . $userAgent);
  36.     }
  37.     /**
  38.      * @return string
  39.      */
  40.     public function __toString()
  41.     {
  42.         return $this->accessToken;
  43.     }
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement