Sample backend application to demonstrate a relying party that supports passkeys. This example includes examples of the java-webauthn-server library, helper classes, code examples, best practices, and API schemas.
Explore the docs »
·
Report Bug
·
Request Feature
Table of contents
This project provides a sample relying party that supports passkeys. The objective is to provide samples that demonstrate to developers how to build a custom passkey enabled applications.
Our example is architected in a way for a developer to take advantage of multiple interfaces so that they may use the database, identity provider, and cloud environment in which they operate in. While the architectural components may differ from app to app, the fundamental logic remains fairly consistent between passkey applications.
Some of the features included in this project are:
- Examples of the primary registration and authentication methods used by passkey applications
- Defined REST API schema that can be leveraged across web and native applications
- Interfaces for plugging in your own database and identity provider
- Leveraging attestation and the FIDO Metadata Service
Disclaimer - This project is not meant to act as a production ready solution for all organizations. Please review the code, and make any modifications, so that it matches up to your security stack and policies.
The project, as-is, supports two forms of deployments:
- locally
- To AWS
Run the command below to deploy the application locally. The application/API will be accessible from localhost:8080
./mvnw spring-boot:run
Our sample uses AWS SAM to deploy the application to AWS. For this deployment you will need to ensure that you have downloaded the AWS CLI, and that the CLI has the correct credentials to deploy the various resources used in the project.
Once you are ready un the commands below to deploy the application locally.
sam build
sam deploy
Unless configured otherwise, this application will store data in-memory. Meaning, if the application is terminated, then all credentials will be lost. This application is meant to act as a demonstration, and not a production ready solution.
You may follow these steps to configure [REST OF THE CONTENT TO BE ADDED]
@TODO - To add content later
@TODO - To add content later
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the Apache-2.0 License. See LICENSE
for more information.
Project Link: https://github.com/YubicoLabs/yed-spoke-example