Крест отправлено с: https://github.com/aws-amplify/amplify-js/issues/4901
Мы создали пул пользователей и приложение в Cognito и подключили его к нашей AD через SAML. Конфиг работает, так как мы можем войти через размещенный пользовательский интерфейс. Затем я могу просмотреть запись пользователя, если я go для пользователей и групп в Cognito.
Если я тогда попытаюсь войти в систему с помощью Amplify SDK (код ниже), я получу NotAuthorizedException. В качестве теста я добавил пользователей через пользователей и группы и обновил клиентское приложение, указав также «Cognito User Pool». Войдите в систему через размещенный пользовательский интерфейс, чтобы установить пароль, а затем использовали тот же фрагмент кода для входа в систему, и все работало нормально, используя те же точные параметры для конфигурации auth. Таким образом, я получаю NotAuthorizedException только для пользователя, который помечен как EXTERNAL_PROVIDER в Cognito.
Пакеты:
"@aws-amplify/auth": "^2.1.3",
"@aws-amplify/core": "^2.2.2"
Код: (некоторые цифры отключены)
global.fetch = require('node-fetch')
const Amplify = require('@aws-amplify/core')
const Auth = require('@aws-amplify/auth');
Amplify.default.configure({
Auth: {
region: 'us-east-1',
userPoolId: 'us-east-1_s6bRXXXX',
userPoolWebClientId: '71dpfannjbht1qfhjvXXXXXX',
authenticationFlowType: 'USER_PASSWORD_AUTH' //Added this based on SO post but it didnt help
}
});
async function signin() {
try {
const user = await Auth.default.signIn("chananb+dev@gmail.com", "My_password");
console.log('user :', user);
} catch (error) {
console.log('error :', error);
}
}
signin();