Skip to main content

->signin()

Signs in to a root, namespace, database or scope user.

Method Syntax
$db->signin([
"namespace" => "test",
"database" => "db",
"scope" => "scope",
// ... other variables
]);

Arguments

PropertiesDescription
usernameREQUIRED FOR ROOT, NAMESPACE & DATABASE

The username of the database user

passwordREQUIRED FOR ROOT, NAMESPACE & DATABASE

The password of the database user

namespaceREQUIRED FOR DATABASE & SCOPE/ACCESS

The namespace to sign in to

databaseREQUIRED FOR SCOPE/ACCESS

The database to sign in to

scope1.x

The scope to sign in to. Also pass any variables used in the scope. Only supported in SurrealDB 1.x

access >=2.x

The access to sign in to. Also pass any variables used in the access. Only supported from SurrealDB 2.x onwards

Example usage

// Authenticate with a root user
$token = $db->signin([
"username" => "root",
"password" => "surrealdb",
]);

// Authenticate with a Namespace user
$token = $db->signin([
"namespace" => "surrealdb",
"username" => "tobie",
"password" => "surrealdb",
]);

// Authenticate with a Database user
$token = $db->signin([
"namespace" => "surrealdb",
"database" => "docs",
"username" => "tobie",
"password" => "surrealdb",
]);

// Authenticate with a Scope user
$token = $db->signin([
"namespace" => "surrealdb",
"database" => "docs",
"scope" => "user",

// Also pass any properties required by the scope definition
"email" => "info@surrealdb.com",
"pass" => "123456",
]);

You can invalidate the authentication for the current connection using the invalidate() method.