#graphql #authorization #aws-amplify #aws-appsync
#graphql #авторизация #aws-amplify #aws-appsync
Вопрос:
Я начинаю проект с усилением хранилища данных и моделированием данных, которые имеют отношение «многие ко многим», что также требует авторизации. Мне трудно найти примеры M2M с аутентификацией, в документации их нет.
Вот пример MTM из документов хранилища данных, я хочу запретить пользователям, которые не являются редакторами, загружать сообщения. В настоящее время планируется использовать Cognito, но открыты для других решений. Как это будет достигнуто?
type Post @model {
id: ID!
title: String!
editors: [PostEditor] @connection(keyName: "byPost", fields: ["id"])
}
type PostEditor
@model(queries: null)
@key(name: "byPost", fields: ["postID", "editorID"])
@key(name: "byEditor", fields: ["editorID", "postID"]) {
id: ID!
postID: ID!
editorID: ID!
post: Post! @connection(fields: ["postID"])
editor: User! @connection(fields: ["editorID"])
}
type User @model {
id: ID!
username: String!
posts: [PostEditor] @connection(keyName: "byEditor", fields: ["id"])
}
Комментарии:
1. У меня похожая проблема. Вы нашли какое-либо решение?
2. @Vingtoft Прошло некоторое время, но я считаю, что решения с хранилищем данных нет. Единственным вариантом было использовать API Amplify GraphQL в приложении и написать свой собственный распознаватель GraphQL на серверной части. Кроме того, это означало, что вам нужно будет иметь дело с данными, поступающими из двух API. В итоге я больше не работал над этим проектом, но я полагаю, что они перешли в Firestore. Авторизация на запись является громоздкой, но выполнима.
3. Спасибо @callmetwan. Не стесняйтесь оставлять свой комментарий в качестве ответа, тогда я назначу вам награду. Спасибо.