У меня есть веб-приложение JavaScript, которое поддерживает неподтвержденные идентификаторы Cognito. Я пытаюсь выяснить, как идентифицировать связанный аутентифицированный IdentityId для DISABLED
неаутентифицированного IdentityId.
Первым пользователям, не прошедшим проверку подлинности, выдается IdentityId через AWS.config.credentials.get
. Internal CognitoIdentityCredentials
использует getId для создания нового не прошедшего проверку подлинности IdentityId.
let unathenticatedIdentityId;
const AWS = require('aws-sdk');
AWS.config.region = region;
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
IdentityPoolId
});
AWS.config.credentials.get(err => {
unathenticatedIdentityId = AWS.config.credentials.identityId;
});
Затем наш пользователь аутентифицируется в пул пользователей Cognito через amazon-cognito-identity-js
, а неаутентифицированный IdentityId изменяет аутентифицированный IdentityId, связанный с их входом в Cognito. Неаутентифицированный IdentityId автоматически помечен DISABLED
и внутренне связан с аутентифицированным IdentityId.
let authenticatedIdentityId;
const { CognitoUserPool, CognitoUser, AuthenticationDetails } = require('amazon-cognito-identity-js');
const Pool = new CognitoUserPool({
UserPoolId,
ClientId,
});
const authDetails = new AuthenticationDetails({
Username,
Password,
});
const user = new CognitoUser({
Pool,
Username,
});
user.authenticateUser(authDetails, {
onSuccess: (session) => {
AWS.config.credentials.params.Logins = {
[PoolProviderName]: session.idToken.jwtToken,
};
AWS.config.credentials.expired = true;
AWS.config.credentials.refresh(err => {
authenticatedIdentityId = AWS.config.credentials.identityId;
});
},
});
У меня есть значение для unathenticatedIdentityId
и authenticatedIdentityId
, но я не вижу способа в API AWS Cognito, чтобы решить, что DISABLED
unauthenticatedIdentityId
связан с authenticatedIdentityId
. И наоборот, я не вижу способа определить, какие идентификаторы были связаны с authenticatedIdentityId
. describeIdentity API скажет мне, что unauthenticatedIdentityId
есть DISABLED
и что у него нет Logins
, но он не указывает на связанный authenticatedIdentityId
.
Как я могу с только указать значение связанного/отключенного unauthenticatedIdentityId
, разрешить значение authenticatedIdentityId
?