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

GraphQL の保護

@secureGraphQL デコレーターを使用して、GraphQL integrations へのアクセスを保護します。

このデコレーターを使うと、GraphQL endpoints へのアクセスを簡単に制御でき、認可されたユーザーだけがデータやリソースにアクセスできるようにします。

@secureGraphQL デコレーターを使用すると、デコレートされた関数は GraphqlContext 型(Python では dict)のパラメーターを受け取ります。これにより、 実際の query、variables、operation name などを含む、GraphQL query の完全な context が提供されます。

security function は boolean を返します。true はリクエストを許可し、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 は型付けされた GraphqlContext object です。Python では、security function は同じ context を、queryvariablesoperationName などのキーを持つ dict として受け取ります。