Leo*_*896 7 database surrealdb
我正在将 SurrealDB 功能页面中的示例代码用于用户/通行证系统
DEFINE SCOPE admin SESSION 1d
SIGNUP ( CREATE user SET user = $user, pass = crypto::argon2::generate($pass) )
SIGNIN ( SELECT * FROM user WHERE user = $user AND crypto::argon2::compare(pass, $pass));
Run Code Online (Sandbox Code Playgroud)
不幸的是,文档没有说明如何登录范围。我可以使用 SurrealQL 或 API 端点来执行此操作吗?
小智 7
高级答案:您signin从您使用的任何客户端库调用,目前大部分仍在开发中,例如参见https://github.com/surrealdb/surrealdb.js
低级答案,有多种登录类型,常规 root 登录需要user和pass。对于范围登录,您分别为命名空间、数据库和范围指定NS、DB和SC值,然后添加该范围所需的任何值。
您可以连接到位于 的 websocket ws://<host>:<port>/rpc,然后以 json 格式发送命令
{
"id": <an id so you can identify responses later on>,
"method": <one of the available commands>,
"params": <an array of parameters>
}
Run Code Online (Sandbox Code Playgroud)
作为一个最小的示例,让我们创建一些命令来登录到您定义的范围:
method params
------ ------
signin {
"NS": <ns>,
"DB": <DB>,
"SC": "admin",
// these parameters can be anything you request in the scope
"user": <user>,
"pass": <pass>
}
use <namespace>, <database>
// use your session ...
Run Code Online (Sandbox Code Playgroud)