Create a Passwordless.dev SDK
This document provides guidelines for creating an official or community SDK for Passwordless.dev.
General recommendations
- Choose an open source license like Apache 2.0
- Host your code on GitHub or GitLab
- Name it
passwordless-{language/framework}
(e.g.passwordless-dotnet
) - Add documentation and examples (see below)
- Follow best practices for SDKs in the target ecosystem
Documentation
In your README
we recommend to give users the info they need to get started.
Introduction
- Mention that this is a community project
- Point users to the official Passwordless docs: https://docs.passwordless.dev
- ... and the admin portal to create an account: https://admin.passwordless.dev
Installation
Describe how to install / set up the SDK.
Getting Started
Provide a basic usage example.
API Reference
Document the SDK methods that wrap the Passwordless API.
Examples
Include a simple app that creates and verifies a passkey e.g. some examples might look like this:
Scope of the SDK
Use the API reference documentation as your blueprint on what methods to add. Please see the official SDKs (e.g. passwordless-dotnet and passwordless-nodejs) for a reference of methods and how to implement them.
Testing and CI / CD
Configure automated tests and CI / CD (e.g. GitHub Actions) for quality.
Language SDK vs. Framework SDK
We encourage different flavors of SDKs and integrations as described here:
- Language SDK: wraps the HTTP API in the target language, e.g.
dotnet
,python
, orruby
- Framework SDK: integrates the Language SDK into an opinionated framework, e.g. ASP.NET, Flask, Rails, Nuxt, or Laravel
- Plugin: integrates Passwordless.dev as a Plugin to a existing system, e.g. Wordpress, Umbraco, etc.
Support
Hope this helps provide some best practices for creating high-quality Passwordless SDKs! Let us know if you have any other questions by reaching out to [email protected].