订阅授权
这是 GraphQL 库版本 6 的文档。对于长期支持 (LTS) 版本 5,请参考 GraphQL 库版本 5 LTS。 |
订阅需要它们自己的授权规则,这些规则使用 @subscriptionsAuthorization
指令配置。这些规则与查询和变异的授权规则不同,因为它们使用可用于订阅事件的过滤规则。
所有订阅授权规则都对认证有一个隐含的要求,因为这些规则通常针对 JWT 负载中的值进行评估。
规则
未经身份验证的授权
默认情况下,每个授权检查都隐含地需要身份验证,但可以在每个规则的基础上禁用此功能。例如,当一个节点具有一个属性来标记该节点是否应该公开时,这种情况就可能发生。
例如,在某些 Post
节点是私有而其他 Post
节点是公开的情况下,以下是如何设置此功能
type Post @node @subscriptionsAuthorization(filter: [
{ requireAuthentication: false, where: { node: { public_EQ: true } } }
]) {
title: String!
content: String!
public: Boolean!
}