postgrest swagger -документация по настройке пользовательского интерфейса для всех таблиц и представлений без предоставления анонимному пользователю разрешений на выбор таблиц и представлений

#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. Не могли бы вы, пожалуйста, подробно объяснить, как настроить жестко запрограммированный токен.