FQL v4 will be decommissioned on June 30, 2025. Ensure that you complete your migration from FQL v4 to FQL v10 by that date. For more details, review the migration guide. Contact support@fauna.com with any questions. |
CurrentToken
This reference topic applies to FQL v4. Go to this page for the latest FQL v10 reference topics. |
CurrentToken()
current_token()
CurrentToken()
CurrentToken()
CurrentToken()
Description
The CurrentToken
function returns information about the active
authentication:
-
When a token is used, a Reference to the token document is returned.
-
When a key is used, and the key exists in the current database (and not in a parent database), a Reference to the key document is returned.
-
When authentication is performed by an identity provider, an object containing the active JWT’s claims is returned.
For all other cases, CurrentToken
emits an error. These cases include:
-
Authentication uses the "root" Fauna secret.
-
Authentication uses a key that has the
database
field set. -
Authentication uses a key that exists in a parent database, for example, when using a scoped key.
Returns
For tokens, and keys defined in the current database, a Reference to the associated token/key.
For JWTs, an object containing the claims from the active JWT.
For connections using the "root" Fauna key, or a key that has the
database
field defined, an error is returned.
Examples
-
The following query runs in the context of a Fauna token:
Ref(Tokens(), "1")
Ref(id=1, collection=Ref(id=tokens))
{1 0xc000200210 0xc000200210 <nil>}
RefV(id = "1", collection = RefV(id = "tokens"))
Ref(Tokens(), "1")
-
The following query runs in the context of a Fauna key:
Ref(Keys(), "1")
Ref(id=1, collection=Ref(id=keys))
{1 0xc000109650 0xc000109650 <nil>}
RefV(id = "1", collection = RefV(id = "keys"))
Ref(Keys(), "1")
-
The following query runs in the context of a Fauna key defined in a parent database:
Error: [BadRequest] invalid token: Token metadata is not accessible.
Error: <class 'faunadb.errors.BadRequest'> ErrorData(code='invalid token', description='Token metadata is not accessible.', position=[], failures=None)
Response error 400. Errors: [](invalid token): Token metadata is not accessible., details: []
ERROR: invalid token: Token metadata is not accessible.
-
The following query runs in the context of a JWT token:
{ iss: 'https://dev--nozpv3z.us.auth0.com/', sub: 'l6vJS8QvHC2LmiGRaOTiE16givuufR22@clients', aud: 'https://db.fauna.com/db/yxxf5x9w1ybyn', iat: 1611084659, exp: 1611171059, azp: 'l6vJS8QvHC2LmiGRaOTiE16givuufR22', gty: 'client-credentials' }
{'iss': 'https://dev--nozpv3z.us.auth0.com/', 'sub': '8cYrAhHUTtqr9eSliRmdrGryJhYbcPQA@clients', 'aud': 'https://db.fauna.com/db/yo8yrjgkcydye', 'iat': 1617997880, 'exp': 1618084280, 'azp': '8cYrAhHUTtqr9eSliRmdrGryJhYbcPQA', 'gty': 'client-credentials'}
map[aud:https://db.fauna.com/db/yo8yrjgkcydye azp:8cYrAhHUTtqr9eSliRmdrGryJhYbcPQA exp:1617728575 gty:client-credentials iat:1617642175 iss:https://dev--nozpv3z.us.auth0.com/ sub:8cYrAhHUTtqr9eSliRmdrGryJhYbcPQA@clients]
ObjectV(iss: StringV(https://dev--nozpv3z.us.auth0.com/),sub: StringV(8cYrAhHUTtqr9eSliRmdrGryJhYbcPQA@clients),aud: StringV(https://db.fauna.com/db/yo8yrjgkcydye),iat: LongV(1617396332),exp: LongV(1617482732),azp: StringV(8cYrAhHUTtqr9eSliRmdrGryJhYbcPQA),gty: StringV(client-credentials))
{ iss: 'https://dev--nozpv3z.us.auth0.com/', sub: '8cYrAhHUTtqr9eSliRmdrGryJhYbcPQA@clients', aud: 'https://db.fauna.com/db/yo8yrjgkcydye', iat: 1624306581, exp: 1624392981, azp: '8cYrAhHUTtqr9eSliRmdrGryJhYbcPQA', gty: 'client-credentials' }
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!