Ограничить использование приложения Heroku Аутентификацией? - PullRequest
0 голосов
/ 20 сентября 2018

Я разработал свое приложение Heroku, которое предоставляет только API (без пользовательского интерфейса), и оно отлично работает.Но как я могу ограничить API только для определенных авторизованных / аутентифицированных пользователей?

Мне абсолютно необходим уровень аутентификации для защиты API приложений и предотвращения несанкционированного доступа.Этакий login(user, psw) вызов для использования до того, как внешняя система может начать вызывать мой API.

Но я не нахожу никаких ссылок в документах, он только говорит, что это основные рекомендации по безопасности:

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 20 сентября 2018

Вы можете реализовать всю логику аутентификации прямо в вашем приложении.В качестве альтернативы, посмотрите Auth0 , который в основном предоставляет вам аутентификацию и управление идентификацией как сервис.Вы можете легко добавить Auth0 в свое приложение Heroku в качестве бесплатного дополнения на торговой площадке Heroku Elements .

У них есть много различных вариантов использования и связанных с ними пошаговых переходов, и они предлагают очень щедрый бесплатный уровень.

Исходя из ваших требований, звучит так, что вы, возможно, захотите посмотреть Auth0 Приложений между компьютерами с использованием OAuth2 Client Credentials Grant .При этом вашей внешней системе (системам) в основном нужно будет проходить аутентификацию с Auth0, используя Client Id и Client Secret (которые вы можете сгенерировать в Auth0 и предоставить им).Затем они получат доступ к вашему API с помощью JWT , который вы можете легко проверить в своем приложении (Auth0 предоставит вам сгенерированный код на многих разных языках, чтобы вы могли сделать это очень легко).Ваш API затем отклонит запросы без действительного JWT (отправив ответ «401 Unauthorized»).

Поначалу это может показаться немного пугающим, но действительно стоит пройти через соответствующий «быстрый запуск» Auth0.Они действительно стараются изо всех сил, чтобы сделать это как можно проще!

0 голосов
/ 20 сентября 2018

Это то, что вам нужно реализовать на уровне приложений, а не то, что предлагает Heroku.В самом простом случае вы могли бы реализовать базовую аутентификацию в своем приложении, чтобы пользователь передавал их со своим запросом, более сложное решение включало бы учетные записи пользователей, oauth и т. Д. И т. Д.

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