В настоящее время я изучаю, как реализовать GraphQL в моем текущем проекте.Есть кое-что, что касается меня ... Как я могу проверить с базой данных, что информация, которая передается, на самом деле от этого пользователя?И запросы, и мутации извлекаются из одной конечной точки, которую клиент отвечает за выполнение операций чтения и записи в БД соответственно.
Хотя я вижу, как проверять по типу (строка, идентификатор, номер и т. Д.), Я не вижу ловушки или момента, когда я могу проверить, что переданные возможные идентификаторы находятся вфакт от текущего пользователя.Например:
query {
hero {
name
}
droid(id: "2000") {
name
}
}
Как проверить с помощью БД, что текущий идентификатор 2000 принадлежит текущему пользователю?
В настоящее время я использую .NET Core MVC 2 (если это поможет).
Я бы сделал что-то подобное, используя Entity Framework: _database.Droids.Where(x => x.UserId == userId && x.id == id).FirstOrDefaultAsync();
Если этоИдентификатор не соответствует этому пользователю, он будет возвращать пустой объект.То же самое касается операции вставки (мутация в GraphQL).
Есть ли ловушка, в которой я могу проверить данные?Как мне это сделать?
Спасибо!
Я не против, если есть пример в NodeJS или C #