#amazon-web-services #authentication #amazon-cognito #access-token #saml
Вопрос:
Я использую AWS Cognito для аутентификации, и я настроил обычную регистрацию/вход и регистрацию / вход SAML в своей системе.
Теперь мне нужен новый способ аутентификации пользователей в моей системе через внешнюю систему. Это должно работать так:
- Чтобы проверить, разрешено ли пользователю входить/подключаться в моей системе, мне нужно будет вызвать внешнюю конечную точку (конечную точку другого приложения). И если в нем говорится, что пользователь аутентифицирован в своей системе, пользователь должен иметь возможность зарегистрироваться и войти в мою систему.
- И нет, во внешней системе нет настройки единого входа, которую я мог бы использовать для настройки Cognito
Первоначально я планировал просто зарегистрироваться и войти в систему пользователей с правами администратора в cognito (после того, как я получу ответ » ок » от внешней конечной точки) и сгенерировать доступ таким образом, но я не смог найти это возможным после просмотра документов Cognito.
Есть ли какой-либо способ, которым я мог бы заставить эту аутентификацию через внешнюю систему работать с настройкой единого входа?
Комментарии:
1. вы можете использовать клиентскую библиотеку AWS Cognito для интеграции Cognito по своему усмотрению.
Ответ №1:
Это возможно, но это будет зависеть от:
- пользователь, предоставляющий вам идентификатор пользователя, который он использует во внешней системе
- внешняя система предоставляет конечную точку вашей системе, т. е., скорее всего, только тогда, когда вашей системе выданы и используются какие-либо учетные данные
Другими словами: для этого потребуется нестандартный вызов, который зависит от установленных отношений и соглашения между двумя системами, что на самом деле не масштабируется и вряд ли произойдет.
Перенаправление пользователя через конечную точку единого входа с «тихим» входом — см., например https://auth0.com/docs/authorization/configure-silent-authentication — это еще один вариант, который вы можете рассмотреть, который не имеет вышеупомянутых недостатков.
Комментарии:
1. Спасибо @Hans . Итак, я не могу сделать это без того, чтобы внешняя система не установила свою систему единого входа?
2. Роль внешней системы заключается только в том, чтобы выполнять роль когнито. Они аутентифицируют пользователя и могут получить доступ к системе. Но мне нужно зарегистрировать пользователя в моем cognito, в первый раз, когда внешняя система говорит, что пользователь аутентифицирован. Потому что пользователю должно быть разрешено входить в систему как с помощью cognito, так и с помощью внешней системы.