Задать вопрос
@mschekotov

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

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

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

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

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

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

Похожие вопросы