omniauth-desk 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.
- data/.gitignore +2 -1
- data/lib/omniauth/strategies/desk.rb +12 -1
- data/lib/omniauth-desk/version.rb +1 -1
- data/spec/omniauth/strategies/desk_spec.rb +24 -1
- metadata +54 -19
data/.gitignore
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'omniauth-oauth'
|
2
2
|
require 'multi_json'
|
3
|
+
require 'uri'
|
3
4
|
|
4
5
|
module OmniAuth
|
5
6
|
module Strategies
|
@@ -44,6 +45,7 @@ module OmniAuth
|
|
44
45
|
|
45
46
|
# Provide the "user" portion of the raw_info
|
46
47
|
def user_info
|
48
|
+
puts raw_info
|
47
49
|
@user_info ||= raw_info.nil? ? {} : raw_info['user']
|
48
50
|
end
|
49
51
|
|
@@ -53,9 +55,18 @@ module OmniAuth
|
|
53
55
|
options.client_options.site
|
54
56
|
end
|
55
57
|
|
58
|
+
def uri?(uri)
|
59
|
+
uri = URI.parse(uri)
|
60
|
+
uri.scheme == 'https'
|
61
|
+
rescue URI::BadURIError
|
62
|
+
false
|
63
|
+
rescue URI::InvalidURIError
|
64
|
+
false
|
65
|
+
end
|
66
|
+
|
56
67
|
def validate_site(site)
|
57
68
|
if site and site != ''
|
58
|
-
"https://#{site}.desk.com"
|
69
|
+
uri?(site) ? site : "https://#{site}.desk.com"
|
59
70
|
end
|
60
71
|
end
|
61
72
|
|
@@ -1,5 +1,4 @@
|
|
1
1
|
require 'spec_helper'
|
2
|
-
require 'omniauth-desk'
|
3
2
|
|
4
3
|
describe OmniAuth::Strategies::Desk, :type => :strategy do
|
5
4
|
def app
|
@@ -28,6 +27,30 @@ describe OmniAuth::Strategies::Desk, :type => :strategy do
|
|
28
27
|
last_response.body.should =~ %r{<input[^>]*desk_site}
|
29
28
|
end
|
30
29
|
end
|
30
|
+
|
31
|
+
describe '/auth/desk with a site name' do
|
32
|
+
before do
|
33
|
+
@stub_devel = stub_request(:post, "https://devel.desk.com/oauth/request_token")
|
34
|
+
.to_return(:status => 200, :body => 'oauth_token=&oauth_token_secret=')
|
35
|
+
post '/auth/desk', { :desk_site => 'devel' }
|
36
|
+
end
|
37
|
+
|
38
|
+
it 'should have been requested' do
|
39
|
+
@stub_devel.should have_been_requested
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
describe '/auth/desk with a custom site name' do
|
44
|
+
before do
|
45
|
+
@stub_devel = stub_request(:post, "https://devel.desk.com/oauth/request_token")
|
46
|
+
.to_return(:status => 200, :body => 'oauth_token=&oauth_token_secret=')
|
47
|
+
post '/auth/desk', { :desk_site => 'https://devel.desk.com' }
|
48
|
+
end
|
49
|
+
|
50
|
+
it 'should have been requested' do
|
51
|
+
@stub_devel.should have_been_requested
|
52
|
+
end
|
53
|
+
end
|
31
54
|
|
32
55
|
describe 'followed by /auth/desk/callback' do
|
33
56
|
context 'successful' do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: omniauth-desk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-11-01 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: omniauth
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,15 @@ dependencies:
|
|
21
21
|
version: '1.0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '1.0'
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: omniauth-oauth
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ~>
|
@@ -32,10 +37,15 @@ dependencies:
|
|
32
37
|
version: '1.0'
|
33
38
|
type: :runtime
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '1.0'
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
47
|
name: multi_json
|
38
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
51
|
- - ~>
|
@@ -43,10 +53,15 @@ dependencies:
|
|
43
53
|
version: 1.3.6
|
44
54
|
type: :runtime
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 1.3.6
|
47
62
|
- !ruby/object:Gem::Dependency
|
48
63
|
name: rspec
|
49
|
-
requirement:
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
50
65
|
none: false
|
51
66
|
requirements:
|
52
67
|
- - ~>
|
@@ -54,10 +69,15 @@ dependencies:
|
|
54
69
|
version: '2.7'
|
55
70
|
type: :development
|
56
71
|
prerelease: false
|
57
|
-
version_requirements:
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ~>
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '2.7'
|
58
78
|
- !ruby/object:Gem::Dependency
|
59
79
|
name: rack-test
|
60
|
-
requirement:
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
61
81
|
none: false
|
62
82
|
requirements:
|
63
83
|
- - ! '>='
|
@@ -65,10 +85,15 @@ dependencies:
|
|
65
85
|
version: '0'
|
66
86
|
type: :development
|
67
87
|
prerelease: false
|
68
|
-
version_requirements:
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
69
94
|
- !ruby/object:Gem::Dependency
|
70
95
|
name: simplecov
|
71
|
-
requirement:
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
72
97
|
none: false
|
73
98
|
requirements:
|
74
99
|
- - ! '>='
|
@@ -76,10 +101,15 @@ dependencies:
|
|
76
101
|
version: '0'
|
77
102
|
type: :development
|
78
103
|
prerelease: false
|
79
|
-
version_requirements:
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
80
110
|
- !ruby/object:Gem::Dependency
|
81
111
|
name: webmock
|
82
|
-
requirement:
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
83
113
|
none: false
|
84
114
|
requirements:
|
85
115
|
- - ! '>='
|
@@ -87,7 +117,12 @@ dependencies:
|
|
87
117
|
version: '0'
|
88
118
|
type: :development
|
89
119
|
prerelease: false
|
90
|
-
version_requirements:
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ! '>='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
91
126
|
description: OmniAuth strategy for Desk.com
|
92
127
|
email:
|
93
128
|
- tstachl@salesforce.com
|
@@ -123,7 +158,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
123
158
|
version: '0'
|
124
159
|
segments:
|
125
160
|
- 0
|
126
|
-
hash:
|
161
|
+
hash: 4158205978148100644
|
127
162
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
128
163
|
none: false
|
129
164
|
requirements:
|
@@ -132,10 +167,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
132
167
|
version: '0'
|
133
168
|
segments:
|
134
169
|
- 0
|
135
|
-
hash:
|
170
|
+
hash: 4158205978148100644
|
136
171
|
requirements: []
|
137
172
|
rubyforge_project: omniauth-desk
|
138
|
-
rubygems_version: 1.8.
|
173
|
+
rubygems_version: 1.8.24
|
139
174
|
signing_key:
|
140
175
|
specification_version: 3
|
141
176
|
summary: OmniAuth strategy for Desk.com
|