oauth_token_verifier 0.1.2 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d1245710353bc053bde80275e5b06bf168d2e604
4
- data.tar.gz: f7e6a474b61e9c6d2a33de3e26de1ad7fc680012
3
+ metadata.gz: f19e2c2729c75720239d18a237217b8896779078
4
+ data.tar.gz: ab225a1f50c8ff7250b06d20a7ace3f87bb94dce
5
5
  SHA512:
6
- metadata.gz: 9f395232a0f62eebb7ed13472861eb3fd8540e0ee503430a8bb6da09534743fc9cf2a530a4adc637a2aacde619c47d29ba4908934cda7a0b5643cea10399072e
7
- data.tar.gz: 586209254abcb29dc9824f92a927abf5c8a9db7ceb3dfec824025457332942dfb5662025f6a9de4fd4cd425ef4193a55e05d064b36e3c1f972dff5651ad5fe5e
6
+ metadata.gz: 7b0b62594d4f6174c12b9ed2e1a3b9191abf3b3474b0788a9214962fdcef592ba3b7e9e526a7c9550b4c8b8dceec4640c88216dd018147ca4e5ea7e0fee99a5d
7
+ data.tar.gz: ccd61cee60a1b3cd57d65625f02df6e7d8fa7e455abd30d52108580899c315bd5898fc03c2c4dd58473fb30f8767d3cf2fe5019288ee4f2b503f0edf6f4bdd95
data/.travis.yml CHANGED
@@ -3,3 +3,6 @@ language: ruby
3
3
  rvm:
4
4
  - 2.3.3
5
5
  before_install: gem install bundler -v 1.15.1
6
+ install: bundle install --jobs=3 --retry=3
7
+ script:
8
+ - bundle exec rspec
data/README.md CHANGED
@@ -1,12 +1,22 @@
1
+ [![Build Status](https://travis-ci.org/Shkrt/oauth_token_verifier.svg?branch=master)](https://travis-ci.org/Shkrt/oauth_token_verifier)
2
+
1
3
  # OauthTokenVerifier
2
4
 
3
5
  This library helps to verify oauth2 access tokens that have been obtained from third party, i.e. mobile application.
4
6
 
7
+ Example of oauth2 flow using this library is shown below:
8
+
9
+ ![alt text](https://github.com/Shkrt/oauth_token_verifier/raw/master/oauth2_flow.png "Flow example")
10
+
5
11
  ## Installation
6
12
 
13
+ install manually:
14
+
7
15
  `gem install oauth_token_verifier`
8
16
 
9
- `gem oauth_token_verifier`
17
+ or using Gemfile:
18
+
19
+ `gem 'oauth_token_verifier'`
10
20
 
11
21
  ## Configuration
12
22
 
@@ -7,17 +7,17 @@ module OauthTokenVerifier
7
7
  @enabled_providers = []
8
8
 
9
9
  @google = ProviderSettings.new({
10
- 'first_name' => 'given_name',
11
- 'last_name' => 'family_name'
10
+ first_name: :given_name,
11
+ last_name: :family_name
12
12
  }, 'google', 'email')
13
13
 
14
14
  @vk = ProviderSettings.new({
15
- 'first_name' => 'first_name',
16
- 'last_name' => 'last_name'
15
+ first_name: :first_name,
16
+ last_name: :last_name
17
17
  }, 'vk', 'uid')
18
18
 
19
19
  @facebook = ProviderSettings.new({
20
- 'first_name' => 'name',
20
+ first_name: :name,
21
21
  }, 'facebook', 'id')
22
22
  end
23
23
  end
@@ -22,11 +22,10 @@ module OauthTokenVerifier::Providers
22
22
  end
23
23
 
24
24
  def build_uri(token)
25
+ params = { access_token: token, fields: @request_fields }
25
26
  URI::HTTPS.build(host: 'graph.facebook.com',
26
27
  path: '/me',
27
- query: { access_token: token,
28
- fields: @request_fields
29
- }.to_query)
28
+ query: URI.encode_www_form(params))
30
29
  end
31
30
 
32
31
  def check_response(uri)
@@ -21,9 +21,10 @@ module OauthTokenVerifier::Providers
21
21
  end
22
22
 
23
23
  def build_uri(token)
24
+ params = { id_token: token }
24
25
  URI::HTTPS.build(host: 'www.googleapis.com',
25
26
  path: '/oauth2/v3/tokeninfo',
26
- query: { id_token: token }.to_query)
27
+ query: URI.encode_www_form(params))
27
28
  end
28
29
 
29
30
  def check_response(uri)
@@ -22,11 +22,10 @@ module OauthTokenVerifier::Providers
22
22
  end
23
23
 
24
24
  def build_uri(token)
25
+ params = { access_token: token, fields: @request_fields }
25
26
  URI::HTTPS.build(host: 'api.vk.com',
26
27
  path: '/method/users.get',
27
- query: { access_token: token,
28
- fields: @request_fields
29
- }.to_query)
28
+ query: URI.encode_www_form(params))
30
29
  end
31
30
 
32
31
  def check_response(uri)
@@ -1,3 +1,3 @@
1
1
  module OauthTokenVerifier
2
- VERSION = '0.1.2'.freeze
2
+ VERSION = '0.1.3'.freeze
3
3
  end
@@ -52,7 +52,7 @@ module OauthTokenVerifier
52
52
  raise NoProviderFoundError, "Oauth provider #{name} is not enabled in configuration"
53
53
  end
54
54
 
55
- "OauthTokenVerifier::Providers::#{name.to_s.camelize}".constantize
55
+ Object.const_get("OauthTokenVerifier::Providers::#{name.to_s.capitalize}")
56
56
  end
57
57
  end
58
58
  end
data/oauth2_flow.png ADDED
Binary file
@@ -25,4 +25,5 @@ Gem::Specification.new do |spec|
25
25
  spec.add_development_dependency 'bundler', '~> 1.15'
26
26
  spec.add_development_dependency 'rake', '~> 10.0'
27
27
  spec.add_development_dependency 'rspec', '~> 3.0'
28
+ spec.add_development_dependency 'webmock'
28
29
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oauth_token_verifier
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shkrt
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-07-04 00:00:00.000000000 Z
11
+ date: 2017-07-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '3.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: webmock
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
55
69
  description: This library provides possibility of verifying oauth2 access tokens obtained
56
70
  from third party
57
71
  email:
@@ -76,6 +90,7 @@ files:
76
90
  - lib/oauth_token_verifier/providers/google.rb
77
91
  - lib/oauth_token_verifier/providers/vk.rb
78
92
  - lib/oauth_token_verifier/version.rb
93
+ - oauth2_flow.png
79
94
  - oauth_token_verifier.gemspec
80
95
  homepage: https://github.com/Shkrt/oauth_token_verifier
81
96
  licenses: