Code Monkey home page Code Monkey logo

ma_passkeys's Introduction

Easy Auth

An inclusive and usable Implementation Demo App with Passkey and Password Registration Option

New Features on top of the original app

  • Overview page which presents two possibilities: Sign up with passkeys and with password. There you are shown more information on both authentication techniques.
  • In case there is no platform authenticator, the user is redirected to the password sign up directly
  • With available platform authenticator, a user is able to register passkeys in addition to a password.

Run it locally

Prerequisites

  • Ruby
  • yarn (or npm)
  • PostgreSQL

Setup

$ git clone https://github.com/Ebano/ma_passkeys
$ cd ma_passkeys/
$ cp .env.example .env
$ bundle install
$ yarn install (or npm install)
$ bundle exec rake db:setup

Running

$ bundle exec rails s

The page is available under http://localhost:3000.


Original WebAuthn Rails Demo App

Application demonstrating a WebAuthn password-less login built with Ruby on Rails + webauthn ruby gem.

If you want to see an implementation of WebAuthn as a second factor authenticator in a Rails application, you can check it in webauthn-2fa-rails-demo.

Travis

Want to try it?

Option 1 — Visit the hosted version

Option 2 — Run it locally

Prerequisites

  • Ruby
  • yarn (or npm)
  • PostgreSQL

Setup

$ git clone https://github.com/cedarcode/webauthn-rails-demo-app
$ cd webauthn-rails-demo-app/
$ cp .env.example .env
$ bundle install
$ yarn install (or npm install)
$ bundle exec rake db:setup

Running

$ bundle exec rails s

Now you can visit http://localhost:3000 to play with the demo site.

Development

Gem Update Policy

Gemfile Version Constraints

In Gemfile define gem dependencies using a version contrainst of ~> MAJOR.MINOR by default (or ~> 0.MINOR.PATCH if latest MAJOR is 0), unless you have reasons to use something different. An example of an exception could be rails, which is known to make backwards-incompatible changes in minor level updates, so in that case we use ~> MAJOR.MINOR.PATCH.

Updating

$ gem install bundler-audit
$ bundle audit --update
$ bundle update --conservative --group test development
$ bundle update --strict --patch
$ bundle update --strict --minor
$ bundle update --major
$ bundle outdated --groups

More in:

Updating gems cheat sheet

ma_passkeys's People

Contributors

grzuy avatar brauliomartinezlm avatar santiagorodriguez96 avatar ebano avatar bdewater avatar dependabot[bot] avatar jlduran avatar sandergroen avatar

Watchers

 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.