/** * @param Ip $customerIp * @param TokenExpiration $tokenExpiration * @param TokenChecksum $tokenChecksum */ public function __construct(Ip $customerIp, TokenExpiration $tokenExpiration, TokenChecksum $tokenChecksum) { $timeAsHexadecimal = $tokenExpiration->asHexadecimalTimestamp(); $firstTimeChars = substr($timeAsHexadecimal, 0, -1); $lastTimeChar = substr($timeAsHexadecimal, -1); $this->token = $lastTimeChar . $customerIp->getVersion() . $customerIp->tokenify() . $tokenChecksum . $firstTimeChars; }
/** * Create sha512 checksum for token * * @param SignOnMode $mode * @param Ip $customerIp * @param TokenExpiration $tokenExpiration * @param string $shopSalt * @param string $serverSalt */ public function __construct(SignOnMode $mode, Ip $customerIp, TokenExpiration $tokenExpiration, $shopSalt, $serverSalt) { $token = $shopSalt . $serverSalt . $tokenExpiration->asTimestamp() . $mode . $customerIp->tokenify(); if ($mode->isUser()) { $token .= ":" . self::ADMIN_ID_DEFAULT; } $this->tokenChecksum = hash('sha512', $token); }