使用 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'
},
...
}
请问有什么建议吗?
我变了
token_use: 'access'
由
token_use: 'id'
更改示例:
const myTokenId = (await fetchAuthSession()).tokens?.idToken?.toString();
await client.graphql({ query: myQuery, variables: myVariables, authToken: myTokenId, authMode: 'userPool' });