AWS AppSync - ошибка при подтверждении подписки - PullRequest
0 голосов
/ 24 декабря 2018

Когда у меня нет распознавателя для подписки, у меня нет проблем с подпиской, но когда я настраиваю распознаватель так, чтобы он разрешал только определенным пользователям, в моем угловом приложении у меня появляется эта ошибка

appsync.service.ts: 187 Ошибка: ошибка во время рукопожатия подписки в новом ApolloError (ApolloError.js: 37) в subscription-handshake-link.js: 116 при новой подписке (Observable.js: 183) в Observable.subscribe (Observable.js: 262)в index.js: 20 в ZoneDelegate.push ../ node_modules / zone.js / dist / zone.js.ZoneDelegate.invoke (zone.js: 388) в Object.onInvoke (core.js: 3820) в ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke (zone.js: 387) в Zone.push ../ node_modules / zone.js / dist / zone.js.Zone.run (zone.js: 138) at zone.js: 872

Resolver

Тип источника данных : НЕТ

Настройка шаблона сопоставления запросов.

#set ($a= $context.identity.cognitoIdentityAuthProvider.split(":"))
#set ($s= $a.get(2))
#set ($stringLength = $s.length() - 1) 
#set ($sub = $s.substring(0,$stringLength))


{
    "version": "2017-02-28",
    "payload": {
        "from": "$sub",
        "id":"${context.arguments.id}"
    }
}

Настройка шаблона сопоставления ответов.

#if(${context.arguments.id} == ${context.result.from})
    $util.toJson($context.result)
#else
    $utils.unauthorized()
#end

Только дляимплицит, я пробовал этот ответ решателя, но у меня была та же ошибка

$util.toJson($context.result)

1 Ответ

0 голосов
/ 24 декабря 2018

Если переставить $ util.toJson ($ context.result) для ноль , то все нормально.

#if(${context.arguments.id} == ${context.result.from})
    null
#else
    $utils.unauthorized()
#end
...