single_user_oauth 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rspec +2 -0
- data/lib/single_user_oauth.rb +8 -1
- data/lib/single_user_oauth/header.rb +3 -1
- data/lib/single_user_oauth/signature.rb +16 -4
- data/lib/single_user_oauth/version.rb +1 -1
- data/single_user_oauth.gemspec +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 691ce4430803de4e041556d3f09b5c11e76b11e3
|
4
|
+
data.tar.gz: f309eba1c769d6b0cdeab514f4938d2cdb50892f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8dcfa7f4026b2893f8bf8be0d659ac179dc938bfd212351ce2784925c314a85fd8fd7912902320c54474eb4f38feab74cec00716e01d6e43d7a3b6760f8b4c22
|
7
|
+
data.tar.gz: 153af46481703f45884817bc68045fe41f59f06505abb1f267b6ef3a2e469487354bf302754794385a5b3b55d1a5248ed1f8a967a2ac4b0220a097e0c80e61f8
|
data/.rspec
CHANGED
data/lib/single_user_oauth.rb
CHANGED
@@ -8,7 +8,14 @@ module SingleUserOauth
|
|
8
8
|
extend self
|
9
9
|
extend SingleUserOauth::Keys
|
10
10
|
|
11
|
-
PERMITTED_KEYS = [:request_method,
|
11
|
+
PERMITTED_KEYS = [ :request_method,
|
12
|
+
:requested_url,
|
13
|
+
:query_params,
|
14
|
+
:oauth_consumer_key,
|
15
|
+
:oauth_token,
|
16
|
+
:oauth_consumer_secret,
|
17
|
+
:oauth_access_secret
|
18
|
+
]
|
12
19
|
|
13
20
|
def generate_header(params)
|
14
21
|
@params = params.size.zero? ? {} : params
|
@@ -3,7 +3,7 @@ require 'uri'
|
|
3
3
|
module SingleUserOauth::Header
|
4
4
|
extend self
|
5
5
|
|
6
|
-
UNWANTED_HEADER_KEYS = [:request_method, :
|
6
|
+
UNWANTED_HEADER_KEYS = [:request_method, :requested_url]
|
7
7
|
|
8
8
|
def create(keys)
|
9
9
|
@keys = keys
|
@@ -22,6 +22,8 @@ module SingleUserOauth::Header
|
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
25
|
+
private
|
26
|
+
|
25
27
|
def required_keys
|
26
28
|
@required_keys ||= @keys.reject{ |key| self::UNWANTED_HEADER_KEYS.include?(key) }
|
27
29
|
end
|
@@ -5,20 +5,22 @@ require 'uri'
|
|
5
5
|
module SingleUserOauth::Signature
|
6
6
|
extend self
|
7
7
|
|
8
|
-
UNWANTED_HEADER_KEYS = [:request_method, :
|
8
|
+
UNWANTED_HEADER_KEYS = [:request_method, :requested_url]
|
9
9
|
|
10
10
|
def create(options)
|
11
11
|
@options = options
|
12
12
|
@request_method = @options.fetch(:request_method, '').upcase
|
13
|
-
@
|
13
|
+
@requested_url = @options.fetch(:requested_url, '')
|
14
14
|
@consumer_secret = @options.fetch(:oauth_consumer_secret, '')
|
15
15
|
@access_secret = @options.fetch(:oauth_access_secret, '')
|
16
16
|
|
17
17
|
calc_signature
|
18
18
|
end
|
19
19
|
|
20
|
+
private
|
21
|
+
|
20
22
|
def signature_base_string
|
21
|
-
encode(@request_method, @
|
23
|
+
encode(@request_method, @requested_url, percent_encode_params)
|
22
24
|
end
|
23
25
|
|
24
26
|
def signing_key
|
@@ -47,13 +49,23 @@ module SingleUserOauth::Signature
|
|
47
49
|
end
|
48
50
|
|
49
51
|
def percent_encode_params
|
50
|
-
|
52
|
+
flatten_nested_hash.reject{ |key| UNWANTED_HEADER_KEYS.include?(key) }.collect do |key, value|
|
51
53
|
unless (value.is_a?(Hash) || value.is_a?(Array)) && value.empty?
|
52
54
|
"#{escape(key.to_s)}=#{escape(value.to_s)}"
|
53
55
|
end
|
54
56
|
end.compact.sort! * '&'
|
55
57
|
end
|
56
58
|
|
59
|
+
def flatten_nested_hash
|
60
|
+
@options.each_with_object({}) do |(key, value), object|
|
61
|
+
if value.is_a?(Hash)
|
62
|
+
value.collect {|k, v| object[k] = v }
|
63
|
+
elsif key != 'query_params'
|
64
|
+
object[key] = value
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
57
69
|
def escape(item)
|
58
70
|
CGI.escape(item)
|
59
71
|
end
|
data/single_user_oauth.gemspec
CHANGED
@@ -6,7 +6,7 @@ require 'single_user_oauth/version'
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
7
|
spec.name = "single_user_oauth"
|
8
8
|
spec.version = SingleUserOauth::VERSION
|
9
|
-
spec.authors = ["rahul
|
9
|
+
spec.authors = ["rahul dess"]
|
10
10
|
spec.email = ["sandslash.rahul@gmail.com"]
|
11
11
|
|
12
12
|
spec.summary = %q{Generates Twitter specific OAuth header.}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: single_user_oauth
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
- rahul
|
7
|
+
- rahul dess
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-06-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|