Not maintained anymore, see: #7 (comment)
@next-auth/react-query
React Query wrapper for NextAuth.js session management.
This is an alternative client for next-auth based upon react-query. It can replace the built-in session management on the client-side by taking advantage of react-query's built-in caching, auto refetching, etc.
npm install --save @next-auth/react-query
You can then import useSession from this package, instead of the core next-auth package. More usage details can be found below.
useSession(params: UseSessionParams) : UseSessionResultReact Query wrapper to retrieve Session. Replaces useSession and Provider from next-auth/client in codebases where you already use react-query.
import { useSession } from "@next-auth/react-query"
...
const [session, loading] = useSession({
required: true,
redirectTo: "/auth/sign-in?error=InvalidSession",
queryConfig: {
staleTime: 60 * 1000 * 60 * 3, // 3 hours
refetchInterval: 60 * 1000 * 5 // 5 minutes
}
})
...| Parameter | Type | Description | Default |
|---|---|---|---|
required |
boolean |
If true, will redirect when no session available |
false |
redirectTo |
string |
When required: true, this is where the user will be redirected |
"/api/auth/session" |
queryConfig |
UseQueryOptions |
See React Query's useQuery Options |
{} |
TIP:
staleTimeandrefetchIntervalrespectively matchclientMaxAgeandkeepAlivefrom the Original API.
import { useSession } from "@next-auth/react-query"
...
const [session, loading] = useSession()
...The shape of what useSession returns matches the Original API.
Based on this discussion between @kripod and @balazsorban44
We're open to all community contributions! If you'd like to contribute in any way, please first read our Contributing Guide.
ISC
