KeyFromSecret

KeyFromSecret( secret )
KeyFromSecret( secret )
f.KeyFromSecret( secret )
KeyFromSecret( secret )
key_from_secret( secret )
key_from_secret  secret
KeyFromSecret secret )
KeyFromSecret( secret )

Description

The KeyFromSecret function retrieves a key document given a key’s secret string, or a token document given a token’s secret string.

Parameter

Argument Type Definition and Requirements

secret

String

The secret identifying a given key or token object.

Returns

An object containing data returned by KeyFromSecret operations. When the secret string identifies a key, the object has the following fields:

Field Name Field Type Definition and Requirements

ref

Reference

The reference identifies the key that was retrieved.

ts

Long

The timestamp associated with the most recent modification of the key.

database

Reference

A reference to the database the key is protecting.

role

String

The security role for this key.

hashed_secret

String

The hash of the secret.

When the secret string identifies a token, the object has the following fields:

Field Name Field Type Definition and Requirements

ref

Reference

The reference identifies the token instance that was retrieved.

ts

Long

The timestamp associated with the most recent modification of the token instance.

instance

Reference

A reference to the document representing the logged-in user (the one passed to the Login function invocation that created the token.)

hashed_secret

String

The hash of the secret.

Examples

The query below retrieves a key by providing a given secret:

curl https://db.fauna.com/ \
    -u fnAChGwBacACAEZtRZFDXpyjIvq-sln34m-va4Km: \
    -d '{ "key_from_secret": "fnAChGwBcAACAO70ziE0cfROosNJHdgBmJU1PgpL" }'
client.Query(
  KeyFromSecret("fnAChGwBcAACAO70ziE0cfROosNJHdgBmJU1PgpL"));
System.out.println(
    client.query(
      KeyFromSecret(
        Value("fnAChGwBcAACAO70ziE0cfROosNJHdgBmJU1PgpL")
      )
    ).get());
result, _ := client.Query(
    f.KeyFromSecret("fnAChGwBcAACAO70ziE0cfROosNJHdgBmJU1PgpL"),
)

fmt.Println(result)
client.query(
  KeyFromSecret("fnAChGwBcAACAO70ziE0cfROosNJHdgBmJU1PgpL"))
client.query(
  q.key_from_secret("fnAChGwBcAACAO70ziE0cfROosNJHdgBmJU1PgpL"))
$client.query do
  key_from_secret 'fnAChGwBcAACAO70ziE0cfROosNJHdgBmJU1PgpL'
end
client.query(
    KeyFromSecret(
        "fnAChGwBcAACAO70ziE0cfROosNJHdgBmJU1PgpL"
    )
)
client.query(q.KeyFromSecret("fnAChGwBcAACAO70ziE0cfROosNJHdgBmJU1PgpL"))
  .then((ret) => console.log(ret));
HTTP/1.1 200 OK
{
  "resource": {
    "ref": { "@ref": "keys/181388638431478272" },
    "class": { "@ref": "keys" },
    "ts": 1509244535744675,
    "database": { "@ref": "databases/prydain" },
    "role": "server",
    "hashed_secret": "$2a$05$4kVnCWuJuaJYXz4ISHk1ge32/Otwya6QUVu.SSO7SbOn.fzbXLKFu"
  }
}
{
  "ref": { "@ref": "keys/181388638431478272" },
  "class": { "@ref": "keys" },
  "ts": 1509244535744675,
  "database": { "@ref": "databases/prydain" },
  "role": "server",
  "hashed_secret": "$2a$05$4kVnCWuJuaJYXz4ISHk1ge32/Otwya6QUVu.SSO7SbOn.fzbXLKFu"
}
{
  ref: ref(id = "200886770939724288", collection = ref(id = "keys")),
  ts: 1527839403941254,
  database: ref(id = "prydain", collection = ref(id = "databases")),
  role: "server",
  hashed_secret: "$2a$05$Gi4GT2NU2LGjb7LuoNAvue/eScTIkaEk1xeBLDOZSCiX2seM/zgDS"
}
map[ref:{181388638431478272 0xc42023fc00 <nil>} ts:1509244535744675 database:{prydain 0xc42023fda0 <nil>} role:server hashed_secret:$2a$05$4kVnCWuJuaJYXz4ISHk1ge32/Otwya6QUVu.SSO7SbOn.fzbXLKFu]
{
  "ref": { "@ref": "keys/181388638431478272" },
  "class": { "@ref": "keys" },
  "ts": 1509244535744675,
  "database": { "@ref": "databases/prydain" },
  "role": "server",
  "hashed_secret": "$2a$05$4kVnCWuJuaJYXz4ISHk1ge32/Otwya6QUVu.SSO7SbOn.fzbXLKFu"
}
{
  "ref": { "@ref": "keys/181388638431478272" },
  "class": { "@ref": "keys" },
  "ts": 1509244535744675,
  "database": { "@ref": "databases/prydain" },
  "role": "server",
  "hashed_secret": "$2a$05$4kVnCWuJuaJYXz4ISHk1ge32/Otwya6QUVu.SSO7SbOn.fzbXLKFu"
}
{
  "ref": { "@ref": "keys/181388638431478272" },
  "class": { "@ref": "keys" },
  "ts": 1509244535744675,
  "database": { "@ref": "databases/prydain" },
  "role": "server",
  "hashed_secret": "$2a$05$4kVnCWuJuaJYXz4ISHk1ge32/Otwya6QUVu.SSO7SbOn.fzbXLKFu"
}
{
  "ref": { "@ref": "keys/181388638431478272" },
  "class": { "@ref": "keys" },
  "ts": 1509244535744675,
  "database": { "@ref": "databases/prydain" },
  "role": "server",
  "hashed_secret": "$2a$05$4kVnCWuJuaJYXz4ISHk1ge32/Otwya6QUVu.SSO7SbOn.fzbXLKFu"
}
{ ref: Ref(id=181388638431478272, collection=Ref(id=keys)),
  ts: 1509244535744675,
  database: Ref(id=prydain, collection=Ref(id=databases)),
  role: "server",
  hashed_secret: "$2a$05$4kVnCWuJuaJYXz4ISHk1ge32/Otwya6QUVu.SSO7SbOn.fzbXLKFu" }

Was this article helpful?

We're sorry to hear that.
Tell us how we can improve! documentation@fauna.com

Thank you for your feedback!