Develop
Develop
Select your platform

Authentication

Updated: Nov 26, 2025

Overview

Meta Horizon OS supports two authentication approaches: OAuth 2.0 for third-party account authentication (covered on this page), and Meta Account Linking for linking user accounts to Quest accounts (see Account Linking). You can use one or both depending on your app’s needs.

OAuth 2.0 authentication

If your application relies on OAuth 2.0 for authentication and authorization, Meta Horizon OS supports any provider that utilizes Private-Use URI Scheme Redirection.

Prerequisites

Add the AppAuth library to your build.gradle:
dependencies {
    implementation 'net.openid:appauth:0.11.1'
}
Use the AppAuth library when implementing OAuth 2.0 flows. See the AppAuth documentation for implementation details.

Horizon OS configuration

To receive OAuth redirect callbacks, add an intent filter to your Activity in AndroidManifest.xml:
<intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <data android:scheme="your.app.scheme" android:host="oauth2redirect" />
</intent-filter>
The BROWSABLE category is required for the system to route browser-based OAuth redirects to your app. Replace your.app.scheme with your app’s unique custom URI scheme (for example, com.yourcompany.yourapp).

Device code authentication

If you’re building a streaming or media app, you must offer device code login (as specified in RFC 8628) or another authentication flow optimized for devices without keyboards (such as QR code login or mobile companion app authentication). See Media app requirements for details.

Additional resources

Android documentation

Did you find this page helpful?