We’re overhauling Dgraph’s docs to make them clearer and more approachable. If
you notice any issues during this transition or have suggestions, please
let us know.
Public data
Many apps have data that can be accessed by anyone, logged in or not. That also works nicely with Dgraph auth rules. For example, in Twitter, StackOverflow, etc. you can see authors and posts without being signed it - but you’d need to be signed in to add a post. With Dgraph auth rules, if a type doesn’t have, for example, aquery
auth rule or
the auth rule doesn’t depend on a JWT value, then the data can be accessed
without a signed JWT.
For example, the to do app might allow anyone, logged in or not, to view any
author, but not make any mutations unless logged in as the author or an admin.
That would be achieved by rules like the following.
"isAuthenticated": "true"
. For example,
Blocking an operation for everyone
If theROLE
claim isn’t present in a JWT, any rule that relies on ROLE
simply evaluates to false.
You can also simply disallow some queries and mutations by using a condition on
a non-existing claim:
If you know that your JWTs never contain the claim DENIED
, then a rule such as