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

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

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

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

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

Вопрос больше теоретический; интересно, кто как поступает, какие плюсы и подводные камни есть.
  • Вопрос задан
  • 143 просмотра
Подписаться 3 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик с нуля
    6 месяцев
    Далее
  • Skillfactory
    DevOps-инженер
    6 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

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