login()
Log in to Fauna.
Signature
login(password: String): Token | NullToken
login(password: String, ttl Time): Token | NullToken
Description
Authenticates an identity in Fauna by providing the password for a
Credential
document. A successful login()
creates a corresponding document
in the Token
collection. Attempts to login with an incorrect password result
in an invalid_secret
error. You can call Credential.update()
to set a new
password.
If you call this method multiple times, it creates multiple tokens. This is because an identity may have multiple tokens that can access multiple devices simultaneously.
Examples
The following simplified sequence creates a user and associates credentials with the user, which can then be used to log in.
-
Create a user in the example
Person
collection:Person.create({ name: "mario", email: "mario@hello.com", password: "sekret" })
{ id: "373273910203908129", coll: Person, ts: Time("2023-08-17T02:49:51.180Z"), name: "mario", email: "mario@hello.com", password: "sekret" }
-
Create a user credential, including the password:
Credentials.create({ document: Person.byId("373273910203908129"), password: "sekret" })
{ id: "373273931423940641", coll: Credential, ts: Time("2023-08-17T02:50:11.420Z"), document: Person.byId("373273910203908129") }
-
Log in with a password:
{ id: "373274451635077153", coll: Token, ts: Time("2023-08-17T02:58:27.540Z"), document: Person.byId("373273910203908129"), secret: "fnEFLiMi1XAAIQUh3mNk4AAhMPnjoGQZDiyoEG89cM40a9_sDrw" }
You can also combine the procedure into a single expression:
Credential.byDocument(Person.byId("373273910203908129"))!.login("sekret")
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!