AWS JWT-Authorizer不支持“任何”受众。
创始人
2024-11-16 13:30:14
0

在AWS JWT-Authorizer中,确实不支持"任何"受众。受众(audience)是JWT令牌的一个属性,用于指定该令牌的接收者。AWS JWT-Authorizer只支持验证受众与当前API Gateway配置的受众匹配的JWT令牌。

如果你想要实现不限制受众的验证逻辑,可以使用自定义的Lambda授权函数来替代JWT-Authorizer。下面是一个示例代码,演示了如何使用自定义Lambda授权函数来验证JWT令牌的受众。

import json

def lambda_handler(event, context):
    # 获取JWT令牌
    token = event['authorizationToken']
    
    # 解码JWT令牌获取受众
    # 这里使用了一个假设的解码逻辑,实际上需要使用你选择的JWT库来解码JWT令牌
    decoded_token = decode_jwt(token)
    audience = decoded_token['aud']
    
    # 这里可以添加自定义的受众验证逻辑
    # 如果受众验证通过,返回allow策略;否则返回deny策略
    
    if audience == 'any':
        # 受众验证通过,返回allow策略
        return generate_policy('user', 'Allow', event['methodArn'])
    else:
        # 受众验证未通过,返回deny策略
        return generate_policy('user', 'Deny', event['methodArn'])

def decode_jwt(token):
    # 解码JWT令牌的逻辑
    # 这里使用了一个假设的解码逻辑,实际上需要使用你选择的JWT库来解码JWT令牌
    decoded_token = {
        'aud': 'any'  # 假设受众为"any"
    }
    return decoded_token

def generate_policy(principal_id, effect, resource):
    auth_response = {
        'principalId': principal_id,
        'policyDocument': {
            'Version': '2012-10-17',
            'Statement': [
                {
                    'Action': 'execute-api:Invoke',
                    'Effect': effect,
                    'Resource': resource
                }
            ]
        }
    }
    return auth_response

以上代码中,lambda_handler函数接收到API Gateway发送的事件,其中包含JWT令牌。你可以按照你选择的JWT库来解码JWT令牌,并获取受众。然后,你可以根据你的受众验证逻辑,返回相应的allow或deny策略。

这个自定义Lambda授权函数可以部署为API Gateway的授权函数,替代JWT-Authorizer。在API Gateway的配置中,将授权方式设置为"Lambda函数",并指定部署的这个Lambda函数。这样,API Gateway就会调用这个Lambda函数来验证JWT令牌,并根据返回的策略来授权访问。

相关内容

热门资讯

据统计!pokemomo辅助软... 据统计!pokemomo辅助软件,八张透视辅助,演示教程(有挂细节)1、全新机制【八张透视辅助ai辅...
明白辅助挂!红龙poker作弊... 明白辅助挂!红龙poker作弊指令,奇迹脚本辅助,大纲教程(有挂方针)1、游戏颠覆性的策略玩法,独创...
目前!德州圈脚本,德普之星辅助... 目前!德州圈脚本,德普之星辅助器,积累教程(真的有挂)1、操作简单,无需德普之星辅助器手机版透视脚本...
相较于以往!智星菠萝有挂吗,来... 相较于以往!智星菠萝有挂吗,来来拼十辅助免费辅助,方针教程(存在有挂)1、首先打开来来拼十辅助免费辅...
据通报!德扑之心免费透视,广东... 据通报!德扑之心免费透视,广东雀神挂机怎么样,步骤教程(有挂方略)1、该软件可以轻松地帮助玩家将广东...
有玩家发现!aapoker真的... 有玩家发现!aapoker真的假的,闲聚辅助器,绝活儿教程(讲解有挂)1)闲聚辅助器免费钻石:进一步...
方法辅助挂!德州局脚本,博雅红... 方法辅助挂!德州局脚本,博雅红河西元红河挂,方式教程(有挂讲解)1、博雅红河西元红河挂免费辅助多个强...
有玩家发现!扑克之星辅助,jj... 有玩家发现!扑克之星辅助,jj斗地主外卦,讲义教程(有挂分析)1、进入到jj斗地主外卦是否有挂之后,...
黑科技辅助挂!hhpoker辅... 黑科技辅助挂!hhpoker辅助,陕麻圈辅助开挂软件,妙招教程(有挂详情);1、下载好陕麻圈辅助开挂...
为切实保障!epoker透视底... 为切实保障!epoker透视底牌,哈局八张辅助,总结教程(有挂方略)1、该软件可以轻松地帮助玩家将哈...