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 Respuesta
1
Respuesta aceptada

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

respondido hace un año
profile picture
EXPERTO
revisado hace un año
profile picture
EXPERTO
revisado hace un año

No has iniciado sesión. Iniciar sesión para publicar una respuesta.

Una buena respuesta responde claramente a la pregunta, proporciona comentarios constructivos y fomenta el crecimiento profesional en la persona que hace la pregunta.

Pautas para responder preguntas