我正在为用户/传递系统使用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));不幸的是,文档没有说明如何登录范围。我可以用SurrealQL或API端点来完成这个任务吗?
发布于 2022-09-23 15:35:27
高级答案:您从您正在使用的任何客户端库调用signin,目前大部分客户端库仍在开发中,例如,请参阅https://github.com/surrealdb/surrealdb.js
低层次的答案,有多种类型的登录,常规的根登录需要user和pass。对于范围登录,可以分别为名称空间、数据库和范围指定NS、DB和SC值,然后添加范围所需的任何值。
您可以连接到ws://<host>:<port>/rpc上的websocket,然后以json格式发送命令。
{
"id": <an id so you can identify responses later on>,
"method": <one of the available commands>,
"params": <an array of parameters>
}作为一个最小的例子,让我们创建一些命令来登录到您定义的作用域:
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 ...https://stackoverflow.com/questions/73720759
复制相似问题