webauthn | server side | Binary Executable Format library

 by   davidearl PHP Version: Current License: MIT

kandi X-RAY | webauthn Summary

kandi X-RAY | webauthn Summary

webauthn is a PHP library typically used in Programming Style, Binary Executable Format applications. webauthn has no bugs, it has no vulnerabilities, it has a Permissive License and it has low support. You can download it from GitHub.

webauthn allows for log in or second factor authentication for web sites that support the protocol in browsers that also support it, using a physical key (such as a Yubikey 2 security key or Google's Titan USB key), biometrics such as fingerprints and face recognition, and now even your Windows 10 login PIN. Webauthn was announced for Firefox 60 in May 2018 and also later added to Chrome 67 later in 2018. Windows 10 version 1903 distributed in summer 2019 links the Windows password-less login system to webauthn, meaning that the same methods used to log in to Windows 10 can now also be used to log in to (or as second factor authentication for) web sites supporting webauthn. Somewhere along the line Android also added webauthn support for fingerprint readers. Chrome and Firefox on Mac also support webauthn via MacBook built-in fingerprint readers and also USB keys (Yubico 2/5, Titan). Sadly, iOS is lagging behind as of August 2019: nothing on iPhone or iPad supports webauthn, to my knowledge. The idea of the age of password-less logins was widely broadcast in the technical press when Firefox 60 first came out. But the reality is the whole thing is just too complicated for easy adoption. It needs another layer to simplify it for routine use. There are a couple examples in Javascript (see the "coffee" example). But the whole point is that the challenge and authentication must be done server-side. There are also now implementations for Go, Ruby, Python, Java and .NET at webauthn.io, but PHP support is very limited, hence this library. Webauthn is fiendishly complicated, not so much in the cryptography as the way the structures are packed and named. Unnecessarily so (CBOR? What? Surely browsers could have unpacked it from that even if space is at such a premium that keys themselves require this weird binary format; and why not produce the key in PEM format. And so on). So I spent quite a while translating the "coffee" example into a PHP class for Yubico 2 keys, while doing the minimum at the browser side (just unpacking enough to put into a convenient JSON form to transport to the server), and I thought I would share it. Several others have since helped with support for broader application with fingerprints and Windows Hello.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              webauthn has a low active ecosystem.
              It has 91 star(s) with 16 fork(s). There are 14 watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              There are 14 open issues and 20 have been closed. On average issues are closed in 16 days. There are 3 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of webauthn is current.

            kandi-Quality Quality

              webauthn has no bugs reported.

            kandi-Security Security

              webauthn has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.

            kandi-License License

              webauthn is licensed under the MIT License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              webauthn releases are not available. You will need to build from source code and install.

            Top functions reviewed by kandi - BETA

            kandi has reviewed webauthn and discovered the below as its top functions. This is intended to give you an instant insight into webauthn implemented functionality, and help decide if they suit your requirements.
            • register a user
            • Authenticate user .
            • Convert a binary string to PKCS .
            • Generates a challenge for registration
            • Prepare for login
            • Convert public key to PEM format
            • Get random bytes
            • Convert binary string to array
            • Convert an array to string
            • Throw an error .
            Get all kandi verified functions for this library.

            webauthn Key Features

            No Key Features are available at this moment for webauthn.

            webauthn Examples and Code Snippets

            No Code Snippets are available at this moment for webauthn.

            Community Discussions

            QUESTION

            Element is not clickable at point (80, 82). Other element would receive the click
            Asked 2021-Jun-09 at 13:33

            I have a Angular application which I want to automate using Java and Selenium Web Driver. In my case I have tab which is displayed after progress bar:

            ...

            ANSWER

            Answered 2021-Jun-09 at 13:14

            It's hard to guess without seeing the screenshot of the failure, but I'll try.
            There are several things I think about that can help.

            1. Start browser maximized with

            Source https://stackoverflow.com/questions/67904425

            QUESTION

            Maven build breaks 'Could not find artifact com.fasterxml.jackson:jackson-base:pom:2.12.1.redhat-00001'
            Asked 2021-Jun-08 at 14:52

            The maven build of our project fails with this error:

            ...

            ANSWER

            Answered 2021-Jun-08 at 14:52

            Those Yubico guys uses version ranges:

            Source https://stackoverflow.com/questions/67889185

            QUESTION

            Python WebAuthn: Unable to verify attestation statement format
            Asked 2021-May-20 at 16:36

            I have implemented some sort of password-less authentication using DUO lab's webauthn using Django. However, I keep getting this error:

            ...

            ANSWER

            Answered 2021-May-20 at 16:36

            The current version of the webauthn library only supports the following attestation formats:

            • "fido-u2f"
            • "packed"
            • "none"

            You mentioned you're trying to register an Android device - without seeing a response you're getting back from the call to navigator.credentials.create() I'd make an educated guess that you're getting responses with "android-safetynet" or "android-key" attestation statements which the library is unable to verify.

            Source https://stackoverflow.com/questions/67591367

            QUESTION

            How to resolve this error on came from Xpath?
            Asked 2021-May-14 at 08:28

            Using the code bellow I wanted to extract gold price by using xpath and then use liner regression to do basic predictions.

            ...

            ANSWER

            Answered 2021-May-14 at 08:28

            QUESTION

            DUO-LABS WebAuthn: Server validation of credential failed: registration failed. error: registration rejected. error: unable to verify origin
            Asked 2021-May-13 at 06:01

            I tried implementing a fingerprint-based authentication using DUO-lab's Python's webauthn package. I however ran into this error:

            ...

            ANSWER

            Answered 2021-May-10 at 19:46

            I think the issue is that there's a trailing slash on your ORIGIN value.

            Peering into the attestation response's cliendDataJSON, the origin is reported as "https://nacesdecide.herokuapp.com":

            Looking at how the Duo WebAuthn library verifies this response, the basic origin comparison is failing because your ORIGIN of "https://nacesdecide.herokuapp.com/" is not equivalent to the response's origin:

            Source https://stackoverflow.com/questions/67467724

            QUESTION

            How does relying party determine the user when resident keys are used?
            Asked 2021-May-06 at 00:47

            When client-side discoverable resident keys are used with WebAuthN, it is not necessary for the relying party to first identify the user trying to sign in. How then does the RP know which user signed in? Does the RP just receive the AuthenticatorAssertionResponse and get the user.id from that?

            ...

            ANSWER

            Answered 2021-May-06 at 00:47

            The value of response.userHandle in an assertion response can be used to identify the user that's logging in - it will equal whatever was set to user.id in the PublicKeyCredentialCreationOptions that were passed to navigator.credentials.create().

            userHandle is a potentially undefined value, but when resident keys are required during attestation then the authenticator must remember the user ID - see Step 7.4 of the authenticatorMakeCredential operation (the user handle is part of the key the authenticator uses in its internal credentials map to remember a discoverable credential for a given RP ID and user handle).

            Source https://stackoverflow.com/questions/67410293

            QUESTION

            WebAuthn Issue Due to Split Architecture
            Asked 2021-Apr-21 at 13:48

            I am currently developing in a standalone (Not .Net Core Hosted) Blazor WebAssembly app in .Net 5.0. I have been trying to convert a couple Asp.Net MVC WebAuthn examples over into my Blazor app for Passwordless Authentication.

            The issue I am experiencing now is due to this app's architecture since it is not a Blazor Server app. The Asp.Net MVC example I am following has everything including the client hosted on the server whereas my app is split Web Client/ Web API architecture.

            So far however, I have managed to get most of the way through these differences but now the issue I am having is in the last functionality of registering the credential with the server within the Make Credential request of the Fido2NetLib Library. on line:

            ...

            ANSWER

            Answered 2021-Apr-21 at 01:45

            WebAuthn defines the origin to be the fully qualified origin. Per referenced RFC6454, this is the tuple of scheme, host, and port. You can't go breaking the rules without deviating from the standard.

            Source https://stackoverflow.com/questions/67186593

            QUESTION

            Check if credential exists without prompting for fingerprint in Android
            Asked 2021-Apr-21 at 07:00

            Is there an API or other method for determining if a credential exists on the device that doesn't require taking my fingerprint first in Android?

            Currently, I can call getSignPendingIntent(PublicKeyCredentialRequestOptions) with a particular credential id and then I'll be prompted to use my fingerprint. After giving my fingerprint, I'll either get an error response returned if the credential does not exist on the device or get a success response if it does exist.

            Is there another method to determine if a credential exists on the device?

            One reason for needing to know this is if a customer has registered a credential on device A, but then visits the website on device B. If they are on device B, I don't want to prompt them for a fingerprint to know if they can use their WebAuthN credential. I want to check if the credential exists first and otherwise fall back to the standard authentication method.

            ...

            ANSWER

            Answered 2021-Apr-21 at 07:00

            There is no way to be 100% sure. Best possible solution as of today is storing the credential id in local storage (or a cookie) where it was created. That way, you can check if you should offer fingerprint login (aka. Platform Authenticator) option on that device, i.e., in that browser.

            There's been some attempts in FIDO Alliance and W3C WebAuthn WG to change this, but so far it has not been done mainly due to privacy reasons.

            Source https://stackoverflow.com/questions/67183730

            QUESTION

            How to Reset WebAuthn (FIDO) Dongle Password?
            Asked 2021-Apr-14 at 07:28

            I am implementing WebAuthn for my website and I set the userVerification: "required". I set a password on my dongle. How can I reset my dongle password?

            ...

            ANSWER

            Answered 2021-Apr-14 at 07:23

            on mac os you can use the below link on your chrome device :

            Source https://stackoverflow.com/questions/67087168

            QUESTION

            selenium.ScriptTimeoutException: java.util.concurrent.TimeoutException
            Asked 2021-Apr-13 at 23:14

            I have Cucumber tests that run in parallel via Maven Surefire plugin. Sometimes the code throws me an error: selenium.ScriptTimeoutException: java.util.concurrent.TimeoutException which is obviously related to parallel run. But I have no idea how to avoid it.

            Here is the whole error log:

            ...

            ANSWER

            Answered 2021-Apr-13 at 18:36

            So the solution was to restrict the number of parallel runs because of resources on my VPS. Example from my pom.xml

            Source https://stackoverflow.com/questions/66999222

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install webauthn

            You can download it from GitHub.
            PHP requires the Visual C runtime (CRT). The Microsoft Visual C++ Redistributable for Visual Studio 2019 is suitable for all these PHP versions, see visualstudio.microsoft.com. You MUST download the x86 CRT for PHP x86 builds and the x64 CRT for PHP x64 builds. The CRT installer supports the /quiet and /norestart command-line switches, so you can also script it.

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/davidearl/webauthn.git

          • CLI

            gh repo clone davidearl/webauthn

          • sshUrl

            git@github.com:davidearl/webauthn.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Consider Popular Binary Executable Format Libraries

            wasmer

            by wasmerio

            framework

            by aurelia

            tinygo

            by tinygo-org

            pyodide

            by pyodide

            wasmtime

            by bytecodealliance

            Try Top Libraries by davidearl

            jcomma

            by davidearlPHP

            jflower

            by davidearlHTML