Java 带GraphQL的弹簧防尘套OAuth2

Java 带GraphQL的弹簧防尘套OAuth2,java,spring,spring-boot,graphql,apollo,Java,Spring,Spring Boot,Graphql,Apollo,目标 Spring Boot auth微服务,位于基于Apollo Federation的API网关后面。每个微服务都有自己的GraphQL模式 在前端,我想公开一些API,如/login(用于基本登录)和/oauth2/authorize/facebook&redirect_uri=(用于oauth2流)。网关将这些调用转发给身份验证服务 当前情况 Spring Boot Security OAuth2可以方便地在Security@配置中配置 拦截器 如何编写GraphQL变异/查询,并以某

目标

Spring Boot auth微服务,位于基于Apollo Federation的API网关后面。每个微服务都有自己的GraphQL模式

在前端,我想公开一些API,如
/login
(用于基本登录)和
/oauth2/authorize/facebook&redirect_uri=
(用于oauth2流)。网关将这些调用转发给身份验证服务

当前情况

Spring Boot Security OAuth2可以方便地在Security
@配置中配置

拦截器

如何编写GraphQL变异/查询,并以某种方式将调用转发到Spring安全性的OAuth2机制

示例解决方案1

query {
    oauth2(data: OAuth2Data!): Boolean! 
}

input OAuth2Data {
    provider: String!     // Example: 'facebook'
    redirectUrl: String!
}
。。。变异解析器将调用安全的端点

示例解决方案2

让OAuth2 REST端点保持原样。让API网关“手动”调用它们,并在API网关的模式中编写所需的GraphQL登录查询

资源

  • -最接近我想要的东西,但是Spring Boot+Java而不是Micronarn+Kotlin。当然,上面还有OAuth2
  • -我知道的最酷的Spring Boot+OAuth2教程
  • -薄弱的教程和代码,没有真正理解