簡體   English   中英

Spring GraphQL 忽略內省查詢的身份驗證

[英]Spring GraphQL ignore auth for introspection query

我有一個執行某些身份驗證邏輯的 WebFilter,在調用 chain.filter(exchange) 之前編寫一些上下文。

我正在使用啟用了 GraphiQL 的 Spring GraphQL。 我想跳過 GraphiQL 的身份驗證。 當 GraphiQL 進行內省查詢以顯示模式文檔時。 忽略運行內省查詢的身份驗證邏輯的正確方法是什么?

public class AuthFilter implements WebFilter {

    @Override
    public Mono<Void> filter(ServerWebExchange exchange, WebFilterChain chain) {
        ... do some auth logic here
        return chain.filter(exchange);
    }
}

從 web 的角度來看,沒有辦法只允許內省查詢——只有 GraphQL 引擎可以解析和調度客戶端請求哪些操作。

如果 web 過濾器沒有完全復制與 graphql-java 相同的解析行為,則任何手動解析或檢測此類查詢的嘗試都可能產生安全問題。 相反,在這種情況下,我會建議在 API 級別保護操作和字段獲取,並允許 graphql web 端點的一般公共使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM