Skip to main content

Sign-In

The signIn method is used to authenticate an existing user in zkDatabase. The user must sign in using their email, and the signing process is validated using the previously provided signer.

Definition

await zkdb.auth.signIn(): Promise<TUserSignInResponse>;

Parameters

  • None

Returns

  • A promise that resolves when the user is successfully authenticated.
export type TUserSignInResponse = {
userName: string;
email: string;
publicKey: string;
activated: boolean;
userData: Record<string, any> | null;
accessToken: string;
};

Example

In this example, the signIn method authenticates the user with the username chiro-user.

import { ZkDatabase } from 'zkdb';

const zkdb = await ZkDatabase.connect({
userName: "chiro-user",
privateKey: "EKFTciRxyxshZjimay9sktsn7v5PvmC5zPq7q4JnitHUytxUVnFP",
environment: "node",
// This URL is for test environment
url: "https://api.zkdatabase.org/graphql",
});

console.log(await zkdb.auth.signIn());

Result:

{
"userName": "chiro-user",
"accessToken": "eyJhbGciOiJIUzI1NiJ9.eyJ1c2VyTmFtZSI6ImNoaXJvLXVzZXIiLCJlbWFpbCI6ImNoaXJvQGV4YW1wbGUuY29tIiwiZXhwIjoyMjU2ODQ1OTY2MDF9.-Y4kSFSazvgMfIUIgl1wwgMAe33-UAWm45D4RaERvkk",
"userData": {},
"publicKey": "B62qqAHb9dveVJY58GUGjL6CfCBDJL5DmUcUpkAA71pLTYCYxHzJVVG",
"email": "[email protected]"
}