具有Cognito自定义属性的AWS AppSync API不起作用

时间:2018-09-27 13:09:58

标签: amazon-web-services amazon-cognito aws-appsync appsync-apollo-client

我已经花了几个小时来尝试解决以下问题。任何帮助表示赞赏。 我正在使用AWS appsync graphql和简单模式

type Users {
    familyId: String!
    userId: String!
    email: String
    picture: String
    givenName: String
    familyName: String
    ...
}

type Query {
    getFamily: [Users]
}

和我的使用解析器自定义属性familyID的解析器

{
    "version" : "2017-02-28",
    "operation" : "Query",
    "index" : "familyId-index",
    "query" : {
        "expression": "familyId = :Id",
        "expressionValues" : {
            ":Id" : {
                "S" : "${ctx.identity.claims.get("custom:familyId")}"
            }
        }
    },
}

这在AWSappsync查询构建器中运行良好,也可以使用appollo客户端<Query/>在react native中运行。

这无法使用AWS appsync API API.graphql(graphqlOperation(getFamilyQuery))返回错误

“ message”:“无法解析JSON文档:'意外字符('c'(代码99)):期望逗号分隔对象条目 [15:07:49]位于[来源:(字符串)\“

如果我替换为解析器"S" : "${ctx.identity.claims.get("custom:familyId")}",请注意 与   "S" : "${ctx.identity.sub}"或仅用于测试API调用的任何修复值都可以正常工作...因此我的API客户端配置似乎正常(或者我错过了吗?)

使用aws-Amplify API方法查询我的graphql模式时,似乎自定义属性不可用。...

有人遇到过同样的问题吗? 关于如何解决这个问题的任何线索?

0 个答案:

没有答案