Im Refresh_Token-Szenario (REFRESH_TOKEN_AUTH AuthFlow) scheint AWS Cognito API den Wert zu ignorieren, der für das Feld USERNAME übergeben wurde. Die Validierung scheint sich auf eine E-Mail-Regex-Analyse zu beschränken. d. h. API darf Zugriffstoken für jeden USERNAME wie z. B. [email protected] mit einem Aktualisierungs-Token von [email protected] abrufen.aws cognito Refresh-Token validiert den Benutzernamen nicht
Szenario: Login Cognito:
response = boto3_client.admin_initiate_auth(
UserPoolId=POOL_ID,
AuthFlow='ADMIN_NO_SRP_AUTH',
AuthParameters={
'USERNAME': username,
'PASSWORD': password,
},
ClientId=CLIENT_ID,
)
Refresh Anruf
Verwenden der Login-Antwort-Token aktualisieren, versuchen, eine Aktualisierung für einen anderen Benutzer, API kehrte nicht zurück einen Fehler.
response = boto3_client.admin_initiate_auth(
UserPoolId=POOL_ID,
AuthFlow='REFRESH_TOKEN_AUTH',
AuthParameters={
'USERNAME': username, #===== different user
'REFRESH_TOKEN': refresh_token,
},
ClientId=CLIENT_ID,
)
Wird dies in ADMIN_NO_SRP_AUTH Flow erwartet? oder ein Fehler in Cognito API?
Definitiv nicht erwartet. Wenn dies bestätigt wird, heben Sie ein Ticket für das AWS-Team an, da dies ein Sicherheitsproblem darstellt. – agent420