Skip to content
This repository has been archived by the owner on Jan 22, 2023. It is now read-only.
/ webauthn-helper Public archive

JS functions to ease the use of the library or the Symfony bundle

License

Notifications You must be signed in to change notification settings

web-auth/webauthn-helper

Repository files navigation

Webauthn Helper

This package contains helper functions to handle Webauthn registration and authentication. It is primarily designed to be used with the Web-Auth Framework from Spomky-Labs.


⚠️⚠️⚠️

This library is now deprecated and not maintained anymore. We highly recommend you to use the new SimpleWebAuthn Project as it offers lots of nice features and is fully compatible with the specification.

⚠️⚠️⚠️

Installation

With Yarn:

yarn add @web-auth/webauthn-helper

Usage

Registration

// Import the tool(s) ou need
import {useRegistration} from '@web-auth/webauthn-helper';

// We want to register new authenticators
const register = useRegistration({
    actionUrl: '/api/register',
    optionsUrl: '/api/register/options'
});

register({
    username: 'FOO4',
     displayName: 'baR'
})
    .then((response)=> console.log('Registration success'))
    .catch((error)=> console.log('Registration failure'))
;

Authentication

import {useLogin} from '@web-auth/webauthn-helper';

const login = useLogin({
    actionUrl: '/api/login',
    optionsUrl: '/api/login/options'
});

login({
    username: 'FOO4'
})
    .then((response)=> console.log('Login success'))
    .catch((error)=> console.log('Login failure'))
;

Additional Header Parameters

For both useLogin and useRegistration methods, you can add custom header parameters.

import {useLogin} from '@web-auth/webauthn-helper';

const login = useLogin({
    loginUrl: '/api/login',
    actionHeader: {
        'X-TOKEN': 'Secured-TOKEN!!!'
    },
    loginOptions: '/api/login/options',
    optionsHeader: {
        'X-TOKEN': 'Secured-TOKEN!!!',
        'X-OTHER-PARAM': '1,2,3,4'
    }
});

Support

I bring solutions to your problems and answer your questions.

If you really love that project, and the work I have done or if you want I prioritize your issues, then you can help me out for a couple of 🍻 or more!

Become a sponsor

Or

Become a Patreon

Contributing

Requests for new features, bug fixed and all other ideas to make this framework useful are welcome. If you feel comfortable writing code, you could try to fix opened issues where help is wanted or those that are easy to fix.

Do not forget to follow these best practices.

If you think you have found a security issue, DO NOT open an issue. You MUST submit your issue here.

Licence

This software is release under MIT licence.