openid/AppAuth-Android

Android client SDK for communicating with OAuth 2.0 and OpenID Connect providers.

View on GitHub ↗Jump to charts ↓

Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 13 minutes ago
Added to GitGenius on September 21st, 2026
Created on February 19th, 2016
Open Issues & Pull Requests: 239 (+0)
GitHub issues: Enabled
Number of forks: 1,012
Total Stargazers: 3,241 (+0)
Total Subscribers: 240 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 18.7 days
Mean response time: 75.3 days
90th percentile: 176.2 days
Tracked items: 49

How this project is maintained

100% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "question" is answered fastest, typically in about 9 days, while "enhancement" waits about 8 weeks. Three people close 83% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 43
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 780 days
Stale 30+ days: 43
Stale 90+ days: 41

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • question (22)
  • bug (19)
  • enhancement (17)
  • provider-behavior (1)

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

AppAuth for Android is a client SDK for communicating with OAuth 2.0 and OpenID Connect providers.

The library solves the problem of securely implementing OAuth 2.0 and OpenID Connect flows on Android by directly mapping the requests and responses of those specifications while following Android idioms. It implements best practices from RFC 8252 for native apps, including mandatory use of Custom Tabs for authorization requests instead of WebView, which the library explicitly does not support due to usability and security concerns. The library also supports the PKCE extension for securing authorization codes in public clients and is designed to handle additional parameters in protocol requests and responses, making it friendly to other standard or custom extensions.

Developers should choose this library if they are building Android applications that need to authenticate users through OAuth 2.0 or OpenID Connect providers. It works with any Authorization Server that supports native apps as documented in RFC 8252, using either custom URI scheme redirects or App Links. The library requires Android API 16 and above, though Custom Tabs are preferred when available. It is not suitable for Authorization Servers that assume all clients are web-based or require clients to maintain confidentiality of client secrets. The core design encapsulates authorization state in an AuthState class that can be persisted as JSON using any storage mechanism, and provides an AuthorizationService class for server communication, along with convenience methods for common tasks like obtaining fresh tokens.

The project maintains a demo application within the repository to illustrate usage patterns. Development activity shows consistent engagement with the specification standards that underpin the library's design.