oidc_android
The Android implementation of package:oidc.
Usage
This package is endorsed, which means you can simply use package:oidc
normally. This package will be automatically included in your app when you do.
Redirect handling (native setup)
This implementation opens the system browser via Chrome Custom Tabs and
captures the redirect_uri when the browser redirects back to your app.
The plugin ships its own transparent redirect receiver
(OidcRedirectActivity), so you do not add any <intent-filter> to your
MainActivity, and you do not change its launchMode or taskAffinity.
You only declare the scheme of your redirect_uri with a single manifest
placeholder.
Custom-scheme redirect (recommended, e.g. com.example.app://oauth2redirect)
In android/app/build.gradle, inside android { defaultConfig { … } }:
android {
defaultConfig {
// ... existing config ...
manifestPlaceholders += ['oidcRedirectScheme': 'com.example.app']
}
}
That's the entire native setup. Use a reverse-DNS scheme you own (per
RFC 8252 §7.1) and
make your redirect_uri com.example.app://oauth2redirect.
If you previously used
flutter_appauth, remove the oldappAuthRedirectSchemeplaceholder and any redirect<intent-filter>you hand-added toMainActivity— they are no longer used.
HTTPS App Links
For an https redirect you additionally need a verified
Android App Link:
host an assetlinks.json for your domain. Custom schemes need no such
verification and are the simpler choice for most apps.
Note on process death
The redirect is delivered in-memory to the running app. If the OS kills your app's process while the browser is open (rare, low-memory devices), the in-flight login cannot be resumed and the user must retry — the same limitation as comparable browser-based auth plugins.
