问题描述
我正在尝试在 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 (将#修改为@)