Не удается войти в провайдера AD (SAML) через aws -amplify sdk - PullRequest
0 голосов
/ 19 февраля 2020

Крест отправлено с: 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();
...