turbo-garbanzo

AppAuth for Android is a client SDK facilitating communication with OAuth 2.0 and OpenID Connect providers, mapping protocol flows and offering convenience methods for tasks like refreshing tokens.

23
4

turbo-garbanzo

AppAuth for Android is a client SDK for OAuth 2.0 and OpenID Connect providers, mapping specification requests/responses while adhering to Android's style. It offers convenience methods for tasks like refreshing tokens. Following RFC 8252, it uses Custom Tabs for authorization, explicitly avoiding WebView for usability and security. It supports the PKCE extension for securing authorization codes in public clients.

The library is available on MavenCentral. It requires Android API 16+ and prefers browsers with Custom Tabs. It works with any Authorization Server supporting native apps via custom URI schemes or App Links. A demo app is included for reference.

AppAuth encapsulates user authorization state in the AuthState class and communicates via the AuthorizationService class. AuthState is persistable as JSON. User authorization occurs via the browser using AuthorizationRequest instances dispatched by AuthorizationService. Token requests follow a similar pattern. performActionWithFreshTokens() refreshes tokens as needed.

Repository

ME
mercerheather476

mercerheather476/turbo-garbanzo

Created

August 7, 2022

Updated

March 13, 2025

Category

Developer Tools