omniauth-active-passport 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +4 -0
  3. data/Gemfile.lock +44 -0
  4. data/README.md +70 -0
  5. data/Rakefile +12 -0
  6. data/coverage/.resultset.json +84 -0
  7. data/coverage/assets/0.5.3/app.js +88 -0
  8. data/coverage/assets/0.5.3/fancybox/blank.gif +0 -0
  9. data/coverage/assets/0.5.3/fancybox/fancy_close.png +0 -0
  10. data/coverage/assets/0.5.3/fancybox/fancy_loading.png +0 -0
  11. data/coverage/assets/0.5.3/fancybox/fancy_nav_left.png +0 -0
  12. data/coverage/assets/0.5.3/fancybox/fancy_nav_right.png +0 -0
  13. data/coverage/assets/0.5.3/fancybox/fancy_shadow_e.png +0 -0
  14. data/coverage/assets/0.5.3/fancybox/fancy_shadow_n.png +0 -0
  15. data/coverage/assets/0.5.3/fancybox/fancy_shadow_ne.png +0 -0
  16. data/coverage/assets/0.5.3/fancybox/fancy_shadow_nw.png +0 -0
  17. data/coverage/assets/0.5.3/fancybox/fancy_shadow_s.png +0 -0
  18. data/coverage/assets/0.5.3/fancybox/fancy_shadow_se.png +0 -0
  19. data/coverage/assets/0.5.3/fancybox/fancy_shadow_sw.png +0 -0
  20. data/coverage/assets/0.5.3/fancybox/fancy_shadow_w.png +0 -0
  21. data/coverage/assets/0.5.3/fancybox/fancy_title_left.png +0 -0
  22. data/coverage/assets/0.5.3/fancybox/fancy_title_main.png +0 -0
  23. data/coverage/assets/0.5.3/fancybox/fancy_title_over.png +0 -0
  24. data/coverage/assets/0.5.3/fancybox/fancy_title_right.png +0 -0
  25. data/coverage/assets/0.5.3/fancybox/fancybox-x.png +0 -0
  26. data/coverage/assets/0.5.3/fancybox/fancybox-y.png +0 -0
  27. data/coverage/assets/0.5.3/fancybox/fancybox.png +0 -0
  28. data/coverage/assets/0.5.3/fancybox/jquery.fancybox-1.3.1.css +363 -0
  29. data/coverage/assets/0.5.3/fancybox/jquery.fancybox-1.3.1.pack.js +44 -0
  30. data/coverage/assets/0.5.3/favicon_green.png +0 -0
  31. data/coverage/assets/0.5.3/favicon_red.png +0 -0
  32. data/coverage/assets/0.5.3/favicon_yellow.png +0 -0
  33. data/coverage/assets/0.5.3/highlight.css +129 -0
  34. data/coverage/assets/0.5.3/highlight.pack.js +1 -0
  35. data/coverage/assets/0.5.3/jquery-1.6.2.min.js +18 -0
  36. data/coverage/assets/0.5.3/jquery.dataTables.min.js +152 -0
  37. data/coverage/assets/0.5.3/jquery.timeago.js +141 -0
  38. data/coverage/assets/0.5.3/jquery.url.js +174 -0
  39. data/coverage/assets/0.5.3/loading.gif +0 -0
  40. data/coverage/assets/0.5.3/magnify.png +0 -0
  41. data/coverage/assets/0.5.3/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  42. data/coverage/assets/0.5.3/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  43. data/coverage/assets/0.5.3/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  44. data/coverage/assets/0.5.3/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  45. data/coverage/assets/0.5.3/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  46. data/coverage/assets/0.5.3/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  47. data/coverage/assets/0.5.3/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  48. data/coverage/assets/0.5.3/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  49. data/coverage/assets/0.5.3/smoothness/images/ui-icons_222222_256x240.png +0 -0
  50. data/coverage/assets/0.5.3/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  51. data/coverage/assets/0.5.3/smoothness/images/ui-icons_454545_256x240.png +0 -0
  52. data/coverage/assets/0.5.3/smoothness/images/ui-icons_888888_256x240.png +0 -0
  53. data/coverage/assets/0.5.3/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  54. data/coverage/assets/0.5.3/smoothness/jquery-ui-1.8.4.custom.css +295 -0
  55. data/coverage/assets/0.5.3/stylesheet.css +383 -0
  56. data/coverage/index.html +607 -0
  57. data/lib/oauth2_patch/client.rb +21 -0
  58. data/lib/omniauth-active_passport.rb +2 -0
  59. data/lib/omniauth-active_passport/version.rb +5 -0
  60. data/lib/omniauth/strategies/active_passport.rb +42 -0
  61. data/omniauth-active-passport.gemspec +21 -0
  62. data/spec/omniauth/strategies/active_passport_spec.rb +29 -0
  63. data/spec/spec_helper.rb +16 -0
  64. metadata +149 -0
