Git Product home page Git Product logo

nhsconnect.nhsapp-fido-client-android's Introduction

FIDO UAF (Universal Authentication Framework) client for Android

You can use the FIDO UAF client to authenticate logging in to Android apps without a password.

Use it to:

  • register biometric details, such as fingerprint
  • authorise against registered biometric details

Releases

Maven central

Requirements

  • Android Marshmallow or above
  • Minimum SDK 21, target SDK 27 and above

Installation

To use the client in your own application, you need to add a Maven reference to your build configuration.

Releases can be found on Maven Central, or see the instructions below for making changes and generating your own artifacts locally.

Generating Maven artifacts

To generate a new set of Maven artifacts once you have made a code change:

  1. Update the build version in fidoclient/build.gradle

    ext.build_version = '1.0.3-SNAPSHOT'

    Ensure to remove the -SNAPSHOT suffix for publishing to the releases repository.

  2. Build and publish the artifacts to the local Maven repository:

    $ ./gradlew clean build publishAllPublicationsToLocalMavenRepository
  3. There are separate local repositories configured for snapshot and release builds. Reference the local snapshot Maven repository in your Android project.

    allprojects {
      repositories {
        maven {
          "file:./path/to/nhsapp-fido-client-android/fidoclient/build/maven/snapshots"
        }
      }
    }
    
    dependencies {
      implementation 'io.github.nhsconnect:fido-uaf-client-android:1.0.3-SNAPSHOT'
    }

Error handling

The client throws the following errors:

FidoAssertionException
FidoInvalidSignatureException
GenericFidoException

Contribute

We appreciate contributions and there are several ways you can help. For more information, see our contributing guidelines.

Get in touch

The FIDO UAF (Universal Authentication Framework) client for Android is maintained by NHS Digital. Email us or open a GitHub issue.

Reporting vulnerabilities

If you believe you've found a vulnerability or security concern in the client, please report it to us:

  1. Submit a vulnerability report through HackerOne's form.

  2. Put "FAO NHS Digital's NHS App team" in the first line of the description.

License

The codebase is released under the MIT License, unless stated otherwise. This covers both the codebase and any sample code in the documentation.

The FIDO UAF (Universal Authentication Framework) client for Android is based on an open source implementation created by eBay. eBay's project has an Apache 2.0 license, which permits commercial use and modifications.

We use a subset of eBay's implementation. We converted those files we used from Java to Kotlin and we heavily modified most of them. The original copyright notices on each converted file are retained.

nhsconnect.nhsapp-fido-client-android's People

Contributors

ieatsandvich avatar leegathercole avatar spdevlin avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.