Как я могу проверить, используется ли маршрут / authentication? - PullRequest
0 голосов
/ 23 апреля 2020

Я создаю приложение Feathers JS с аутентификацией и авторизацией.
Я выполняю авторизацию вручную с помощью ловушек перед почти на каждом маршруте, кроме маршрута "/ authentication", потому что, конечно, вы хотите оставить этот маршрут незащищенным, поэтому каждый может аутентифицироваться / войти в систему.
Моя проблема в том, что когда я вызываю маршрут / authentication, он также вызывает маршрут / users, который защищен. Конечно, это проблема, которая часто возникает, потому что этот маршрут вызывается несколькими другими маршрутами, но я фильтрую эти вызовы в хуке авторизации с помощью

if(context.params.providers) {...}

Когда я вызываю маршрут / аутентификации, хук вызывается с помощью / users route и провайдер настроен, что не должно быть так, если я прав.
Есть ли способ отфильтровать этот / маршрут аутентификации?

1 Ответ

0 голосов
/ 23 апреля 2020

Текущий код аутентификации предполагает, что вы можете вызвать users get с внешним провайдером (главным образом, чтобы убедиться, что у пользователя, возвращенного клиенту, есть какие-либо хуки after, применяемые для фильтрации / удаления конфиденциальных данных.

Обратите внимание, что перья вызовов заставляют пользователя с набором провайдеров также включать пользователя в параметры, поэтому вы можете использовать этот пользовательский контекст для принятия решений об авторизации (например, позволить пользователю получить свою собственную запись пользователя) .

https://github.com/feathersjs/feathers/blob/master/packages/authentication/src/jwt.ts#L103

...