AWS Cognito AdminInitiateAuth все пользовательские области отсутствуют - PullRequest
0 голосов
/ 26 января 2020

У меня есть пул пользователей Cognito, настроенный с помощью AWS :: Cognito :: UserPoolResourceServer со списками областей, все эти области включены в UserPoolClient-> AllowedOAuthScopes. Когда я go через аутентификацию пользовательского интерфейса, токен содержит список областей действия

 "scope": "aws.cognito.signin.user.admin labs-mymoney-bills-api/view labs-mymoney-bills-api/edit openid profile labs-mymoney-bills-api/pay email",

для целей тестирования. Я использую adminInitiateAuth для получения токена со следующими параметрами

  var authParams = {
        AuthFlow: 'ADMIN_USER_PASSWORD_AUTH',
        ClientId: 'myclientid',
        UserPoolId: 'myuserpool',
        AuthParameters: {
            USERNAME: 'myuser',
            PASSWORD: 'herpassword'
        }

    };

Результат Область видимости токена выглядит так:

"scope": "aws.cognito.signin.user.admin",

Очевидно, что когда я пытаюсь аутентифицироваться с моей конечной точкой API, которая определила область действия, она всегда неавторизована.

Это ошибка, или я делаю что-то не так, или у меня нереалистичные c ожидания?

Спасибо

1 Ответ

1 голос
/ 27 января 2020

Я считаю, что это не ошибка, и это по замыслу. Пользовательские области Cognito будут возвращены только при аутентификации через конечные точки Oauth. При создании домена Cognito Cognito создаст сервер размещенного пользовательского интерфейса / авторизации, который предоставляет конечные точки Oauth. Вход в систему через эти конечные точки вернет пользовательские области в токене доступа при правильной настройке.

Вход в систему через initiate Auth или admin init admin инициирует не через конечные точки Oauth, поэтому пользовательские области Oauth не будут включены в токен.

Надеюсь, это поможет. Вы можете проверить это, настроив HostedUI и войдя в систему. Полученный токен должен содержать области действия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...