Skip to content
This repository has been archived by the owner on Jul 24, 2023. It is now read-only.
/ OpenYOLO-Android Public archive

Android protocol for credential exchange and update - "You Only Login Once"

License

Notifications You must be signed in to change notification settings

openid/OpenYOLO-Android

Repository files navigation

OpenYOLO for Android

Build Status codecov

OpenYOLO for Android is a protocol for storing, updating and assisting in the creation of user credentials apps. It can be used to assist in the sign-in and sign-up process for Android apps, and queries can be responded to by any installed credential provider on the device.

This repository contains the reference implementation of the OpenYOLO protocol, and the standard API and Service Provider Interface (SPI).

Example of auto sign-in

Project Status

OpenYOLO has reached beta production ready stage and can be integrated into production applications. The following credential providers include production implementations of OpenYOLO:

1Password Dashlane Google Smart Lock LastPass

The OpenYOLO for Android specification can be found here. This is currently under review as an implementor's draft by the Account Chooser and OpenYOLO Working Group, with the goal for it to reach final specification status in the near future.

Getting Started as a Client

Download

The client library for the OpenYOLO for Android protocol lives in the api directory. It allows you to easily manipulate credentials for your application by interacting with the credential provider of the user's choice. This allows you to:

  1. Automatically sign users into your app using saved credentials.
  2. Rapidly on-board new users by bootstrapping off of existing identities.
  3. Prompt users after sign-in/sign up to save their credentials for future automatic sign in.

Getting Started as a Credential Provider

Download

A getting started guide has not been written for credential providers. In its absence the protocol's specification as well as several sample implementations are good alternatives.