@mschekotov

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

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

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

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

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

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

Войти через центр авторизации
Похожие вопросы
25 апр. 2024, в 20:02
100000 руб./за проект
25 апр. 2024, в 19:42
49000 руб./за проект
25 апр. 2024, в 19:41
2000 руб./за проект