如何使用 Apollo Federation 从网关到服务的请求中获取完整的详细信息

问题描述

我正在尝试在 Apollo Federation 中实现 Auth0,我能够在其各个服务 (https://auth0.com/blog/developing-a-secure-api-with-nestjs-adding-authorization/#Set-Up-API-Authorization) 中实现它,但是如果我尝试通过网关访问 API,则标头/有效负载是不会传递给服务,因此它总是未经授权。

如果 API 是通过单个服务访问的,有效载荷会被接收并从标头中正确解码并且工作正常,但是如果通过网关,它不会被级联到需要它的服务。

目前正在为其使用代码优先实现。我也试过镜像服务中使用的模块,但它仍然不起作用。

单个服务中的示例负载

{
  iss: 'issuer url here',sub: 'google-oauth2',aud: ['audience link'],iat:,exp:,azp: '',scope: '',permissions: [ 'sample:permission' ] 
}

在网关中导入

imports: [
ConfigModule.forRoot(),GraphQLGatewayModule.forRoot({
            server: {
                cors: true,},gateway: {
                serviceHealthCheck: true,serviceList: [
                    {
                        name: 'service',url: `${process.env.SERVICE_URL}/graphql`,],}),]

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)