---
title: Authentication
description: Learn about setting up authentication in your Expo project.
hideTOC: true
---

import { BoxLink } from '~/ui/components/BoxLink';
import { CODE } from '~/ui/components/Text';

Expo can be used to login to many popular providers on iOS, Android, and web. [`expo-auth-session`](/versions/latest/sdk/auth-session/) package allows [browser-based authentication](/versions/latest/sdk/auth-session/#how-web-browser-based-authentication-flows-work) (using OAuth or OpenID Connect) to your project for Android, iOS, and the web. You can also implement authentication using native libraries for third-party providers with [development builds](/develop/development-builds/create-a-build).

<BoxLink
  title="AuthSession API"
  description={
    <>
      <CODE>expo-auth-session</CODE> is the easiest way to add web browser-based authentication (for
      example, browser-based OAuth flows) to your app.
    </>
  }
  href="/versions/latest/sdk/auth-session"
/>

<BoxLink
  title="Google authentication"
  description={
    <>
      A guide on using <CODE>@react-native-google-signin/google-signin</CODE> library to integrate
      Google authentication in your Expo project.
    </>
  }
  href="/guides/google-authentication"
/>

<BoxLink
  title="Facebook authentication"
  description={
    <>
      A guide on using <CODE>react-native-fbsdk-next</CODE> library to integrate Facebook
      authentication in your Expo project.
    </>
  }
  href="/guides/facebook-authentication"
/>

<BoxLink
  title="Apple Authentication"
  description={
    <>
      <CODE>expo-apple-authentication</CODE> provides Apple authentication for iOS 13 and higher.
    </>
  }
  href="/versions/latest/sdk/apple-authentication"
/>

<BoxLink
  title="Other authentication examples"
  description="A collection of examples for implementing web-based authentication in your Expo app using AuthSession API and other OAuth providers. "
  href="/guides/authentication"
/>
