У меня есть приложение SinglePageApplication, написанное на HTML5, Javascript и jQuery. В настоящее время с ним вообще не связана никакая внутренняя обработка - все на стороне клиента. Я размещаю его на уровне бесплатного пользования Google App Engine.
Я хочу добавить к этому некоторую безопасность, чтобы только известные пользователи могли получить доступ к приложению. Есть ли стандартный способ Google сделать это? Или любой другой стандарт?
Ответ, скорее всего, будет зависеть от того, как вы хотите аутентифицировать пользователей. Пара вариантов:
Настройте Прокси-сервер с поддержкой Cloud Identity перед своим приложением, это действительно быстро и легко. Вам потребуется, чтобы у каждого человека была учетная запись Google, которую вы добавите в настройки прокси в консоли.
Пользователям будет предложено указать, какую учетную запись Google использовать для разрешить доступ:
Если пользователя нет в списке разрешенных, он увидит что-то вроде:
Если вы доверяете своим пользователям, вы можете добавить их в проект консоли GCP с разрешениями viewer
, а затем использовать обработчик login: admin
в своем обработчике app.yaml
. Эти пользователи не смогут изменять ваш проект, но смогут просматривать ресурсы в нем, так что будьте осторожны.
Встраивайте удостоверение в свое приложение напрямую с помощью Проверка подлинности Firebase, который обрабатывается на стороне клиента, если вам не нужны долгоживущие токены доступа / обновления. У него есть бонус в виде поддержки ряда поставщиков удостоверений (Facebook, Twitter и т. д.), Но он требует больше работы. Можно рассмотреть это в зависимости от того, где вы ожидаете, что ваше приложение будет развиваться в будущем.
Используйте другие инструменты с открытым исходным кодом для реализации системы идентификации / аутентификации.
4. Используйте различные доступные инструменты с открытым исходным кодом для реализации входа в систему oauth2. Вот один пример: github.com/authomatic/authomatic
спасибо за такой подробный ответ - он не только дает мне несколько вариантов, но и дает мне возможность перехода с альфа-версии на бета-версию :)