Key

A key is a type of authentication secret used for anonymous access to a Fauna database. Unlike tokens, keys are not associated with an identity.

Key collection

Fauna stores keys scoped to a database as documents in the database’s Key system collection.

Key documents have the following FQL structure:

{
  id: "371460335192768546",
  coll: Key,
  ts: Time("2099-07-28T02:23:51.300Z"),
  ttl: Time("2099-07-29T02:23:51.189192Z"),
  secret: "fn...",
  role: "admin"
}
Field name Value type Description

id

A unique identifier assigned by Fauna when the key is created.

coll

Collection name.

ts

Creation timestamp, with microsecond resolution and time zone.

ttl

Timestamp that defines the key expiration time. When the ttl time expires, the key is deleted.
Default = null. The key persists indefinitely.

secret

The secret is a randomly generated cryptographic hash. This field isn’t stored in the document. The secret is only accessible in the Key.create() return. A caller obtains the secret from this return and stores it for subsequent queries. Fauna can’t recover a discarded or lost secret.

role

Name of a user-defined role or one of the built-in roles:

  • admin

  • server

  • server-readonly

data

User-defined metadata for the key.

Static methods

You can use the following static methods to manage the Key collection in FQL.

Method Description

Get the Set of all Key objects.

Get a key by ID.

Create a key.

Get the first key matching a predicate function.

Get the name of the Key collection as a string.

Get keys matching a predicate function.

Instance methods

You can use the following instance methods to manage specific Key documents in FQL.

Method Description

Delete a key.

Verify a key.

Replace a key.

Update a key.

Is this article helpful? 

Tell Fauna how the article can be improved:
Visit Fauna's forums or email docs@fauna.com

Thank you for your feedback!