如何在AWS Cognito中获取设备上次活动日期?

时间:2018-02-21 06:45:10

标签: amazon-web-services aws-cognito

我有一个Web应用程序,其中一个用户可以同时在许多设备中进行身份验证。每个设备每30秒将其地理位置坐标发送到AWS API网关(AWS lambda函数)。 lambda函数必须仅将设备的坐标保存到比其余设备更晚验证的设备。 lambda函数也必须忽略长时间没有活动的设备。

例如,用户有2个设备。如果用户在两天前在设备#1中进行了身份验证,并且用户在设备#2中进行了身份验证,那么lambda函数必须保存设备#2坐标。但是如果设备#2在3小时内没有活动(可能关闭此设备),则lambda必须保存设备#1坐标。

我尝试使用Cognito User Pool并启用"记住设备"选项: enter image description here

应用程序使用Cognito Federated Identity和Cognito User Pool Authentication提供程序登录。然后,每30秒应用程序向AWS API Gateway发送HTTP请求(使用AWS lambda函数)。申请通过" deviceKey"和" geoCoordinates" API方法的参数。 AWS lambda函数使用AdminListDevices方法为当前用户获取所有设备。然后,AWS lambda正在检查当前设备是否使用AdminListDevices响应中的DeviceLastAuthenticatedDate属性进行了上次身份验证。

问题是我不知道如何检查设备的上次活动日期(如果设备已关闭,则服务器没有HTTP请求,但Cognito会长时间记住此设备) 。也许我可以设定记住设备的一生?或者可能有一种方法来获取设备的最后活动日期?或者应用程序应该更改设备中的内容,Lambda将检查DeviceLastModifiedDate属性?

0 个答案:

没有答案