GraphQL PHP полный путь запроса

Я пытаюсь реализовать авторизацию для graphql-php в моем проекте. Идея состоит в том, чтобы иметь массив доступа пользователя, где я мог бы установить доступ для каждой группы пользователей к конкретным запросам и мутациям и реализовать метод check-access в контроллере graphql до выполнения запроса.

Одним из способов было бы проанализировать запрос самостоятельно, но мне было интересно, знает ли кто-нибудь, как получить доступ к полному пути к запросу, как я видел, это показано в https://webonyx.github.io/graphql-php/error-handling/

<?php
[
'message' => 'My reported error',
'category' => 'businessLogic',
'locations' => [
['line' => 10, 'column' => 2]
],
'path' => [
'path',
'to',
'fieldWithException'
]
];

0

Решение

Путь можно получить в резольверах через ResolveInfo объект, который получает каждая функция распознавателя. Документы не показывают это, но четвертый аргумент для каждого распознавателя ResolveInfo (из источника webonyx $resolveFn($source, $args, $context, $info)). Просто получите это:

function ($root, $args, $context, $info) {
$path = $resolveInfo->path;
// your decisioning

}

И вы принимаете решение на основе этого.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]