相关疑难解决方法(0)

如何使用 boto3 为 AWS Cognito 创建 SECRET_HASH?

我想使用 boto3 和 python 为 AWS Cognito 创建/计算 SECRET_HASH。这将被纳入我的手令

我将我的 Cognito 应用程序客户端配置为使用app client secret. 但是,这破坏了以下代码。

def renew_access_token(self):
    """
    Sets a new access token on the User using the refresh token.

    NOTE:
    Does not work if "App client secret" is enabled. 'SECRET_HASH' is needed in AuthParameters.
    'SECRET_HASH' requires HMAC calculations.

    Does not work if "Device Tracking" is turned on.
    /sf/answers/2861304841/

    'DEVICE_KEY' is needed in AuthParameters. See AuthParameters section.
    https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_InitiateAuth.html
    """
    refresh_response = self.client.initiate_auth(
        ClientId=self.client_id,
        AuthFlow='REFRESH_TOKEN',
        AuthParameters={
            'REFRESH_TOKEN': …
Run Code Online (Sandbox Code Playgroud)

python hmac amazon-web-services amazon-cognito boto3

7
推荐指数
1
解决办法
6251
查看次数

AWS Cognito强制刷新会话

当我尝试刷新会话令牌(Access,Id,Refresh)时,我遇到了一些问题.我已经阅读了这个问题,答案帮助我理解了一些问题.但我觉得我想做的事情并不完全getSession是为了什么.

我正在尝试实现会话到期消息(完成),允许用户扩展其会话(刷新令牌).根据我收集的内容getSession(),它返回旧令牌(如果它们仍然有效)或新令牌(如果它们无效).如果我错了,请纠正我.

我试图在每次单击扩展会话时为用户提供新的/刷新的令牌.出于开发目的,我有一个按钮,然后使用扩展会话按钮显示消息.我打电话时收到的令牌getSession()是旧的,但我希望它们是新的.

所以基本上,使旧会话无效并给它们一个新会话.

我的问题是:

  1. getSession()如前所述,我是否缺少一些理解?
  2. 我可以为用户提供新的会话令牌(Access,Id,Refresh)吗?
  3. 我可以在没有用户再次登录的情况下执行#2吗?

谢谢.

编辑1:知道我没有使用任何联合身份可能会有所帮助.

javascript amazon-web-services aws-sdk aws-cognito

3
推荐指数
1
解决办法
4271
查看次数