Mailgun\Lists\OptInHandler::validateHash PHP Метод

validateHash() публичный Метод

public validateHash ( string $secretAppId, string $uniqueHash ) : array | boolean
$secretAppId string
$uniqueHash string
Результат array | boolean
    public function validateHash($secretAppId, $uniqueHash)
    {
        $decodedOuterPayload = json_decode(base64_decode(urldecode($uniqueHash)), true);
        $decodedHash = $decodedOuterPayload['h'];
        $innerPayload = $decodedOuterPayload['p'];
        $decodedInnerPayload = json_decode(base64_decode($innerPayload), true);
        $computedInnerHash = hash_hmac('sha1', $innerPayload, $secretAppId);
        if ($computedInnerHash == $decodedHash) {
            return ['recipientAddress' => $decodedInnerPayload['r'], 'mailingList' => $decodedInnerPayload['l']];
        }
        return false;
    }