Boto3 Python Cognito如何为用户的跟踪设备获取正确的IP

问题描述

我一直在尝试找出如何更新用户设备列表中用户的“最后IP”。这是到目前为止我尝试过的一些背景。

在我的Web客户端上(反应),我正在使用以下方法获取用户的编码上下文数据:

var encodedData = AmazonCognitoAdvancedSecurityData.getData(username,userPoolId,clientId);

我正在使用boto3调用admin_initiate_authadmin_respond_to_auth_challenge的python API服务器上处理身份验证,并使用权证构建我的SRP_A。通过这两个管理员调用,我将像这样设置上下文数据:

context_data = {
    "ServerName": request.base_url,"ServerPath": request.path,"HttpHeaders": headers,"IpAddress": user_ip,"EncodedData": fingerprint,# This is the encoded context data I am getting from the client
}

我将带有SSL的ALB,ACM证书与EC2实例一起使用,该实例上设置了弹性IP(出于测试原因)。 EC2服务器在运行我的flask应用程序的Nginx代理后面运行gunicorn。我可以从X-Forwarded-For获取用户的IP地址,但是当我检查该用户设备使用的最后一个IP时,它显示的是EC2实例的弹性IP地址。

我现在还不确定要尝试什么方法,我不想使用amplify处理身份验证,所以我希望有一种使用boto3进行身份验证的方法

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)