Как аутентифицировать пользователя в пользовательском авторизаторе AWS?

Я пытаюсь использовать пользовательский авторизатор AWS в шлюзе API. Если я правильно понял, то я должен аутентифицировать пользователя в пользовательском авторизаторе. Я не знаю, кто отправляет запрос. Я должен обнаружить пользователя по токену, используя свои собственные сервисы. Верно?


person Ildar    schedule 24.07.2017    source источник


Ответы (2)


Доступно несколько вариантов авторизации

  • Авторизатор IAM
  • Когнито-авторизатор
  • Пользовательский авторизатор

Если вы используете выданный STS токен для предоставления доступа к своим ресурсам AWS, вы можете использовать IAM.

Точно так же авторизатор Cognito должен аутентифицировать токен идентификатора Cognito Userpools.

Если у вас есть собственная схема аутентификации или вам нужно настроить механизм аутентификации, вы можете использовать Пользовательский авторизатор.

person Ashan    schedule 24.07.2017

Просто хотел добавить сюда свои 2 цента, вот поток:

  1. Как только токен-носитель (вы также можете использовать JWT) выдается клиенту (т. е. мобильному приложению/веб-приложению), клиент вызывает REST API, созданный, настроенный и развернутый через API Gateway.

  2. Пользовательский авторизатор, представляющий собой лямбда-функцию, написанную на Java (вы можете реализовать ее с помощью NodeJS, C#, Python), должен будет проверить, действителен ли токен носителя. В моем случае токен Bearer хэшируется с использованием алгоритма SHA-512. Таким образом, мы в основном совпадаем, если токен, хранящийся в БД, и токен, представленный клиентом, совпадают.

  3. Если токен совпадает, пользовательский авторизатор возвращает политику IAM «Разрешить», но этот токен неверен, тогда он возвращает политику IAM «Отклонить».

Шлюз API реагирует на основе ответа от пользовательского авторизатора, если политика разрешает ему прохождение вызова к серверной части, иначе он вернет HTTP-код 403.

Надеюсь, это поможет.

person Sagar Jani    schedule 16.10.2017