Python 注销时使AWS Cognoto令牌无效
我正在使用Python后端构建Swift应用程序,我想使用AWS Cognoto进行身份验证和注册流 目前,我正在使用以下代码登录Python 注销时使AWS Cognoto令牌无效,python,swift,authentication,amazon-cognito,aws-cognito,Python,Swift,Authentication,Amazon Cognito,Aws Cognito,我正在使用Python后端构建Swift应用程序,我想使用AWS Cognoto进行身份验证和注册流 目前,我正在使用以下代码登录 let user=pool?.getUser(电子邮件) 用户?.getSession(电子邮件、密码:密码、验证数据:无) .continueWith{task in in //处理错误/成功 归零 } 池在上面使用self.Pool=AWSCognitoIdentityUserPool.default()调用进行初始化 在应用程序启动时,我正在检查用户是否经过
let user=pool?.getUser(电子邮件)
用户?.getSession(电子邮件、密码:密码、验证数据:无)
.continueWith{task in in
//处理错误/成功
归零
}
池在上面使用self.Pool=AWSCognitoIdentityUserPool.default()
调用进行初始化
在应用程序启动时,我正在检查用户是否经过身份验证,并获取其访问令牌:
如果AWSSignInManager.sharedInstance().isLoggedIn{
如果let user=pool?.currentUser(){
user.getSession()
.continueWith{task in in
令牌=任务.result?.accessToken?.tokenString
归零
}
}
}
我正在将这个令牌传递到后端。在后端,我通过Python授权库获取用户数据:
来自进口许可证Cognito
u=Cognito(“id”,“key”,user\u pool\u region=“us-east-1”)
u、 访问令牌=“令牌”
res=u.get\u user(attr\u map={“sub”:“user\u id”,“email”:“email”})
若令牌有效,我将获取用户的数据,否则将引发异常。但在客户端注销后,此令牌仍然有效。我正在使用以下注销代码:
AWSSignInManager.sharedInstance().logout{(结果:Any?,错误?)在中
//处理结果
}
我知道,这个令牌将在超时后过期,并且不会被刷新,因为在下一次登录时,用户将获得另一个ACCES/refresh tokens对,但我想在注销时立即使令牌失效,可能吗?或者我不理解Cognito,并且没有正确地使用它?在浏览github和AWS论坛之后,我找到了chris radek对这个问题的(半)答案,他是AWS sdk for js的贡献者 以下是讨论: 如果你不想全部阅读,chris说,基本上,代币的标准有效期为一小时,但是 通过修改某个参数,可以将其减少到最小值 15分钟。但是,您不能立即使令牌失效 签出 下面是描述如何缩短时间的javascript文档: AWS关于该主题的文档: 以下是可以在python中调用的匹配函数:
这是可以更改令牌持续时间的地方 在浏览了github和AWS论坛之后,我找到了一个(半)答案,作者是AWS sdk for js的贡献者chris radek 以下是讨论: 如果你不想全部阅读,chris说,基本上,代币的标准有效期为一小时,但是 通过修改某个参数,可以将其减少到最小值 15分钟。但是,您不能立即使令牌失效 签出 下面是描述如何缩短时间的javascript文档: AWS关于该主题的文档: 以下是可以在python中调用的匹配函数:
这是可以更改令牌持续时间的地方 谢谢,我认为答案会是那样的,但我希望会有一些解决方案谢谢,我认为答案会是那样的,但我希望会有一些解决方案