Я думаю, что каждый пользователь мог бы подделать, имея любое имя пользователя, которое он хочет. Вероятно, не очень плохо для имен пользователей, но становится довольно опасным, если вы используете сабвуферы для контроля доступа.

Sync, когда вы используете Cognito User Pools в качестве своей аутентификации, устанавливая свою личность, вы получаете

identity: 
   { sub: 'bcb5cd53-315a-40df-a41b-1db02a4c1bd9',
     issuer: 'https://cognito-idp.us-west-2.amazonaws.com/us-west-2_oicu812',
     username: 'skillet',
     claims: 
      { sub: 'bcb5cd53-315a-40df-a41b-1db02a4c1bd9',
        aud: '7re1oap5fhm3ngpje9r81vgpoe',
        email_verified: true,
        event_id: 'bb65ba5d-4689-11e8-bee7-2d0da8da81ab',
        token_use: 'id',
        auth_time: 1524441800,
        iss: 'https://cognito-idp.us-west-2.amazonaws.com/us-west-2_oicu812',
        'cognito:username': 'skillet',
        exp: 1524459387,
        iat: 1524455787,
        email: '[email protected]' },
     sourceIp: [ '11.222.33.200' ],
     defaultAuthStrategy: 'ALLOW',
     groups: null }

Однако, когда вы используете AWS_IAM auth, вы получаете

identity:
{ accountId: '12121212121', //<--- my amazon account ID
  cognitoIdentityPoolId: 'us-west-2:39b1f3e4-330e-40f6-b738-266682302b59',
  cognitoIdentityId: 'us-west-2:a458498b-b1ac-46c1-9c5e-bf932bad0d95',
  sourceIp: [ '33.222.11.200' ],
  username: 'AROAJGBZT5A433EVW6O3Q:CognitoIdentityCredentials',
  userArn: 'arn:aws:sts::454227793445:assumed-role/MEMORYCARDS-CognitoAuthorizedRole-dev/CognitoIdentityCredentials',
  cognitoIdentityAuthType: 'authenticated',
  cognitoIdentityAuthProvider: '"cognito-idp.us-west-2.amazonaws.com/us-west-2_HighBob","cognito-idp.us-west-2.amazonaws.com/us-west-2_HighBob:CognitoSignIn:1a072f08-5c61-4c89-807e-417d22702eb7"' }

Документы говорят, что это ожидается,https://docs.aws.amazon.com/appsync/latest/devguide/resolver-context-reference.html , Тем не менее, если вы используетеAWS_IAM подключен к Cognito (который необходим для доступа без аутентификации), как вы можете получить имя пользователя, адрес электронной почты, саб и т. д.? Мне нужен доступ к претензиям пользователя при использованииAWS_IAM введите Auth.

Ответы на вопрос(1)

Ваш ответ на вопрос