是否可以在 FaunaDB 用户定义函数 (UDF) 中使用请求 header 作为参数?
Is it possible to use request header as a parameter inside FaunaDB user defined function (UDF)?
我能否以某种方式在 UDF 的 body 中获取 header 的值?
我们的想法是基于自定义 header 参数(如 userId、角色、密钥、UDF 等)实现我们自己的 ABAC。
动物群查询无权访问请求 headers。
您可以使用 Fauna 生成令牌,您可以在 headers 中使用这些令牌来查询数据。创建用户时,您将创建一个 username/email 和一个将作为“凭据”存储的密码。您可以创建一个登录 UDF 和一个 user_by_email 索引来验证用户并颁发令牌。
登录 UDF 看起来像这样:
Query(
Lambda(
["data"],
Create(Collection("User"), {
credentials: { password: Select("password", Var("data")) },
data: {
firstName: Select("firstName", Var("data")),
lastName: Select("lastName", Var("data")),
email: Select("email", Var("data")),
role: Select("role", Var("data")),
phone: Select("phone", Var("data")),
}
})
)
)
user_to_email 索引将如下所示:
Source Collection: User
Index Name: user_by_email
Terms: data.email
Values: Serialized: true
这里是 link Fauna 的用户认证文档:https://docs.fauna.com/fauna/current/tutorials/authentication/user.html
希望对您有所帮助。
我能否以某种方式在 UDF 的 body 中获取 header 的值?
我们的想法是基于自定义 header 参数(如 userId、角色、密钥、UDF 等)实现我们自己的 ABAC。
动物群查询无权访问请求 headers。
您可以使用 Fauna 生成令牌,您可以在 headers 中使用这些令牌来查询数据。创建用户时,您将创建一个 username/email 和一个将作为“凭据”存储的密码。您可以创建一个登录 UDF 和一个 user_by_email 索引来验证用户并颁发令牌。 登录 UDF 看起来像这样:
Query(
Lambda(
["data"],
Create(Collection("User"), {
credentials: { password: Select("password", Var("data")) },
data: {
firstName: Select("firstName", Var("data")),
lastName: Select("lastName", Var("data")),
email: Select("email", Var("data")),
role: Select("role", Var("data")),
phone: Select("phone", Var("data")),
}
})
)
)
user_to_email 索引将如下所示:
Source Collection: User
Index Name: user_by_email
Terms: data.email
Values: Serialized: true
这里是 link Fauna 的用户认证文档:https://docs.fauna.com/fauna/current/tutorials/authentication/user.html
希望对您有所帮助。