https://github.com/cedarcode/webauthn-rails-demo-app
Rails app demonstrating a WebAuthn password-less login
https://github.com/cedarcode/webauthn-rails-demo-app
rails ruby webauthn webauthn-demo webauthn-server
Last synced: 3 months ago
JSON representation
Rails app demonstrating a WebAuthn password-less login
- Host: GitHub
- URL: https://github.com/cedarcode/webauthn-rails-demo-app
- Owner: cedarcode
- License: apache-2.0
- Created: 2018-05-22T14:33:53.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2025-04-28T21:31:55.000Z (3 months ago)
- Last Synced: 2025-04-28T22:49:05.996Z (3 months ago)
- Topics: rails, ruby, webauthn, webauthn-demo, webauthn-server
- Language: HTML
- Homepage: https://webauthn.cedarcode.com
- Size: 1.16 MB
- Stars: 109
- Watchers: 5
- Forks: 40
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# WebAuthn Rails Demo App
Application demonstrating a [WebAuthn](https://en.wikipedia.org/wiki/WebAuthn) password-less login built with Ruby on Rails + [webauthn](https://github.com/cedarcode/webauthn-ruby) 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](https://github.com/cedarcode/webauthn-2fa-rails-demo).
## Want to try it?
### Option 1 — Visit the hosted version
* Visit https://webauthn.cedarcode.com
* Try logging in with
* a username;
* a [WebAuthn compatible authenticator](https://github.com/cedarcode/webauthn-ruby#prerequisites).### Option 2 — Run it locally
#### Prerequisites
* Ruby
#### Setup
```
$ git clone https://github.com/cedarcode/webauthn-rails-demo-app
$ cd webauthn-rails-demo-app/
$ bundle 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](https://medium.com/cedarcode/updating-gems-cheat-sheet-346d5666a181)