Как получить доступ к общедоступному API в hasura

Я использую док-контейнер с admin secret. На изображении ниже вы можете увидеть роли под окном разрешений. введите описание изображения здесь

Для таблицы category я установил роль public для параметра SELECT, и для этой роли нет ограничений на доступ к любому запросу.

введите описание изображения здесь

Но моя проблема в том, что я не могу получить доступ к запросу, используя роль public, запрос механизма hasura admin-secret. см. изображение ниже. Как я могу получить доступ к этому API, не вводя учетные данные администратора? введите описание изображения здесь


person Akash    schedule 01.07.2020    source источник
comment
Вы установили для HASURA_GRAPHQL_UNAUTHORIZED_ROLE значение public или использовали флаг --unauthorized-role = public в команде запуска?   -  person avimoondra    schedule 01.07.2020
comment
@avimoondra Я не устанавливал это при запуске   -  person Akash    schedule 01.07.2020
comment
Вероятно, в этом проблема! Похоже, вы работаете в режиме JWT и не прошли авторизацию: заголовок Bearer ‹JWT›.   -  person avimoondra    schedule 01.07.2020


Ответы (1)


Соответствующие документы: https://hasura.io/docs/1.0/graphql/manual/auth/authentication/unauthenticated-access.html#unauthenticated-public-access

Если вы используете аутентификацию на основе веб-перехватчика, для неаутентифицированного доступа вы можете вернуть 200 ответ статуса с вашей определенной неаутентифицированной ролью, например: { "x-hasura-role": "<anonymous-role>" }.

Если вы используете аутентификацию на основе jwt, вы можете использовать переменную env HASURA_GRAPHQL_UNAUTHORIZED_ROLE или --unauthorized-role, чтобы установить роль для неаутентифицированных (не вошедших в систему) пользователей.

Неаутентифицированную роль можно называть как угодно, в вашем случае она будет публичной.

person avimoondra    schedule 01.07.2020