无法验证Line Bot(Python)的X-Line签名

无法验证Line Bot(Python)的X-Line签名,python,aws-lambda,Python,Aws Lambda,我正在尝试使用AWSAPI网关和AWS Lambda作为webhook实现一个LINE bot。我能够成功连接webhook。现在,我试图验证来自行请求头的X-Line签名,但我无法这样做 这是我的密码: def lambda_handler(event, context): channel_secret = 'XXXXXXXXXXXX' headers = event['headers'] header_signature = headers['X-Line-Sig

我正在尝试使用AWSAPI网关和AWS Lambda作为webhook实现一个LINE bot。我能够成功连接webhook。现在,我试图验证来自行请求头的X-Line签名,但我无法这样做

这是我的密码:

def lambda_handler(event, context):

    channel_secret = 'XXXXXXXXXXXX'

    headers = event['headers']
    header_signature = headers['X-Line-Signature']

    body = json.dumps(event['body'])

    hash = hmac.new(
        channel_secret.encode('utf-8'),
        body.encode('utf-8'),
        hashlib.sha256
        ).digest()

    signature = base64.b64encode(hash)

    print (header_signature, signature)
我好像找不到匹配的签名

我还尝试使用line-bot python sdk包,但没有成功(取自此链接:[]):

任何帮助或建议都将不胜感激

def lambda_handler(event, context):

    from linebot import WebhookHandler
    from linebot.exceptions import InvalidSignatureError
    handler = WebhookHandler('XXXXXXXXXXXXXXXXXX')

    headers = event['headers']
    header_signature = headers['X-Line-Signature']

    body = json.dumps(event['body'])

    try:
        handler.handle(body, header_signature)
        print('Succeeded')
    except InvalidSignatureError:
        print('Signature Failed')