--- category: '@Firebase' --- # useAuth Reactive [Firebase Auth](https://firebase.google.com/docs/auth) binding. It provides a reactive `user` and `isAuthenticated` so you can easily react to changes in the users' authentication status. ## Usage ```vue ``` ## Type Declarations ```ts export interface UseFirebaseAuthOptions { isAuthenticated: ComputedRef; user: Ref; } /** * Reactive Firebase Auth binding * * @see https://vueuse.org/useAuth * * @__NO_SIDE_EFFECTS__ */ export declare function useAuth(auth: Auth): { isAuthenticated: ComputedRef; user: Ref< { readonly emailVerified: boolean; readonly isAnonymous: boolean; readonly metadata: { readonly creationTime?: string | undefined; readonly lastSignInTime?: string | undefined; }; readonly providerData: { readonly displayName: string | null; readonly email: string | null; readonly phoneNumber: string | null; readonly photoURL: string | null; readonly providerId: string; readonly uid: string; }[]; readonly refreshToken: string; readonly tenantId: string | null; delete: () => Promise; getIdToken: (forceRefresh?: boolean) => Promise; getIdTokenResult: (forceRefresh?: boolean) => Promise; reload: () => Promise; toJSON: () => object; readonly displayName: string | null; readonly email: string | null; readonly phoneNumber: string | null; readonly photoURL: string | null; readonly providerId: string; readonly uid: string; } | null, | User | { readonly emailVerified: boolean; readonly isAnonymous: boolean; readonly metadata: { readonly creationTime?: string | undefined; readonly lastSignInTime?: string | undefined; }; readonly providerData: { readonly displayName: string | null; readonly email: string | null; readonly phoneNumber: string | null; readonly photoURL: string | null; readonly providerId: string; readonly uid: string; }[]; readonly refreshToken: string; readonly tenantId: string | null; delete: () => Promise; getIdToken: (forceRefresh?: boolean) => Promise; getIdTokenResult: (forceRefresh?: boolean) => Promise; reload: () => Promise; toJSON: () => object; readonly displayName: string | null; readonly email: string | null; readonly phoneNumber: string | null; readonly photoURL: string | null; readonly providerId: string; readonly uid: string; } | null >; }; ```