@mschekotov

Как разграничить доступ к полям типов в GraphQL API?

Есть GraphQL API с определенным набором типов, запросами и мутациями.
Есть аутентификация: с API работают клиенты из разных групп пользователей.
Есть авторизация: у каждой группы есть ограничения на поля типов, которые они могут читать (например, администраторы могут читать все поля типа User, модераторы — email и nickname, а обычные пользователи — только nickname).

Как "правильнее" всего по идеологии GraphQL реализовать эти ограничения?

Отдавать разным группам разные схемы API с разным набором полей в типах?
Держать единую схему, но при выполнении запросов отдавать в недоступных полях null'ы?
Вводить раздельные типы со своими полями для каждой группы?

Вопрос больше теоретический; интересно, кто как поступает, какие плюсы и подводные камни есть.
  • Вопрос задан
  • 136 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Wanted. Санкт-Петербург
До 150 000 ₽
Wanted. Ростов-на-Дону
До 160 000 ₽
20 нояб. 2024, в 15:06
8000 руб./за проект
20 нояб. 2024, в 15:02
5000 руб./за проект
20 нояб. 2024, в 14:56
80000 руб./за проект