yubikey 1.3.0 → 1.3.1

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # yubikey
2
2
 
3
- [![Build Status](https://travis-ci.org/rainforestapp/yubikey.png?branch=master)](https://travis-ci.org/rainforestapp/yubikey)
3
+ [![Build Status](https://travis-ci.org/titanous/yubikey.png?branch=master)](https://travis-ci.org/titanous/yubikey)
4
4
 
5
5
  ## Description
6
6
 
@@ -31,7 +31,7 @@ begin
31
31
  otp = Yubikey::OTP::Verify.new(:api_id => 1234,
32
32
  :api_key => 'NiSwGZBQ0gTbwXbRGWAf4kM5xXg=',
33
33
  :otp => 'dteffujehknhfjbrjnlnldnhcujvddbikngjrtgh')
34
-
34
+
35
35
  if otp.valid?
36
36
  p 'valid OTP'
37
37
  elsif otp.replayed?
@@ -57,14 +57,11 @@ Then run bundle install.
57
57
  ## Copyright
58
58
 
59
59
  ### Ruby library
60
- Written by [Jonathan Rudenberg](https://github.com/titanous) <jon335@gmail.com>
61
- Copyright (c) 2009 Jonathan Rudenberg
62
- The MIT License. See LICENSE.
60
+
61
+ Written by [Jonathan Rudenberg](https://github.com/titanous). Copyright (c) 2009 Jonathan Rudenberg
62
+
63
+ The MIT License. See [LICENSE](https://github.com/titanous/yubikey/blob/master/LICENSE).
63
64
 
64
65
  ### Contributors
65
- - Carl Byström
66
- - Erik Ruwalder
67
- - [Russell Smith](https://github.com/ukd1)
68
- - [Chris Lundquist](https://github.com/ChrisLundquist)
69
- - [Maarten van Grootel](https://github.com/maartenvg)
70
- - [Chris Benedict](https://github.com/chrisbdaemon)
66
+
67
+ [List of contributors](https://github.com/titanous/yubikey/graphs/contributors)
@@ -4,9 +4,13 @@ $LOAD_PATH.unshift(File.dirname(__FILE__)) unless
4
4
  require 'net/https'
5
5
  require 'openssl'
6
6
 
7
- module Yubikey; end;
8
-
7
+ require 'yubikey/configuration'
9
8
  require 'yubikey/hex'
10
9
  require 'yubikey/modhex'
11
10
  require 'yubikey/otp'
12
11
  require 'yubikey/otp_verify'
12
+
13
+ module Yubikey
14
+ extend Configuration
15
+ end
16
+
@@ -0,0 +1,42 @@
1
+ module Yubikey
2
+ # Defines constants and methods related to configuration
3
+ module Configuration
4
+ # An array of valid keys in the options hash when configuring a Yubikey::OTP::Verify
5
+ VALID_OPTIONS_KEYS = [
6
+ :api_id,
7
+ :api_key,
8
+ ].freeze
9
+
10
+ # By default, don't have an api_id
11
+ DEFAULT_API_ID = nil
12
+
13
+ # By default, don't have an api_key
14
+ DEFAULT_API_KEY = nil
15
+
16
+ # @private
17
+ attr_accessor *VALID_OPTIONS_KEYS
18
+
19
+ # When this module is extended, set all configuration options to their default values
20
+ def self.extended(base)
21
+ base.reset
22
+ end
23
+
24
+ # Convenience method to allow configuration options to be set in a block
25
+ def configure
26
+ yield self
27
+ end
28
+
29
+ # Create a hash of options and their values
30
+ def options
31
+ VALID_OPTIONS_KEYS.inject({}) do |option, key|
32
+ option.merge!(key => send(key))
33
+ end
34
+ end
35
+
36
+ # Reset all configuration options to defaults
37
+ def reset
38
+ self.api_id = DEFAULT_API_ID
39
+ self.api_key = DEFAULT_API_KEY
40
+ end
41
+ end
42
+ end
@@ -10,13 +10,13 @@ module Yubikey
10
10
  attr_reader :status
11
11
 
12
12
  def initialize(args)
13
- raise(ArgumentError, "Must supply API ID") if args[:api_id].nil?
14
- raise(ArgumentError, "Must supply API Key") if args[:api_key].nil?
13
+ @api_key = args[:api_key] || Yubikey.api_key
14
+ @api_id = args[:api_id] || Yubikey.api_id
15
+ raise(ArgumentError, "Must supply API ID") if @api_id.nil?
16
+ raise(ArgumentError, "Must supply API Key") if @api_key.nil?
17
+
15
18
  raise(ArgumentError, "Must supply OTP") if args[:otp].nil?
16
19
 
17
- @api_key = args[:api_key]
18
- @api_id = args[:api_id]
19
-
20
20
  @url = args[:url] || API_URL
21
21
  @nonce = args[:nonce] || OTP::Verify.generate_nonce(32)
22
22
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yubikey
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.3.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -21,6 +21,7 @@ extra_rdoc_files:
21
21
  files:
22
22
  - examples/otp.rb
23
23
  - lib/yubikey.rb
24
+ - lib/yubikey/configuration.rb
24
25
  - lib/yubikey/hex.rb
25
26
  - lib/yubikey/modhex.rb
26
27
  - lib/yubikey/otp.rb