Я пытался защитить свой API GraphQL с помощью токенов Spring Security и JWT, я следовал вместе с этим постом , но мне не повезло. Я получил рабочую версию аутентификации с использованием контекстов с GraphQLContext, но для каждой мутации / запроса мне нужно добавить одну и ту же подробную проверку подлинности, где весенние аннотации безопасности гораздо приятнее.
Я не могу даже реально протестировать то, что я сделал, поскольку GraphQL, похоже, не нравится, когда я добавляю @PreAuthorize("hasRole(\"USER\")")
в обработчик запросов, поэтому я не уверен, совместим ли GraphQL с безопасностью Spring на этом этапе. .
Я прикрепил исходный код к сущности, так как есть несколько классов, я просто не уверен, правильный ли подход я использую, но использование аннотаций на авторизованных маршрутах намного приятнее.
Код Soruce:
https://gist.github.com/PHILLIPS71/9388afb2495152f875b48ae06b241348
StackTrace:
Caused by: com.coxautodev.graphql.tools.ResolverError: No method found with any of the following signatures (in priority order):
com.sun.proxy.$Proxy73.users( [, graphql.schema.DataFetchingEnvironment])
com.sun.proxy.$Proxy73.getUsers( [, graphql.schema.DataFetchingEnvironment])