我想為 GraphQL 中的所有突變/查詢呼叫呼叫一個 http 中間件,但不想呼叫一個查詢?那可能嗎 ?
編輯:如果用戶被軟洗掉,我想向所有需要用戶登錄的 API 發送用戶停用回應。但我不想restore再將這個用于 api 給用戶。
uj5u.com熱心網友回復:
不,這是不可能的。我不會在 Lighthouse 中添加這樣的功能。
如果您需要基于使用哪些 GraphQL 欄位的特定邏輯,則屬于欄位中間件。HTTP 和 GraphQL 是兩個獨立的層,不能混為一談。
uj5u.com熱心網友回復:
不,這在燈塔中是不可能的。
我建議用@guard指令解決這個問題。
https://lighthouse-php.com/5/security/authentication.html#attemptauthentication-middleware
所以基本上做類似的事情
extend type Query {
restore(email: String!, password: String!): User
}
然后對于所有其他查詢
extend type Query @guard {
viewer: User! @auth
}
默認情況下,如果用戶被軟洗掉,則auth:api不允許其登錄,因此沒有理由對守衛進行任何更改。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/421480.html
標籤:
下一篇:捕獲條帶支付
