AWS Cognito的电子邮件忘记密码代码几乎立即过期。
创始人
2024-11-15 06:01:19
0次

在使用AWS Cognito时,可以通过设置密码重置代码的过期时间来解决电子邮件忘记密码代码几乎立即过期的问题。以下是一个示例代码,演示如何设置密码重置代码的过期时间为30分钟:

import boto3
from datetime import datetime, timedelta

def set_password_reset_code_expiration_time(user_pool_id, client_id, username):
    client = boto3.client('cognito-idp')

    # 计算过期时间(当前时间 + 30分钟)
    expiration_time = datetime.now() + timedelta(minutes=30)
    expiration_time_epoch = int(expiration_time.timestamp())

    # 设置密码重置代码的过期时间
    response = client.admin_create_user(
        UserPoolId=user_pool_id,
        Username=username,
        TemporaryPassword='TEMPORARY_PASSWORD',
        MessageAction='RESEND',
        ClientId=client_id,
        UserAttributes=[
            {
                'Name': 'custom:password_reset_code_expiration_time',
                'Value': str(expiration_time_epoch)
            }
        ]
    )

    print('密码重置代码的过期时间已设置为:', expiration_time)

# 示例用法
set_password_reset_code_expiration_time('your_user_pool_id', 'your_client_id', 'user@example.com')

在上述代码中,首先需要使用正确的user_pool_id和client_id进行AWS Cognito客户端的初始化。然后,通过调用admin_create_user方法来创建一个用户,并将密码重置代码的过期时间作为自定义用户属性custom:password_reset_code_expiration_time进行设置。在本例中,过期时间设置为当前时间加上30分钟。

请根据你的具体应用程序要求和AWS Cognito的配置来调整过期时间的值。

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...