AWSLambda/APIGateway上的TwitterCRCChallenge无法工作。
创始人
2024-11-19 09:00:46
0
  1. 在AWS Lambda函数中安装twython和crcmod依赖。
  2. 在AWS Lambda函数中的代码中包含Twitter CRC Challenge验证代码。
  3. 在AWS API Gateway中创建资源/verify接收POST请求并将其映射到AWS Lambda函数。
  4. 在Twitter开发者门户中,将Webhooks配置的CRC验证URL设置为API Gateway资源的URL。
  5. 在AWS API Gateway中,启用缓存(至少30秒)并缓存HTTP头(以包括X-Twitter-Webhooks-Signature)。 以下是一个示例Lambda函数代码,其中包含Twitter CRC Challenge验证代码的实现:
import os
import hmac
import hashlib
import base64
import twython
import crcmod.predefined

CONSUMER_SECRET = os.environ['TWITTER_CONSUMER_SECRET']

def lambda_handler(event, context):
    if event['httpMethod'] == 'POST':
        body = str(event['body'])
        crc_token = None
        for key, value in event['headers'].items():
            if key.lower() == 'x-twitter-webhooks-signature':
                crc_token = value
                break
        if crc_token is not None:
            crc_token = crc_token.replace('sha256=', '')
            crc_digest = hmac.new(
                key=CONSUMER_SECRET.encode(),
                msg=body.encode(),
                digestmod=hashlib.sha256
            ).digest()
            crc_digest_b64 = base64.b64encode(crc_digest).decode()
            if crc_token == crc_digest_b64:
                return {
                    'statusCode': 200,
                    'body': 'CRC token validation successfully completed.'
                }
    return {
        'statusCode': 400,
        'body': 'Invalid request.'
    }

以下是一个示例API Gateway映射模板:

{
    "body": $input.json('$'),
    "headers": {
        #foreach($header in $input.params().header.keySet())
        "$header": "$input.params().header.get($header)"
        #if($foreach.hasNext),#end
        #end
    },
    "httpMethod": "$context.httpMethod",
    "path": "$context.resourcePath",

相关内容

热门资讯

经调查!德普之星辅助器!其实是... 经调查!德普之星辅助器!其实是有辅助修改器(有挂讲解)-哔哩哔哩1、这是跨平台的德普之星辅助器轻量版...
连日来!衡阳丫丫辅助!原来真的... 连日来!衡阳丫丫辅助!原来真的有辅助脚本(有挂详情)-哔哩哔哩1、完成衡阳丫丫辅助辅助器v3.3的残...
针对!都莱软件安装辅助!一直是... 针对!都莱软件安装辅助!一直是有辅助安装(有挂细节)-哔哩哔哩都莱软件安装辅助脚本下载中分为三种模型...
近年来!激k辅助器是真的吗!确... 近年来!激k辅助器是真的吗!确实真的是有辅助脚本(确实有挂)-哔哩哔哩1、很好的工具软件,可以解锁游...
据文件显示!粤友会辅助器下载教... 据文件显示!粤友会辅助器下载教程!一贯真的是有辅助安装(有挂解惑)-哔哩哔哩1、任何粤友会辅助器下载...
据悉!开心泉州小程序辅助哪里查... 据悉!开心泉州小程序辅助哪里查看!果然有挂辅助脚本(有挂解密)-哔哩哔哩1、开心泉州小程序辅助哪里查...
今日!随意玩最新跳转链接有辅助... 今日!随意玩最新跳转链接有辅助吗!原来真的是有辅助app(有挂实锤)-哔哩哔哩随意玩最新跳转链接有辅...
现有说明如下!皮皮跑子胡子修改... 现有说明如下!皮皮跑子胡子修改器!切实有挂辅助修改器(果真有挂)-哔哩哔哩1、皮皮跑子胡子修改器免费...
刚刚!微乐河南家乡麻将辅助脚本... 刚刚!微乐河南家乡麻将辅助脚本!一直真的是有辅助挂(有挂秘诀)-哔哩哔哩1、每一步都需要思考,不同水...
据公告内容!开心泉州小程序工具... 据公告内容!开心泉州小程序工具!总是是真的辅助软件(有挂教程)-哔哩哔哩1、游戏颠覆性的策略玩法,独...