sensitive-blue
sensitive-blue5mo ago

Passing query options to auth provider methods

Hi everyone, I am working on implementing a custom auth provider for my refine app. One of my requirements is to be able to check for an auth token in the check method of the auth provider, and I would like to be able to pass some react query options to the check method (mainly override the stale time and force the refetch on window focus) - Is there a way to do this? I can see the check query cached but it has default options at the moment.
5 Replies
kapa.ai
kapa.ai5mo ago
Hi @Querashi. I'm kapa.ai, your friendly support bot. I will try to answer your question by searching through the knowledge base. :wave: ---------------------- Yes, you can pass query options to the useCan hook in Refine, which is used for access control checks. This can be done by passing the queryOptions property. You can configure the staleTime property to control the cache duration. However, the refetchOnWindowFocus option is not mentioned in the provided knowledge sources. Here is an example of how you can do this:
const { data } = useCan({
resource: "resource-you-ask-for-access",
action: "action-type-on-resource",
params: { foo: "optional-params" },
queryOptions: {
staleTime: 5 * 60 * 1000, // 5 minutes
// ... other query options
},
});
const { data } = useCan({
resource: "resource-you-ask-for-access",
action: "action-type-on-resource",
params: { foo: "optional-params" },
queryOptions: {
staleTime: 5 * 60 * 1000, // 5 minutes
// ... other query options
},
});
In this example, the staleTime is set to 5 minutes. You can adjust this value according to your needs. Please note that by default, Refine uses 5 minutes for cacheTime and 0 minutes for staleTime for its own access control points. For more information, refer to the Access Control Provider Performance documentation (https://refine.dev/docs/authorization/access-control-provider#performance). ---------------------- Note: you can ask me a follow up question by @ mentioning me again :speech_balloon: ----------------------
kapa.ai
kapa.ai5mo ago
<@172982632219541511> kapa.ai is still learning and improving, please let us know how it did by reacting below
sensitive-blue
sensitive-blue5mo ago
@kapa.ai This is specific to Authorization, I would like this to apply to Authentification
kapa.ai
kapa.ai5mo ago
Let me check the knowledge base for you. One moment! :books: ---------------------- I'm sorry for the confusion, but based on the provided knowledge sources, there's no direct information about passing query options to the authentication provider methods in Refine. The queryOptions are mentioned in the context of the useCan hook for authorization and the useForm hook for form handling, but not for authentication. For more detailed information about authentication in Refine, you may want to refer to the Authentication documentation (https://refine.dev/docs/authentication-and-authorization/authentication) which might provide more insights. ---------------------- Note: you can ask me a follow up question by @ mentioning me again :speech_balloon: ----------------------
kapa.ai
kapa.ai5mo ago
<@172982632219541511> kapa.ai is still learning and improving, please let us know how it did by reacting below