#postgresql #swagger #swagger-ui #swagger-2.0 #postgrest
#postgresql #развязность #swagger-пользовательский интерфейс #swagger-2.0 #постгрест
Вопрос:
У меня есть база данных Postgres, где у нас есть несколько таблиц и представлений. Я выполнил настройку Postgrest, чтобы предоставить его приложению. Наряду с API Postgrest у меня также есть swagger, который работает нормально.
Теперь в postgrest API у нас есть PGRST_DB_ANON_ROLE обязательная переменная env, которая в основном работает для анонимного пользователя. Теперь пользовательский интерфейс swagger показывает только таблицы и представления, в которых анонимный пользователь имеет разрешение на выбор таблиц / представлений.
Я также внедрил аутентификацию на основе токенов. Я хочу, чтобы данные были защищены, и чтение также должно быть ограничено анонимным пользователем.
Случай 1 — я дал разрешение на использование схемы анонимному пользователю. (нет разрешения выбора для таблиц / представлений) Результат — пользовательский интерфейс Swagger не показывает конечные точки для таблиц / представлений
Случай 2 — я предоставил разрешение на использование схемы анонимному пользователю, а также выбрал разрешение для таблиц / представлений. Результат — пользовательский интерфейс Swagger показывает конечные точки, но теперь чтение конечных точек работает без какой-либо аутентификации (токена).
Я хочу показать конечную точку tables / views в swagger, но доступ к конечной точке чтения также должен быть доступен с помощью токена аутентификации.
Комментарии:
1. Это нерешенная проблема в postgrest: github.com/PostgREST/postgrest/issues/1449 . Обходной путь заключается в добавлении жестко закодированного токена только для корневой конечной точки с обратным прокси (например, Nginx).
2. Спасибо @SteveChavez, я прошел через эту проблему с git. Не могли бы вы, пожалуйста, подробно объяснить, как настроить жестко запрограммированный токен.