在AWS Lambda中设置CORS响应并进行自定义JWT授权可以按照以下步骤进行操作:
import jwt
import json
def lambda_handler(event, context):
# 检查JWT授权
jwt_token = event['headers']['Authorization']
try:
jwt.decode(jwt_token, 'your_secret_key', algorithms=['HS256'])
except jwt.exceptions.DecodeError:
return {
'statusCode': 401,
'body': json.dumps('Unauthorized')
}
# 设置CORS响应头
response = {
'statusCode': 200,
'headers': {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Credentials': True
},
'body': json.dumps('Hello, world!')
}
return response
创建一个API网关(AWS API Gateway)并将其与Lambda函数关联。
设置API网关的CORS配置:
部署API网关:
现在,你可以使用JWT令牌进行请求,并获取带有CORS头的响应。