Аутентифицируйте woocommerce webhook, используя python (фреймворк web2py)

Я ищу документацию о том, как аутентифицировать запросы веб-хуков. Официальная документация просто описывает процесс без необходимых подробностей, и все мои тесты провалились на данный момент.

По сути, это код, который я реализовал на данный момент, но я не уверен, что "полезная нагрузка", рассматриваемая в тесте на кодирование, является правильной. Я использовал тело запроса, отделенное от информации заголовка.

import hmac, hashlib, base64

class AuthenticationError(Exception):
    """ """

class WooHook(object):
    """docstring for WooHook."""

    @staticmethod
    def _auth_method_1_(body, signature, secret):
        _secret = secret.encode('utf-8')
        _body = body.encode('utf-8')
        dig = hmac.new(secret, msg=_body, digestmod=hashlib.sha256).digest()
        decoded = base64.b64encode(dig).decode('utf-8')
        return (signature == decoded, decoded,)

    @classmethod
    def check(cls, *args, **kwargs):
        check, result = cls._auth_method_1_(*args, **kwargs)
        if not check:
            raise AuthenticationError(result)

0 ответов

Другие вопросы по тегам