【问题标题】:How can I authenticate subscription with OpenID Connect in Appsync?如何在 Appsync 中使用 OpenID Connect 验证订阅?
【发布时间】:2023-03-11 15:13:02
【问题描述】:

我正在通过 AWS Appsync 订阅 graphql,并将 OpenID Connect 配置为身份验证方法。它适用于mutationquery,但不适用于subscription

type Mutation {
    requestTransaction(transaction: TransactionRequestInput!): TransactionRequestACK!
        @aws_oidc
    responseTransaction(transaction: TransactionResponseInput!): TransactionResponse!
        @aws_iam @aws_api_key
}


type Subscription {
    responseTransaction(id: ID!): Transaction!
        @aws_subscribe(mutations: ["responseTransaction"])
        @aws_oidc
}

上面的架构是我正在使用的架构。每个字段都配置了一个 lambda 作为解析器。我可以使用 OIDC jwt 令牌向 requestTransaction 发送 mutation 请求。但是当我发送subscription 请求时,解析器不会被触发。客户端订阅等待中,没有错误。订阅 OIDC 是否需要任何特殊配置?

【问题讨论】:

    标签: amazon-web-services graphql aws-appsync


    【解决方案1】:

    Joey Yi Zhao,截至今天,这是 AWS Appsync 查询控制台中的一个已知错误,即使您在输入中输入了 OIDC 令牌。它不会在订阅的情况下传递,但在查询和突变的情况下它确实可以正常工作(您可以在浏览器的开发控制台中验证相同)。我在联系 AWS 支持后了解了这一点,因为我也面临着同样的问题。 如果您通过其他方式(如 aws-appsync 包)使用 OIDC 测试订阅,它会按预期工作。

    【讨论】:

      猜你喜欢
      • 2017-05-18
      • 2014-09-12
      • 2020-10-11
      • 2016-06-28
      • 2017-12-14
      • 1970-01-01
      • 2022-01-21
      • 2021-09-07
      • 2018-12-19
      相关资源
      最近更新 更多