CurrentToken
CurrentToken()
CurrentToken()
CurrentToken()
CurrentToken()
current_token()
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:
RefV(id = "1", collection = RefV(id = "tokens"))
{1 0xc000200210 0xc000200210 <nil>}
ref(id = "1", collection = ref(id = "tokens"))
Ref(Tokens(), "1")
Ref(id=1, collection=Ref(id=tokens))
Ref(Tokens(), "1")
-
The following query runs in the context of a Fauna key:
RefV(id = "1", collection = RefV(id = "keys"))
{1 0xc000109650 0xc000109650 <nil>}
ref(id = "1", collection = ref(id = "keys"))
Ref(Keys(), "1")
Ref(id=1, collection=Ref(id=keys))
Ref(Keys(), "1")
-
The following query runs in the context of a Fauna key defined in a parent database:
ERROR: invalid token: Token metadata is not accessible.
Response error 400. Errors: [](invalid token): Token metadata is not accessible., details: []
ERROR com.faunadb.client.errors.BadRequestException: invalid token: Token metadata is not accessible.
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)
The Shell version of this example is not currently available.
-
The following query runs in the context of a JWT token:
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))
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]
{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: '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'}
{ 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!