Skip to content

useUser

Access the current authenticated user and account information.

Request

type Request = {
  hook: 'useUser',
  params: []
}

Response

type Response = UseUserReturn
 
type UseUserReturn = {
  user: AuthPlayerResponse | null
  isAuthenticated: boolean
  getAccessToken(): Promise<string | null>
}
 
type AuthPlayerResponse = {
  player?: {
    id: string
    object: 'player'
    name: string
    description?: string
    createdAt: number
    metadata?: { [key: string]: any }
    transactionIntents?: any[]
    accounts?: any[]
  }
  id: string
  object: 'player'
  createdAt: number
  linkedAccounts: LinkedAccount[]
}
 
type LinkedAccount = {
  provider: string
  email?: string
  address?: string
  externalUserId?: string
  verified?: boolean
  disabled: boolean
  walletClientType?: string
  connectorType?: string
  updatedAt?: number
  metadata?: { [key: string]: any }
}

Example

import { useUser } from "@openfort/react-native"
 
function ProfileScreen() {
  const { user, isAuthenticated, getAccessToken } = useUser()
 
  if (!isAuthenticated) return <SignInCard />
 
  return (
    <View>
      <Text>{user?.player?.name}</Text>
      <Button title="Refresh token" onPress={() => getAccessToken()} />
    </View>
  )
}