是否可以在 FaunaDB 用户定义函数 (UDF) 中使用请求标头作为参数?

问题描述

我能否以某种方式在 UDF 的正文中获取标头的值?

我们的想法是基于自定义标头参数(如 userId、role、key、UDF 等)实现我们自己的 ABAC。

解决方法

动物群查询无权访问请求标头。

,

您可以使用 Fauna 生成可在标头中用于查询数据的令牌。在创建用户时,您将创建一个用户名/电子邮件和一个密码,这些密码将作为“凭据”存储。您可以创建登录 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",email: Select("email",role: Select("role",phone: Select("phone",}
    })
  )
)

user_to_email 索引将如下所示:

Source Collection: User
Index Name: user_by_email
Terms: data.email
Values: Serialized: true

这是 Fauna 用户身份验证文档的链接:https://docs.fauna.com/fauna/current/tutorials/authentication/user.html

希望这会有所帮助。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...