Skip to content

Duo two-factor authentication for Ruby web applications

License

Notifications You must be signed in to change notification settings

KennaSecurity/duo_ruby

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Overview

Build Status

duo_ruby - Duo two-factor authentication for Ruby web applications: https://duo.com/docs/duoweb

This package allows a web developer to quickly add Duo's interactive, self-service, two-factor authentication to any web login form - without setting up secondary user accounts, directory synchronization, servers, or hardware.

What's here:

  • js - Duo Javascript library, to be hosted by your webserver.
  • lib/duo_web.rb - Duo Ruby SDK to be integrated with your web application
  • test/test_duo_web.rb - Unit tests for our SDK

Installing

Development:

$ git clone https://github.com/duosecurity/duo_ruby.git
$ cd duo_ruby

System:

$ gem install duo_web

Or add the following to your project:

gem 'duo_web', '~> 1.0'

Using

$ irb -r ./lib/duo_web.rb
irb(main):001:0> Duo.sign_request(ikey, skey, akey, username)
=> "TX|...TX_SIGNATURE...==|...TX_HASH...:APP|...APP_SIGNATURE...==|...APP_HASH..."

Demo

$ gem install thin
  • Configure server.rb with host, ikey, skey, akey, and username from your WebSDK integration
class DuoLoginAdapter
  def initialize
    @host = 'yournamehere.duosecurity.com'
    @ikey = 'aaaaaaaaaaaaaaaaaaaa'
    @skey = 'vDMdvfJAo6Mhb4ZEuQzNXRe2MvrzXD9qYnpbhOZK'
    @akey = 'vDMdtfQUo6Mhb4JEuQzNXRe0MvszXD9qYnpbh1PZ'
    @username = 'your_duo_username'
    ...
  • Start the demo
$ ruby server.rb

Testing

$ rake
Loaded suite /usr/lib/ruby/vendor_ruby/rake/rake_test_loader
Started
..

Finished in 0.001006152 seconds.
---------------------------------------------------------------------------------------
2 tests, 13 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed
---------------------------------------------------------------------------------------
1987.77 tests/s, 12920.51 assertions/s

Linting

$ rubocop

Support

Report any bugs, feature requests, etc. to us directly: [email protected]

About

Duo two-factor authentication for Ruby web applications

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 61.8%
  • Ruby 37.6%
  • CSS 0.6%