войдите в систему со слабым и подтвердите запрос от Firebase Backend для углового приложения - PullRequest
0 голосов
/ 05 июля 2018

Я построил веб-приложение, используя угловой материал и функции Firebase + БД в реальном времени в качестве бэкэнда. Я использую слабый поток "Войти через Slack" API. Все работает хорошо, и я могу генерировать accessToken в бэкэнде, который я могу хранить против пользователя в БД в реальном времени. Как только это будет сделано, я сделаю перенаправление на мое угловое приложение на странице панели инструментов. В настоящее время я передаю идентификатор пользователя в URL-адресе перенаправления, который я использую, чтобы направить пользователя на панель мониторинга и показать его данные.

Это функционально работает нормально, но это большая проблема безопасности. Как я могу напрямую набрать URL перенаправления и бум. Я в приборной панели.

Итак, как мне это решить? Что я должен делать в перенаправлении URL-адреса, которое является безопасным и проверяет, является ли ответ результатом действительного запроса?

1 Ответ

0 голосов
/ 09 июля 2018

Я не знаком с Slack OAuth SDK, но в целом это верно для всех поставщиков OAuth. В идеале, в тот момент, когда вы перенаправляете свой URL обратного вызова с кодом авторизации Slack и обмениваете код авторизации на токен доступа Slack, прежде чем возвращать этот токен доступа клиенту, вы вызываете API Slack для получения идентификатора пользователя Slack с токен доступа, а затем чеканьте пользовательский токен Firebase с этим uid. Затем вы возвращаете этот пользовательский токен клиенту и signInWithCustomToken. Убедитесь, что вы проверяете поле state (которое вы задали при запуске входа в Slack) вместе с кодом авторизации, чтобы убедиться, что поток начался и закончился на том же устройстве.

...