Android Openid Connect

A sample Android app that communicates with a non-Google OpenID Connect provider.
Alternatives To Android Openid Connect
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Enki823
a year ago7otherRuby
A Ruby on Rails blogging app for the fashionable developer. It's better than Mephisto or SimpleLog
Yii2 Authclient4561,3642022 days ago32September 04, 202222bsd-3-clausePHP
Yii 2 authclient extension.
Assent2912317 days ago30March 01, 20224mitElixir
Multi-provider framework in Elixir
Engineauth160
7 years ago8otherPython
Multi-Provider Authentication for App Engine
Aerogear Ios Oauth2144
124 years ago10October 22, 2018apache-2.0Swift
Client library for OAuth2/OpenID Connect
Passport Google1371,140696 years ago4February 11, 201323mitJavaScript
Google (OpenID) authentication strategy for Passport and Node.js.
Openid Component103
9 years agoPHP
An OpenID component for CakePHP
Spring Boot Security Oauth2 Google61
4 years ago2Java
Microservice using OAuth 2.0 and OpenID Connect to authenticate into Google and get information to a user.
Flask Googlefed56
8 years ago1March 04, 2012otherPython
Google Federated Logins for Flask.
Omniauth Google Apps4414798 years ago3September 27, 20137Ruby
OmniAuth strategy for Google Apps.
Alternatives To Android Openid Connect
Select To Compare


Alternative Project Comparisons
Readme

OpenID Connect Sample for Android

The app icon with the OpenID logo.

An Android app that communicates with a non-Google OpenID Connect provider.

Please note:
This is currently unmaintained, check out kalemontes/OIDCAndroidLib instead.

Use Google’s own APIs, if you want to connect to their OpenID provider servers. This project is meant to connect to non-Google providers, which those APIs don’t support.

Since OpenID Connect is basically an extension of OAuth 2, it’s convenient to use readily available libraries as the foundation. This is built upon google-oauth-java-client.

Features

  • integration with Android’s AccountManager
  • support for multiple accounts
  • login/authorisation via a WebView
  • refreshing tokens when needed
  • requesting user information
  • making authenticated API calls
  • heavily commented code

Usage

You’ll need to register your app with an OIDC provider and put your configuration data into Config.java.

When you launch the app, you’ll see this:

The app with a button prompting the user to log in.

Tapping the button will let you log in to the provider and authorise the app to use your data.

An Android WebView displaying a provider’s authorisation form.

If all goes well:

  1. the app gets authorisation
  2. the tokens are saved and associated with an account using Android’s AccountManager
  3. the button will indicate that you’ve logged in by displaying your username. (Assuming that the provider has set preferred_username.)

You can add more accounts via Android’s settings. When there are multiple accounts, the app will ask you to choose one of them when logging in.

Dependencies

This project depends on the following libraries. They are fetched automatically via Maven. The last three are for convenience and can probably be written out if needed.

History

This project was originally made to be included in the Ach So! Learning Layers project.

It was developed by Leo Nikkilä at the Learning Environments research group of Aalto University, Finland.

Legalese

Licensed under the MIT licence. See LICENSING.md.

Popular Openid Projects
Popular Google Projects
Popular Security Categories

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Java
Google
Oauth
Openid
Openid Connect