在 AWS 管理控制台中创建 Cognito 用户池,并配置其配置文件。
创建一个名为“AWSCognitoIdentityProvider”(或任何您选择的名称)的脚本文件,并将以下代码添加到文件中:
import boto3 import json
def get_dynamodb_token(USER_POOL_ID, CLIENT_ID, USERNAME, PASSWORD): client = boto3.client('cognito-idp') resp = client.initiate_auth( AuthFlow='USER_PASSWORD_AUTH', AuthParameters={ 'USERNAME': USERNAME, 'PASSWORD': PASSWORD, }, ClientId=CLIENT_ID, ) access_token = resp.get('AuthenticationResult', {}).get('AccessToken', '') resp = client.admin_initiate_auth( UserPoolId=USER_POOL_ID, ClientId=CLIENT_ID, AuthFlow='ADMIN_NO_SRP_AUTH', AuthParameters={ 'USERNAME': USERNAME, 'SECRET_HASH': client.admin_user_global_sign_out( UserPoolId=USER_POOL_ID, Username=USERNAME, ) }, ) id_token = resp.get('AuthenticationResult', {}).get('IdToken', '') return (access_token, id_token)
USER_POOL_ID = 'your_user_pool_id' CLIENT_ID = 'your_client_id' USERNAME = 'your_username' PASSWORD = 'your_password' access_token, id_token = get_dynamodb_token(USER_POOL_ID, CLIENT_ID, USERNAME, PASSWORD)