omniauth-ciu 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source 'http://rubygems.org'
2
+
3
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,60 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ omniauth-ciu (0.0.1)
5
+ omniauth (~> 1.0)
6
+ omniauth-oauth2 (~> 1.1)
7
+
8
+ GEM
9
+ remote: http://rubygems.org/
10
+ specs:
11
+ addressable (2.3.6)
12
+ crack (0.4.2)
13
+ safe_yaml (~> 1.0.0)
14
+ diff-lcs (1.2.5)
15
+ faraday (0.9.0)
16
+ multipart-post (>= 1.2, < 3)
17
+ hashie (2.0.5)
18
+ jwt (0.1.11)
19
+ multi_json (>= 1.5)
20
+ multi_json (1.9.2)
21
+ multi_xml (0.5.5)
22
+ multipart-post (2.0.0)
23
+ oauth2 (0.9.3)
24
+ faraday (>= 0.8, < 0.10)
25
+ jwt (~> 0.1.8)
26
+ multi_json (~> 1.3)
27
+ multi_xml (~> 0.5)
28
+ rack (~> 1.2)
29
+ omniauth (1.2.1)
30
+ hashie (>= 1.2, < 3)
31
+ rack (~> 1.0)
32
+ omniauth-oauth2 (1.1.2)
33
+ faraday (>= 0.8, < 0.10)
34
+ multi_json (~> 1.3)
35
+ oauth2 (~> 0.9.3)
36
+ omniauth (~> 1.2)
37
+ rack (1.5.2)
38
+ rack-test (0.6.2)
39
+ rack (>= 1.0)
40
+ rspec (2.14.1)
41
+ rspec-core (~> 2.14.0)
42
+ rspec-expectations (~> 2.14.0)
43
+ rspec-mocks (~> 2.14.0)
44
+ rspec-core (2.14.8)
45
+ rspec-expectations (2.14.5)
46
+ diff-lcs (>= 1.1.3, < 2.0)
47
+ rspec-mocks (2.14.6)
48
+ safe_yaml (1.0.1)
49
+ webmock (1.17.4)
50
+ addressable (>= 2.2.7)
51
+ crack (>= 0.3.2)
52
+
53
+ PLATFORMS
54
+ ruby
55
+
56
+ DEPENDENCIES
57
+ omniauth-ciu!
58
+ rack-test
59
+ rspec (~> 2.7)
60
+ webmock
@@ -0,0 +1,2 @@
1
+ require "omniauth-ciu/version"
2
+ require 'omniauth/strategies/ciu'
@@ -0,0 +1,5 @@
1
+ module OmniAuth
2
+ module Ciu
3
+ VERSION = "0.0.1"
4
+ end
5
+ end
@@ -0,0 +1,28 @@
1
+ require 'omniauth-oauth2'
2
+
3
+ module OmniAuth
4
+ module Strategies
5
+ class Ciu < OmniAuth::Strategies::OAuth2
6
+ option :name, "ciu"
7
+ option :client_options, { site: "http://ciu-provider.herokuapp.com/" }
8
+
9
+ uid{ raw_info['id'] }
10
+
11
+ info do
12
+ {
13
+ :username => raw_info['username'],
14
+ :email => raw_info['email']
15
+ }
16
+ end
17
+
18
+ def raw_info
19
+ token = access_token.token
20
+ @raw_info ||= access_token.get("/users/#{token}").parsed
21
+ end
22
+
23
+ def request_phase
24
+ redirect client.auth_code.authorize_url({redirect_uri: callback_url}.merge(options.authorize_params))
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,23 @@
1
+
2
+ require File.expand_path('../lib/omniauth-ciu/version', __FILE__)
3
+
4
+ Gem::Specification.new do |gem|
5
+ gem.authors = ["Alejandro Vasquez"]
6
+ gem.email = ["althejandro@live.com"]
7
+ gem.description = "OmniAuth Strategy for Ciu"
8
+ gem.summary = "OmniAuth Strategy for Ciu"
9
+ gem.homepage = "https://github.com/althejandro"
10
+
11
+ gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
12
+ gem.files = `git ls-files`.split("\n")
13
+ gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
14
+ gem.name = "omniauth-ciu"
15
+ gem.require_paths = ["lib"]
16
+ gem.version = OmniAuth::Ciu::VERSION
17
+
18
+ gem.add_dependency 'omniauth', '~> 1.0'
19
+ gem.add_dependency 'omniauth-oauth2', '~> 1.1'
20
+ gem.add_development_dependency 'rspec', '~> 2.7'
21
+ gem.add_development_dependency 'rack-test'
22
+ gem.add_development_dependency 'webmock'
23
+ end
@@ -0,0 +1,28 @@
1
+ require 'spec_helper'
2
+
3
+ describe OmniAuth::Strategies::Ciu do
4
+
5
+ let(:strategy) { OmniAuth::Strategies::Ciu.new({}) }
6
+ let(:access_token) { double('AccessToken') }
7
+ let(:parsed_response) { double('ParsedResponse') }
8
+ let(:response) { double('Response', parsed: parsed_response) }
9
+
10
+ before do
11
+ strategy.stub(:access_token).and_return(access_token)
12
+ end
13
+
14
+ describe "client options" do
15
+ it 'should have correct site' do
16
+ strategy.options.client_options.site.should eq("http://ciu-provider.herokuapp.com/")
17
+ end
18
+ end
19
+
20
+ describe :raw_info do
21
+ it "should use load from /users/token" do
22
+ access_token.should_receive(:token).and_return("token")
23
+ parsed_response.should_receive(:parsed).and_return(parsed_response)
24
+ access_token.should_receive(:get).with("/users/token").and_return(parsed_response)
25
+ strategy.raw_info.should == parsed_response
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,14 @@
1
+ $:.unshift File.expand_path('..', __FILE__)
2
+ $:.unshift File.expand_path('../../lib', __FILE__)
3
+
4
+ require 'rspec'
5
+ require 'rack/test'
6
+ require 'webmock/rspec'
7
+ require 'omniauth'
8
+ require 'omniauth-ciu'
9
+
10
+ RSpec.configure do |config|
11
+ config.include WebMock::API
12
+ config.include Rack::Test::Methods
13
+ config.extend OmniAuth::Test::StrategyMacros, :type => :strategy
14
+ end
metadata ADDED
@@ -0,0 +1,135 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: omniauth-ciu
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Alejandro Vasquez
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2014-04-03 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: omniauth
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: '1.0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: '1.0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: omniauth-oauth2
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ~>
36
+ - !ruby/object:Gem::Version
37
+ version: '1.1'
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: '1.1'
46
+ - !ruby/object:Gem::Dependency
47
+ name: rspec
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: '2.7'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '2.7'
62
+ - !ruby/object:Gem::Dependency
63
+ name: rack-test
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: webmock
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ type: :development
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ description: OmniAuth Strategy for Ciu
95
+ email:
96
+ - althejandro@live.com
97
+ executables: []
98
+ extensions: []
99
+ extra_rdoc_files: []
100
+ files:
101
+ - Gemfile
102
+ - Gemfile.lock
103
+ - lib/omniauth-ciu.rb
104
+ - lib/omniauth-ciu/version.rb
105
+ - lib/omniauth/strategies/ciu.rb
106
+ - omniauth-ciu.gemspec
107
+ - spec/omniauth/strategies/ciu_spec.rb
108
+ - spec/spec_helper.rb
109
+ homepage: https://github.com/althejandro
110
+ licenses: []
111
+ post_install_message:
112
+ rdoc_options: []
113
+ require_paths:
114
+ - lib
115
+ required_ruby_version: !ruby/object:Gem::Requirement
116
+ none: false
117
+ requirements:
118
+ - - ! '>='
119
+ - !ruby/object:Gem::Version
120
+ version: '0'
121
+ required_rubygems_version: !ruby/object:Gem::Requirement
122
+ none: false
123
+ requirements:
124
+ - - ! '>='
125
+ - !ruby/object:Gem::Version
126
+ version: '0'
127
+ requirements: []
128
+ rubyforge_project:
129
+ rubygems_version: 1.8.24
130
+ signing_key:
131
+ specification_version: 3
132
+ summary: OmniAuth Strategy for Ciu
133
+ test_files:
134
+ - spec/omniauth/strategies/ciu_spec.rb
135
+ - spec/spec_helper.rb