@@ -0,0 +1,21 @@
1
+ # Monkeypatching to work with how Active Passport names the access token on a successful response
2
+
3
+ module OAuth2
4
+ # The OAuth2::Client class
5
+ class Client
6
+ # Initializes an AccessToken by making a request to the token endpoint
7
+ def get_token(params, access_token_opts={})
8
+ params = Authenticator.new(id, secret, options[:auth_scheme]).apply(params)
9
+ opts = {:raise_errors => true, :parse => params.delete(:parse)}
10
+ if options[:token_method] == :post
11
+ opts[:body] = params
12
+ opts[:headers] = {'Content-Type' => 'application/x-www-form-urlencoded'}
13
+ else
14
+ opts[:params] = params
15
+ end
16
+ response = request(options[:token_method], token_url, opts)
17
+ raise Error.new(response) unless response.parsed.is_a?(Hash) && (response.parsed['access_token'] || response.parsed['accessToken'])
18
+ AccessToken.from_hash(self, response.parsed.merge(access_token_opts))
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,2 @@
1
+ require "omniauth-active_passport/version"
2
+ require 'omniauth/strategies/active_passport'
@@ -0,0 +1,5 @@
1
+ module Omniauth
2
+ module ActivePassport
3
+ VERSION = "0.0.2"
4
+ end
5
+ end
@@ -0,0 +1,42 @@
1
+ require 'omniauth-oauth2'
2
+ require 'oauth2_patch/client'
3
+
4
+ module OmniAuth
5
+ module Strategies
6
+ class ActivePassport < OmniAuth::Strategies::OAuth2
7
+ # Give your strategy a name.
8
+ option :name, "active_passport"
9
+
10
+ # This is where you pass the options you would pass when
11
+ # initializing your consumer from the OAuth gem.
12
+ option :client_options, {
13
+ :site => 'https://passport.active.com',
14
+ :authorize_url => '/oauth2/authorize',
15
+ :token_url => '/oauth2/token'
16
+ }
17
+
18
+ option :token_params, { :parse => :json }
19
+
20
+ uid { access_token.params['activeEnterprisePersonId'] }
21
+
22
+ info do
23
+ {
24
+ :email => access_token.params['userName'],
25
+ :expires_at => access_token.params['expireDateTime']
26
+ }
27
+ end
28
+
29
+ credentials do
30
+ {
31
+ :token => access_token.params['accessToken']
32
+ }
33
+ end
34
+
35
+ extra do
36
+ {
37
+ :access_token => access_token
38
+ }
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,21 @@
1
+ # -*- encoding: utf-8 -*-
2
+ require File.expand_path('../lib/omniauth-active_passport/version', __FILE__)
3
+
4
+ Gem::Specification.new do |s|
5
+ s.name = "omniauth-active-passport"
6
+ s.version = Omniauth::ActivePassport::VERSION
7
+ s.authors = ["Cesar Camacho"]
8
+ s.email = ["cesar.camacho@activenetwork.com"]
9
+ s.homepage = "https://github.com/hlcfan/omniauth-active-passport"
10
+ s.summary = %q{Official OmniAuth strategy for Active Passport.}
11
+ s.description = %q{Official OmniAuth strategy for Active Passport.}
12
+
13
+ s.files = `git ls-files`.split("\n")
14
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
15
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
16
+ s.require_paths = ["lib"]
17
+
18
+ s.add_dependency 'omniauth', '~> 1.0'
19
+ s.add_dependency 'omniauth-oauth2', '~> 1.0'
20
+ s.add_development_dependency 'rspec', '~> 2.7'
21
+ end
@@ -0,0 +1,29 @@
1
+ require 'spec_helper'
2
+
3
+ describe OmniAuth::Strategies::ActivePassport do
4
+ def app; lambda{|env| [200, {}, ["Hello."]]} end
5
+ let(:fresh_strategy){ Class.new(OmniAuth::Strategies::ActivePassport) }
6
+
7
+ describe '#client' do
8
+ subject{ fresh_strategy }
9
+
10
+ it 'should be initialized with symbolized client_options' do
11
+ instance = subject.new(app, :client_options => {'authorize_url' => 'https://example.com'})
12
+ instance.client.options[:authorize_url].should == 'https://example.com'
13
+ end
14
+ end
15
+
16
+ describe '#token_params' do
17
+ subject { fresh_strategy }
18
+
19
+ it 'should include parse => json as well as any authorize params passed in the :authorize_params option' do
20
+ instance = subject.new('abc', 'def', :token_params => {:foo => 'bar', :baz => 'zip'})
21
+ instance.token_params.should == {'foo' => 'bar', 'baz' => 'zip', 'parse' => :json}
22
+ end
23
+
24
+ it 'should include parse => json as well as any top-level options that are marked as :authorize_options' do
25
+ instance = subject.new('abc', 'def', :token_options => [:scope, :foo], :scope => 'bar', :foo => 'baz')
26
+ instance.token_params.should == {'scope' => 'bar', 'foo' => 'baz', 'parse' => :json}
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,16 @@
1
+ $:.unshift File.expand_path('..', __FILE__)
2
+ $:.unshift File.expand_path('../../lib', __FILE__)
3
+ require 'simplecov'
4
+ SimpleCov.start
5
+ require 'rspec'
6
+ require 'rack/test'
7
+ require 'webmock/rspec'
8
+ require 'omniauth'
9
+ require 'omniauth-active_passport'
10
+
11
+ RSpec.configure do |config|
12
+ config.include WebMock::API
13
+ config.include Rack::Test::Methods
14
+ config.extend OmniAuth::Test::StrategyMacros, :type => :strategy
15
+ end
16
+
metadata ADDED
@@ -0,0 +1,149 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: omniauth-active-passport
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.2
5
+ platform: ruby
6
+ authors:
7
+ - Cesar Camacho
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2017-06-19 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: omniauth
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: omniauth-oauth2
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '2.7'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '2.7'
55
+ description: Official OmniAuth strategy for Active Passport.
56
+ email:
57
+ - cesar.camacho@activenetwork.com
58
+ executables: []
59
+ extensions: []
60
+ extra_rdoc_files: []
61
+ files:
62
+ - Gemfile
63
+ - Gemfile.lock
64
+ - README.md
65
+ - Rakefile
66
+ - coverage/.resultset.json
67
+ - coverage/assets/0.5.3/app.js
68
+ - coverage/assets/0.5.3/fancybox/blank.gif
69
+ - coverage/assets/0.5.3/fancybox/fancy_close.png
70
+ - coverage/assets/0.5.3/fancybox/fancy_loading.png
71
+ - coverage/assets/0.5.3/fancybox/fancy_nav_left.png
72
+ - coverage/assets/0.5.3/fancybox/fancy_nav_right.png
73
+ - coverage/assets/0.5.3/fancybox/fancy_shadow_e.png
74
+ - coverage/assets/0.5.3/fancybox/fancy_shadow_n.png
75
+ - coverage/assets/0.5.3/fancybox/fancy_shadow_ne.png
76
+ - coverage/assets/0.5.3/fancybox/fancy_shadow_nw.png
77
+ - coverage/assets/0.5.3/fancybox/fancy_shadow_s.png
78
+ - coverage/assets/0.5.3/fancybox/fancy_shadow_se.png
79
+ - coverage/assets/0.5.3/fancybox/fancy_shadow_sw.png
80
+ - coverage/assets/0.5.3/fancybox/fancy_shadow_w.png
81
+ - coverage/assets/0.5.3/fancybox/fancy_title_left.png
82
+ - coverage/assets/0.5.3/fancybox/fancy_title_main.png
83
+ - coverage/assets/0.5.3/fancybox/fancy_title_over.png
84
+ - coverage/assets/0.5.3/fancybox/fancy_title_right.png
85
+ - coverage/assets/0.5.3/fancybox/fancybox-x.png
86
+ - coverage/assets/0.5.3/fancybox/fancybox-y.png
87
+ - coverage/assets/0.5.3/fancybox/fancybox.png
88
+ - coverage/assets/0.5.3/fancybox/jquery.fancybox-1.3.1.css
89
+ - coverage/assets/0.5.3/fancybox/jquery.fancybox-1.3.1.pack.js
90
+ - coverage/assets/0.5.3/favicon_green.png
91
+ - coverage/assets/0.5.3/favicon_red.png
92
+ - coverage/assets/0.5.3/favicon_yellow.png
93
+ - coverage/assets/0.5.3/highlight.css
94
+ - coverage/assets/0.5.3/highlight.pack.js
95
+ - coverage/assets/0.5.3/jquery-1.6.2.min.js
96
+ - coverage/assets/0.5.3/jquery.dataTables.min.js
97
+ - coverage/assets/0.5.3/jquery.timeago.js
98
+ - coverage/assets/0.5.3/jquery.url.js
99
+ - coverage/assets/0.5.3/loading.gif
100
+ - coverage/assets/0.5.3/magnify.png
101
+ - coverage/assets/0.5.3/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png
102
+ - coverage/assets/0.5.3/smoothness/images/ui-bg_flat_75_ffffff_40x100.png
103
+ - coverage/assets/0.5.3/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png
104
+ - coverage/assets/0.5.3/smoothness/images/ui-bg_glass_65_ffffff_1x400.png
105
+ - coverage/assets/0.5.3/smoothness/images/ui-bg_glass_75_dadada_1x400.png
106
+ - coverage/assets/0.5.3/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png
107
+ - coverage/assets/0.5.3/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png
108
+ - coverage/assets/0.5.3/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png
109
+ - coverage/assets/0.5.3/smoothness/images/ui-icons_222222_256x240.png
110
+ - coverage/assets/0.5.3/smoothness/images/ui-icons_2e83ff_256x240.png
111
+ - coverage/assets/0.5.3/smoothness/images/ui-icons_454545_256x240.png
112
+ - coverage/assets/0.5.3/smoothness/images/ui-icons_888888_256x240.png
113
+ - coverage/assets/0.5.3/smoothness/images/ui-icons_cd0a0a_256x240.png
114
+ - coverage/assets/0.5.3/smoothness/jquery-ui-1.8.4.custom.css
115
+ - coverage/assets/0.5.3/stylesheet.css
116
+ - coverage/index.html
117
+ - lib/oauth2_patch/client.rb
118
+ - lib/omniauth-active_passport.rb
119
+ - lib/omniauth-active_passport/version.rb
120
+ - lib/omniauth/strategies/active_passport.rb
121
+ - omniauth-active-passport.gemspec
122
+ - spec/omniauth/strategies/active_passport_spec.rb
123
+ - spec/spec_helper.rb
124
+ homepage: https://github.com/hlcfan/omniauth-active-passport
125
+ licenses: []
126
+ metadata: {}
127
+ post_install_message:
128
+ rdoc_options: []
129
+ require_paths:
130
+ - lib
131
+ required_ruby_version: !ruby/object:Gem::Requirement
132
+ requirements:
133
+ - - ">="
134
+ - !ruby/object:Gem::Version
135
+ version: '0'
136
+ required_rubygems_version: !ruby/object:Gem::Requirement
137
+ requirements:
138
+ - - ">="
139
+ - !ruby/object:Gem::Version
140
+ version: '0'
141
+ requirements: []
142
+ rubyforge_project:
143
+ rubygems_version: 2.5.2
144
+ signing_key:
145
+ specification_version: 4
146
+ summary: Official OmniAuth strategy for Active Passport.
147
+ test_files:
148
+ - spec/omniauth/strategies/active_passport_spec.rb
149
+ - spec/spec_helper.rb