Skip to content

useSignOut

Terminate the current Openfort session and reset the provider state.

Request

type Request = {
  hook: 'useSignOut',
  params: [options?: OpenfortHookOptions]
}
 
type OpenfortHookOptions<T = { error?: import("@openfort/react").OpenfortError }> = {
  onSuccess?: (data: T) => void
  onError?: (error: import("@openfort/react").OpenfortError) => void
  onSettled?: (data: T | undefined | null, error: import("@openfort/react").OpenfortError | null) => void
  throwOnError?: boolean
}

Response

type Response = SignOutReturn
 
type SignOutReturn = SignOutStatusFlags & {
  signOut(options?: OpenfortHookOptions): Promise<void | { error: import("@openfort/react").OpenfortError }>
}
 
type SignOutStatusFlags = {
  isLoading: boolean
  isError: boolean
  isSuccess: boolean
  error?: import("@openfort/react").OpenfortError | null
}

Example

import { useSignOut } from "@openfort/react"
 
function LogoutButton() {
  const { signOut, isLoading, isError, isSuccess, error } = useSignOut({
    throwOnError: true,
    onSuccess: () => {},
    onError: () => {},
    onSettled: () => {},
  })
 
  return (
    <button onClick={() => signOut()} disabled={isLoading}>
      Sign out
    </button>
  )
}