OAuth SDKs
¶ Overview
Uber provides official SDKs for Web, Android, and iOS platforms to simplify integration with Uber’s OAuth authorization code flow. Using the SDKs offers a faster and better integration experience compared to manual implementation, with built-in support for advanced features.
¶ Why Use Uber OAuth SDKs?
The SDKs provide several advantages over manual OAuth integration:
- Simplified Integration: Streamlined API with minimal configuration required
- Built-in Best Practices: Automatic handling of PKCE, state parameters, and token management
- Profile Sharing: Easy integration with the
/par
endpoint for pre-populating user information - Mobile SSO: Seamless app-to-app authentication via universal links (Android and iOS only)
- Maintained & Supported: Regular updates and official support from Uber
¶ Available SDKs
Platform | SDK | Documentation |
---|---|---|
Web | Uber Web SDK | Web SDK Documentation |
Android | Uber Rides Android SDK | Authentication Module |
iOS | Uber iOS SDK (UberAuth) | UberAuth README |
¶ Key Features
¶ 1. Profile Sharing via PAR Endpoint
The SDKs simplify integration with Uber’s Pushed Authorization Request (PAR) endpoint, which allows you to pre-populate user information in the login/signup flow.
How it works:
- Send user information (email, phone, first name, last name) to the
/oauth/v2/par
endpoint - Receive a
request_uri
that references your authorization request - Use the
request_uri
in the authorization flow to pre-populate user data
For detailed PAR endpoint specifications and examples, see PAR API Reference.
¶ 2. Mobile SSO with Universal Links (Android & iOS)
The Android and iOS SDKs provide seamless app-to-app Single Sign-On (SSO) using universal links. This feature:
- Opens the installed Uber app for authentication when available
- Falls back to browser-based OAuth when no Uber app is installed
- Provides a faster, more native authentication experience
- Eliminates the need for users to re-enter credentials
Universal Link Endpoints:
Endpoint | Targets | When to Use |
---|---|---|
/oauth/v2/universal/authorize |
All Uber apps | Your customer base spans multiple cohorts (riders, eaters, drivers) |
/oauth/v2/riders/authorize |
Uber Rides app | Your customers are primarily riders/consumers |
/oauth/v2/eats/authorize |
Uber Eats app | Your customers are primarily Uber Eats users |
/oauth/v2/drivers/authorize |
Uber Driver app | Your customers are primarily drivers/couriers |
Choosing the Right Endpoint:
/universal/authorize
: Use when your customer base spans multiple cohorts (riders, eaters, drivers). When multiple Uber apps are installed, the system opens apps in precedence order: Rides → Eats → Driver- Cohort-specific endpoints (
/riders
,/eats
,/drivers
): Use when targeting a specific user base for better SSO coverage. Always opens the targeted app directly
The SDKs provide configurable options to specify which universal link endpoint to use for SSO.
¶ Getting Started
To get started with Uber OAuth SDKs, choose your platform:
- Web: Follow the Web SDK Documentation
- Android: Integrate the Authentication Module
- iOS: Set up UberAuth
¶ Manual Integration Alternative
If you prefer not to use the SDKs, you can manually integrate with Uber’s OAuth authorization code flow. However, you will need to:
- Directly integrate with the
/par
endpoint for profile sharing - Implement your own PKCE flow and state parameter handling
- Manually configure universal links for mobile SSO (if needed)
For manual integration, refer to:
- OAuth Authorization Code Flow - Complete OAuth implementation guide
- PAR API Reference - Profile sharing endpoint specification
¶ Related Documentation
- OAuth Authorization Code Flow - Complete OAuth implementation details
- PAR API Reference - Pushed Authorization Request endpoint
- OAuth Token Revocation - Token lifecycle management
- OAuth Scopes - Available permission scopes