Public Access to data model for all users

0

Hi I'm trying to allow all users to access this group data model. I'm not sure if the configuration is correct. I didn't place any @auth rules as I would like the data model to be publicly accessible. I've tried doing something like @auth (rules : [ { allow : public ]) and it gave me an error : InvalidDirectiveError: @auth directive with 'apiKey' provider found, but the project has no API Key authentication provider configured. I'm using Amazon Cognito User Pool

I'm using cognito username for authentication login

This is my implementation of querying data, schema.graphql and error

Enter image description here

  • I've tried changing the schema.graphl to

    type Group @model @auth(rules: [ { allow: public, provider: apiKey } ]){ id: ID! members: [String!]! location: String time: String specialRequest: String }

    and amplify update API to add a API authentication

    but it still throws the same error

1 Antwort
1
Akzeptierte Antwort

In order for your data to be accessible to all signed in user, do this

Signed-in user data access To restrict a record's access to every signed-in user, use the private authorization strategy.

If you want to restrict a record's access to a specific user, see Per-user / owner-based data access. private authorization applies the authorization rule to every signed-in user access.

type Todo @model @auth(rules: [{ allow: private }]) { content: String }

https://docs.amplify.aws/cli/graphql/authorization-rules/#signed-in-user-data-access

beantwortet vor einem Jahr
profile picture
EXPERTE
überprüft vor einem Jahr
profile picture
EXPERTE
überprüft vor einem Jahr

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen