メインコンテンツまでスキップ

GraphQL の保護

@secureGraphQL decorator を使用して、GraphQL integration への access を保護します。​

この decorator により、GraphQL endpoint への access を簡単に制御し、authorized user のみが data と resource に access できるようにします。

@secureGraphQL decorator を使用する場合、decorate された function は GraphqlContext type の parameter(Python では dict)を受け取ります。これにより、実際の query、variable、operation name などを含む GraphQL query の完全な context が提供されます。

security function は boolean を返します。true は request を許可し、false は拒否します。

Backend code
import { secureGraphQL, SquidService, GraphqlContext } from '@squidcloud/backend';

export class ExampleService extends SquidService {
@secureGraphQL('usersGraphQl')
secureUsersGraphQl(context: GraphqlContext): boolean {
// TODO - Implement your security logic here
}
}

TypeScript では context は type 付きの GraphqlContext object です。Python では security function は、query、variables、operationName などの key を持つ同じ context を dict として受け取ります。