AWS AppSync 不显示 Cognito 的自定义属性

问题描述 投票:0回答:1

使用 AppSync 解析器中的 Amplify 版本 5 即可实现:

"mydata": $util.toJson($context.identity.claims.get('custom:mydata')),

但是使用 Amplify 版本 6,我在以下位置看不到我的自定义:mydata:

 console.log(context.identity);

输出:

context: {
  identity: {
    claims: {
      origin_jti: '00449850...',
      sub: '31eed360-...',
      event_id: '5692337...',
      token_use: 'access',
      scope: 'aws.cognito.signin...',
      auth_time: 1714453811,
      iss: 'https://cognito-idp...',
      exp: 1714464611,
      iat: 1714453811,
      client_id: '976omhwqsu...',
      jti: '54u7d162...',
      username: 'myusername'
    },
    defaultAuthStrategy: 'ALLOW',
    groups: null,
    issuer: 'https://cognito-idp...',
    sourceIp: [ '120...' ],
    sub: '34end...',
    username: 'myusername'
  },
  ...
}

请问有什么建议吗?

amazon-cognito aws-amplify aws-appsync vtl
1个回答
0
投票

我变了

token_use: 'access' 

token_use: 'id'

更改示例:

const myTokenId = (await fetchAuthSession()).tokens?.idToken?.toString();
await client.graphql({ query: myQuery, variables: myVariables, authToken: myTokenId, authMode: 'userPool' });
© www.soinside.com 2019 - 2024. All rights reserved.