omniauth-ebay 0.0.8 → 0.9.1
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/.rspec +1 -0
- data/.rvmrc +1 -0
- data/README.md +9 -3
- data/Rakefile +3 -1
- data/fixtures/vcr_cassettes/callback_phase.yml +60 -104
- data/fixtures/vcr_cassettes/request_phase.yml +61 -49
- data/lib/ebay_api.rb +27 -12
- data/lib/omniauth-ebay/version.rb +1 -1
- data/lib/omniauth/strategies/ebay.rb +9 -0
- data/omniauth-ebay.gemspec +1 -0
- data/spec/fixtures/vcr_cassettes/callback_phase.yml +113 -0
- data/spec/fixtures/vcr_cassettes/request_phase.yml +58 -0
- data/spec/lib/ebay_api_spec.rb +146 -1
- data/spec/omniauth/strategies/ebay_spec.rb +4 -4
- metadata +25 -3
data/.rspec
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--colour --format documentation --drb
|
data/.rvmrc
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
rvm --create use 1.9.3@omniauth-ebay
|
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# OmniAuth eBay
|
1
|
+
# OmniAuth eBay [](http://travis-ci.org/TheGiftsProject/omniauth-ebay)
|
2
2
|
|
3
3
|

|
4
4
|
|
@@ -17,12 +17,15 @@ Note: The examples are for a Rails 3 app.
|
|
17
17
|
|
18
18
|
```ruby
|
19
19
|
Rails.application.config.middleware.use OmniAuth::Builder do
|
20
|
-
provider :ebay, "runame", "devid", "appid", "certid", "siteid", "apiurl"
|
20
|
+
provider :ebay, "runame", "devid", "appid", "certid", "siteid", "apiurl", "auth_type"
|
21
21
|
end
|
22
22
|
```
|
23
23
|
|
24
24
|
Insert your app credentials in the given order. You can find out these details by going into your developer's account at [eBay DevZone](https://developer.ebay.com/DevZone/account/)
|
25
25
|
|
26
|
+
`auth_type` - The only optional argument when initializing the strategy, by default it's configured to SSO(SingleSignOn),
|
27
|
+
and should be changed to AuthType::Simple (SignIn), as it's the standard option.
|
28
|
+
|
26
29
|
* To use the strategy, you will need to access it's omniauth provider path: `/auth/ebay`. The callback phase path is the default one: `/auth/ebay/callback`.
|
27
30
|
You will need to define the callback path in your relevant app RUname, so don't forget to set the accept/reject paths in the devzone to the callback path.
|
28
31
|
|
@@ -55,5 +58,8 @@ designed just for the eBay API calls.
|
|
55
58
|
|
56
59
|
`email` - The user's email address.
|
57
60
|
|
58
|
-
|
61
|
+
`full_name` - The user's registered full name.
|
62
|
+
|
63
|
+
`country` - The user's registered country.
|
59
64
|
|
65
|
+
* Extra data - We're also passing an optional parameter, `return_to`, which allows you to specify a URL you want the redirect the user to when the authentication process is completed.
|
data/Rakefile
CHANGED
@@ -1,113 +1,69 @@
|
|
1
|
-
---
|
2
|
-
|
3
|
-
|
4
|
-
- request:
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
5
4
|
method: post
|
6
5
|
uri: https://api.ebay.com/ws/api.dll
|
7
|
-
body:
|
8
|
-
|
9
|
-
|
10
|
-
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ! "\n <?xml version=\"1.0\" encoding=\"utf-8\"?>\n <FetchTokenRequest
|
9
|
+
xmlns=\"urn:ebay:apis:eBLBaseComponents\">\n <RequesterCredentials>\n
|
10
|
+
\ <Username>test_user</Username>\n </RequesterCredentials>\n
|
11
|
+
\ <SecretID>fake</SecretID>\n </FetchTokenRequest>\n "
|
12
|
+
headers:
|
13
|
+
x-ebay-api-call-name:
|
11
14
|
- FetchToken
|
12
|
-
|
13
|
-
-
|
14
|
-
|
15
|
+
x-ebay-api-compatibility-level:
|
16
|
+
- '675'
|
17
|
+
x-ebay-api-dev-name:
|
18
|
+
- devid
|
19
|
+
x-ebay-api-app-name:
|
20
|
+
- appid
|
21
|
+
x-ebay-api-cert-name:
|
22
|
+
- certid
|
23
|
+
x-ebay-api-siteid:
|
24
|
+
- siteid
|
25
|
+
content-type:
|
15
26
|
- text/xml
|
16
|
-
|
17
|
-
-
|
18
|
-
|
19
|
-
-
|
20
|
-
|
21
|
-
-
|
22
|
-
|
23
|
-
|
24
|
-
x-ebay-api-siteid:
|
25
|
-
- "0"
|
26
|
-
x-ebay-api-compatibility-level:
|
27
|
-
- "675"
|
28
|
-
response:
|
29
|
-
status:
|
27
|
+
content-length:
|
28
|
+
- '313'
|
29
|
+
accept:
|
30
|
+
- ! '*/*'
|
31
|
+
user-agent:
|
32
|
+
- Ruby
|
33
|
+
response:
|
34
|
+
status:
|
30
35
|
code: 200
|
31
36
|
message: OK
|
32
|
-
headers:
|
33
|
-
|
34
|
-
- 11212345690123456722222
|
35
|
-
x-ebay-esb-siteid:
|
36
|
-
- "0"
|
37
|
-
content-type:
|
37
|
+
headers:
|
38
|
+
content-type:
|
38
39
|
- text/xml
|
39
|
-
|
40
|
-
- fak:uuid:Fakefakefakefakefakefakefakefak
|
41
|
-
x-ebay-esb-app-name:
|
42
|
-
- fakefake-fake-fake-fake-fakefakefake
|
43
|
-
server:
|
40
|
+
server:
|
44
41
|
- Apache-Coyote/1.1
|
45
|
-
|
46
|
-
-
|
47
|
-
x-ebay-
|
42
|
+
x-ebay-api-pool-name:
|
43
|
+
- ___cDRidW90amJobm1saHNv
|
44
|
+
x-ebay-api-server-name:
|
45
|
+
- ___dm97PWQ3MGYrYmJmZCgyNSgzMSs3NzcrMjI5PTY/Mg==
|
46
|
+
x-ebay-esb-app-name:
|
47
|
+
- appid
|
48
|
+
x-ebay-esb-call-name:
|
48
49
|
- FetchToken
|
49
|
-
|
50
|
-
-
|
51
|
-
x-ebay-
|
52
|
-
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
content-type:
|
70
|
-
- text/xml
|
71
|
-
x-ebay-api-app-name:
|
72
|
-
- a219dda1-87b5-11e1-b0c4-0800200c9a66
|
73
|
-
content-length:
|
74
|
-
- "350"
|
75
|
-
x-ebay-api-dev-name:
|
76
|
-
- bdc8a861-87b5-11e1-b0c4-0800200c9a66
|
77
|
-
x-ebay-api-cert-name:
|
78
|
-
- cf9340f3-87b5-11e1-b0c4-0800200c9a66
|
79
|
-
x-ebay-api-siteid:
|
80
|
-
- "0"
|
81
|
-
x-ebay-api-compatibility-level:
|
82
|
-
- "675"
|
83
|
-
response:
|
84
|
-
status:
|
85
|
-
code: 200
|
86
|
-
message: OK
|
87
|
-
headers:
|
88
|
-
x-ebay-api-pool-name:
|
89
|
-
- fake
|
90
|
-
x-ebay-esb-siteid:
|
91
|
-
- "0"
|
92
|
-
content-type:
|
93
|
-
- text/xml
|
94
|
-
x-ebay-esb-guid:
|
95
|
-
- fake
|
96
|
-
x-ebay-esb-app-name:
|
97
|
-
- fake
|
98
|
-
server:
|
99
|
-
- Apache-Coyote/1.1
|
100
|
-
content-length:
|
101
|
-
- "2162"
|
102
|
-
x-ebay-esb-call-name:
|
103
|
-
- GetUser
|
104
|
-
date:
|
105
|
-
- Mon, 16 Apr 2012 11:13:30 GMT
|
106
|
-
x-ebay-api-server-name:
|
107
|
-
- ___dm8ucis2MTZkMzB8KTYzKzczLTQ2MS09MD07NT43
|
108
|
-
body:
|
109
|
-
string: |-
|
110
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
111
|
-
<GetUserResponse xmlns="urn:ebay:apis:eBLBaseComponents"><Timestamp>2012-04-16T11:13:31.701Z</Timestamp><Ack>Success</Ack><Version>767</Version><Build>E767_CORE_BUNDLED_14671989_R1</Build><User><AboutMePage>false</AboutMePage><EIASToken>fake_eias_token</EIASToken><Email>test@user.com</Email><FeedbackScore>27</FeedbackScore><UniqueNegativeFeedbackCount>0</UniqueNegativeFeedbackCount><UniquePositiveFeedbackCount>0</UniquePositiveFeedbackCount><PositiveFeedbackPercent>0.0</PositiveFeedbackPercent><FeedbackPrivate>false</FeedbackPrivate><FeedbackRatingStar>Yellow</FeedbackRatingStar><IDVerified>false</IDVerified><eBayGoodStanding>true</eBayGoodStanding><NewUser>false</NewUser><RegistrationDate>2000-01-01T07:06:10.000Z</RegistrationDate><Site>US</Site><Status>Confirmed</Status><UserID>test_user</UserID><UserIDChanged>false</UserIDChanged><UserIDLastChanged>2004-01-02T19:18:59.000Z</UserIDLastChanged><VATStatus>NoVATTax</VATStatus><SellerInfo><AllowPaymentEdit>true</AllowPaymentEdit><CheckoutEnabled>true</CheckoutEnabled><CIPBankAccountStored>false</CIPBankAccountStored><GoodStanding>true</GoodStanding><LiveAuctionAuthorized>false</LiveAuctionAuthorized><MerchandizingPref>OptIn</MerchandizingPref><QualifiesForB2BVAT>false</QualifiesForB2BVAT><SellerGuaranteeLevel>NotEligible</SellerGuaranteeLevel><SchedulingInfo><MaxScheduledMinutes>30240</MaxScheduledMinutes><MinScheduledMinutes>0</MinScheduledMinutes><MaxScheduledItems>3000</MaxScheduledItems></SchedulingInfo><StoreOwner>false</StoreOwner><PaymentMethod>NothingOnFile</PaymentMethod><CharityRegistered>false</CharityRegistered><SafePaymentExempt>true</SafePaymentExempt><TransactionPercent>0.0</TransactionPercent><RecoupmentPolicyConsent/></SellerInfo><PayPalAccountLevel>Verified</PayPalAccountLevel><PayPalAccountType>Personal</PayPalAccountType><PayPalAccountStatus>Active</PayPalAccountStatus><eBayWikiReadOnly>false</eBayWikiReadOnly><MotorsDealer>false</MotorsDealer><UniqueNeutralFeedbackCount>0</UniqueNeutralFeedbackCount><EnterpriseSeller>false</EnterpriseSeller></User></GetUserResponse>
|
112
|
-
http_version: "1.1"
|
113
|
-
recorded_at: Mon, 16 Apr 2012 11:13:03 GMT
|
50
|
+
x-ebay-esb-guid:
|
51
|
+
- urn:uuid:3BBAC1AAA362883CB71357684318616
|
52
|
+
x-ebay-esb-siteid:
|
53
|
+
- siteid
|
54
|
+
date:
|
55
|
+
- Sat, 29 Dec 2012 19:41:27 GMT
|
56
|
+
content-length:
|
57
|
+
- '726'
|
58
|
+
body:
|
59
|
+
encoding: US-ASCII
|
60
|
+
string: ! '<?xml version="1.0" encoding="UTF-8"?>
|
61
|
+
|
62
|
+
<FetchTokenResponse xmlns="urn:ebay:apis:eBLBaseComponents"><Timestamp>2012-12-29T19:41:27.916Z</Timestamp><Ack>Failure</Ack><Errors><ShortMessage>Invalid
|
63
|
+
value for header "X-EBAY-API-SITEID".</ShortMessage><LongMessage>Header
|
64
|
+
"X-EBAY-API-SITEID" with value "siteid" is out of range.</LongMessage><ErrorCode>10012</ErrorCode><SeverityCode>Error</SeverityCode><ErrorParameters
|
65
|
+
ParamID="0"><Value>X-EBAY-API-SITEID</Value></ErrorParameters><ErrorParameters
|
66
|
+
ParamID="1"><Value>siteid</Value></ErrorParameters><ErrorClassification>RequestError</ErrorClassification></Errors><Version>801</Version><Build>E801_INTL_BUNDLED_15589440_R1</Build></FetchTokenResponse>'
|
67
|
+
http_version: '1.1'
|
68
|
+
recorded_at: Sat, 29 Dec 2012 19:41:28 GMT
|
69
|
+
recorded_with: VCR 2.3.0
|
@@ -1,58 +1,70 @@
|
|
1
|
-
---
|
2
|
-
|
3
|
-
|
4
|
-
- request:
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
5
4
|
method: post
|
6
5
|
uri: https://api.ebay.com/ws/api.dll
|
7
|
-
body:
|
8
|
-
|
9
|
-
|
10
|
-
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ! "\n <?xml version=\"1.0\" encoding=\"utf-8\"?>\n <GetSessionIDRequest
|
9
|
+
xmlns=\"urn:ebay:apis:eBLBaseComponents\">\n <RuName>runame</RuName>\n
|
10
|
+
\ </GetSessionIDRequest>\n "
|
11
|
+
headers:
|
12
|
+
x-ebay-api-call-name:
|
11
13
|
- GetSessionID
|
12
|
-
|
13
|
-
-
|
14
|
-
|
14
|
+
x-ebay-api-compatibility-level:
|
15
|
+
- '675'
|
16
|
+
x-ebay-api-dev-name:
|
17
|
+
- devid
|
18
|
+
x-ebay-api-app-name:
|
19
|
+
- appid
|
20
|
+
x-ebay-api-cert-name:
|
21
|
+
- certid
|
22
|
+
x-ebay-api-siteid:
|
23
|
+
- siteid
|
24
|
+
content-type:
|
15
25
|
- text/xml
|
16
|
-
|
17
|
-
-
|
18
|
-
|
19
|
-
-
|
20
|
-
|
21
|
-
-
|
22
|
-
|
23
|
-
|
24
|
-
x-ebay-api-siteid:
|
25
|
-
- "0"
|
26
|
-
x-ebay-api-compatibility-level:
|
27
|
-
- "675"
|
28
|
-
response:
|
29
|
-
status:
|
26
|
+
content-length:
|
27
|
+
- '195'
|
28
|
+
accept:
|
29
|
+
- ! '*/*'
|
30
|
+
user-agent:
|
31
|
+
- Ruby
|
32
|
+
response:
|
33
|
+
status:
|
30
34
|
code: 200
|
31
35
|
message: OK
|
32
|
-
headers:
|
33
|
-
|
34
|
-
- 11212345690123456722222
|
35
|
-
x-ebay-esb-siteid:
|
36
|
-
- "0"
|
37
|
-
content-type:
|
36
|
+
headers:
|
37
|
+
content-type:
|
38
38
|
- text/xml
|
39
|
-
|
40
|
-
- fak:uuid:Fakefakefakefakefakefakefakefak
|
41
|
-
x-ebay-esb-app-name:
|
42
|
-
- fakefake-fake-fake-fake-fakefakefake
|
43
|
-
server:
|
39
|
+
server:
|
44
40
|
- Apache-Coyote/1.1
|
45
|
-
|
46
|
-
-
|
47
|
-
x-ebay-
|
41
|
+
x-ebay-api-pool-name:
|
42
|
+
- ___cDRidW90amJobm1saHNv
|
43
|
+
x-ebay-api-server-name:
|
44
|
+
- ___dWtgMWQ3MmYrM2A0ZygyNSg+Nys3MzsrNTI5PTY/Mg==
|
45
|
+
x-ebay-esb-app-name:
|
46
|
+
- appid
|
47
|
+
x-ebay-esb-call-name:
|
48
48
|
- GetSessionID
|
49
|
-
|
50
|
-
-
|
51
|
-
x-ebay-
|
52
|
-
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
49
|
+
x-ebay-esb-guid:
|
50
|
+
- urn:uuid:FCAF20798D43F99AC91358655620822
|
51
|
+
x-ebay-esb-siteid:
|
52
|
+
- siteid
|
53
|
+
date:
|
54
|
+
- Sat, 29 Dec 2012 19:41:25 GMT
|
55
|
+
content-length:
|
56
|
+
- '730'
|
57
|
+
connection:
|
58
|
+
- Keep-Alive
|
59
|
+
body:
|
60
|
+
encoding: US-ASCII
|
61
|
+
string: ! '<?xml version="1.0" encoding="UTF-8"?>
|
62
|
+
|
63
|
+
<GetSessionIDResponse xmlns="urn:ebay:apis:eBLBaseComponents"><Timestamp>2012-12-29T19:41:25.878Z</Timestamp><Ack>Failure</Ack><Errors><ShortMessage>Invalid
|
64
|
+
value for header "X-EBAY-API-SITEID".</ShortMessage><LongMessage>Header
|
65
|
+
"X-EBAY-API-SITEID" with value "siteid" is out of range.</LongMessage><ErrorCode>10012</ErrorCode><SeverityCode>Error</SeverityCode><ErrorParameters
|
66
|
+
ParamID="0"><Value>X-EBAY-API-SITEID</Value></ErrorParameters><ErrorParameters
|
67
|
+
ParamID="1"><Value>siteid</Value></ErrorParameters><ErrorClassification>RequestError</ErrorClassification></Errors><Version>801</Version><Build>E801_INTL_BUNDLED_15589440_R1</Build></GetSessionIDResponse>'
|
68
|
+
http_version: '1.1'
|
69
|
+
recorded_at: Sat, 29 Dec 2012 19:41:26 GMT
|
70
|
+
recorded_with: VCR 2.3.0
|
data/lib/ebay_api.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'multi_xml'
|
2
|
+
require 'active_support/core_ext/object/to_query'
|
2
3
|
|
3
4
|
module EbayAPI
|
4
5
|
|
@@ -27,8 +28,7 @@ module EbayAPI
|
|
27
28
|
</GetSessionIDRequest>
|
28
29
|
)
|
29
30
|
|
30
|
-
response = api(X_EBAY_API_GETSESSIONID_CALL_NAME, request)
|
31
|
-
parsed_response = MultiXml.parse(response)
|
31
|
+
parsed_response, response = api(X_EBAY_API_GETSESSIONID_CALL_NAME, request)
|
32
32
|
session_id = parsed_response && parsed_response["GetSessionIDResponse"] && parsed_response["GetSessionIDResponse"]["SessionID"]
|
33
33
|
|
34
34
|
if (!session_id)
|
@@ -49,8 +49,7 @@ module EbayAPI
|
|
49
49
|
</FetchTokenRequest>
|
50
50
|
)
|
51
51
|
|
52
|
-
response = api(X_EBAY_API_FETCHAUTHTOKEN_CALL_NAME, request)
|
53
|
-
parsed_response = MultiXml.parse(response)
|
52
|
+
parsed_response, response = api(X_EBAY_API_FETCHAUTHTOKEN_CALL_NAME, request)
|
54
53
|
token = parsed_response && parsed_response["FetchTokenResponse"] && parsed_response["FetchTokenResponse"]["eBayAuthToken"]
|
55
54
|
|
56
55
|
if (!token)
|
@@ -73,8 +72,7 @@ module EbayAPI
|
|
73
72
|
</GetUserRequest>
|
74
73
|
)
|
75
74
|
|
76
|
-
response = api(X_EBAY_API_GETUSER_CALL_NAME, request)
|
77
|
-
parsed_response = MultiXml.parse(response)
|
75
|
+
parsed_response, response = api(X_EBAY_API_GETUSER_CALL_NAME, request)
|
78
76
|
user = parsed_response && parsed_response["GetUserResponse"] && parsed_response["GetUserResponse"]["User"]
|
79
77
|
|
80
78
|
if (!user)
|
@@ -84,11 +82,12 @@ module EbayAPI
|
|
84
82
|
user
|
85
83
|
end
|
86
84
|
|
87
|
-
def ebay_login_url(session_id)
|
88
|
-
|
89
|
-
|
90
|
-
internal_return_to =
|
91
|
-
|
85
|
+
def ebay_login_url(session_id, ruparams={})
|
86
|
+
url = "#{EBAY_LOGIN_URL}?#{options.auth_type}&runame=#{options.runame}&#{session_id_field_name}=#{CGI::escape(session_id)}"
|
87
|
+
|
88
|
+
ruparams[:internal_return_to] = internal_return_to if internal_return_to
|
89
|
+
ruparams[:sid] = session_id
|
90
|
+
url << "&ruparams=#{ruparams.to_query.gsub("=", "%3D").gsub("&", "%26")}" unless ruparams.empty?
|
92
91
|
|
93
92
|
url
|
94
93
|
end
|
@@ -101,7 +100,8 @@ module EbayAPI
|
|
101
100
|
req = Net::HTTP::Post.new(url.path, headers)
|
102
101
|
http = Net::HTTP.new(url.host, url.port)
|
103
102
|
http.use_ssl = true
|
104
|
-
http.start { |h| h.request(req, request) }.body
|
103
|
+
response = http.start { |h| h.request(req, request) }.body
|
104
|
+
[MultiXml.parse(response), response]
|
105
105
|
end
|
106
106
|
|
107
107
|
def ebay_request_headers(call_name, request_length)
|
@@ -116,4 +116,19 @@ module EbayAPI
|
|
116
116
|
'Content-Length' => request_length
|
117
117
|
}
|
118
118
|
end
|
119
|
+
|
120
|
+
private
|
121
|
+
|
122
|
+
def internal_return_to
|
123
|
+
request.params['internal_return_to'] || request.params[:internal_return_to]
|
124
|
+
end
|
125
|
+
|
126
|
+
def session_id_field_name
|
127
|
+
if options.auth_type == OmniAuth::Strategies::Ebay::AuthType::SSO
|
128
|
+
OmniAuth::Strategies::Ebay::AuthType::SSO_SID_FIELD_NAME
|
129
|
+
else
|
130
|
+
OmniAuth::Strategies::Ebay::AuthType::SIMPLE_SID_FIELD_NAME
|
131
|
+
end
|
132
|
+
end
|
133
|
+
|
119
134
|
end
|
@@ -6,6 +6,14 @@ module OmniAuth
|
|
6
6
|
include OmniAuth::Strategy
|
7
7
|
include EbayAPI
|
8
8
|
|
9
|
+
module AuthType
|
10
|
+
SSO = 'SingleSignOn'
|
11
|
+
Simple = 'SignIn'
|
12
|
+
|
13
|
+
SSO_SID_FIELD_NAME = "sid"
|
14
|
+
SIMPLE_SID_FIELD_NAME = "SessId"
|
15
|
+
end
|
16
|
+
|
9
17
|
args [:runame, :devid, :appid, :certid, :siteid, :apiurl]
|
10
18
|
option :name, "ebay"
|
11
19
|
option :runame, nil
|
@@ -14,6 +22,7 @@ module OmniAuth
|
|
14
22
|
option :certid, nil
|
15
23
|
option :siteid, nil
|
16
24
|
option :apiurl, nil
|
25
|
+
option :auth_type, AuthType::SSO
|
17
26
|
|
18
27
|
uid { raw_info['EIASToken'] }
|
19
28
|
info do
|
data/omniauth-ebay.gemspec
CHANGED
@@ -20,6 +20,7 @@ Gem::Specification.new do |s|
|
|
20
20
|
|
21
21
|
s.add_runtime_dependency 'omniauth', '~> 1.0'
|
22
22
|
s.add_runtime_dependency 'multi_xml'
|
23
|
+
s.add_runtime_dependency 'activesupport'
|
23
24
|
s.add_development_dependency 'rspec', '~> 2.7'
|
24
25
|
s.add_development_dependency 'rake'
|
25
26
|
s.add_development_dependency 'multi_xml'
|
@@ -0,0 +1,113 @@
|
|
1
|
+
---
|
2
|
+
recorded_with: VCR 2.0.1
|
3
|
+
http_interactions:
|
4
|
+
- request:
|
5
|
+
method: post
|
6
|
+
uri: https://api.ebay.com/ws/api.dll
|
7
|
+
body:
|
8
|
+
string: " <?xml version=\"1.0\" encoding=\"utf-8\"?>\n <FetchTokenRequest xmlns=\"urn:ebay:apis:eBLBaseComponents\">\n <RequesterCredentials>\n <Username>test_user</Username>\n </RequesterCredentials>\n <SecretID>fake</SecretID>\n </FetchTokenRequest>\n"
|
9
|
+
headers:
|
10
|
+
x-ebay-api-call-name:
|
11
|
+
- FetchToken
|
12
|
+
accept:
|
13
|
+
- "*/*"
|
14
|
+
content-type:
|
15
|
+
- text/xml
|
16
|
+
x-ebay-api-app-name:
|
17
|
+
- a219dda1-87b5-11e1-b0c4-0800200c9a66
|
18
|
+
content-length:
|
19
|
+
- "350"
|
20
|
+
x-ebay-api-dev-name:
|
21
|
+
- bdc8a861-87b5-11e1-b0c4-0800200c9a66
|
22
|
+
x-ebay-api-cert-name:
|
23
|
+
- cf9340f3-87b5-11e1-b0c4-0800200c9a66
|
24
|
+
x-ebay-api-siteid:
|
25
|
+
- "0"
|
26
|
+
x-ebay-api-compatibility-level:
|
27
|
+
- "675"
|
28
|
+
response:
|
29
|
+
status:
|
30
|
+
code: 200
|
31
|
+
message: OK
|
32
|
+
headers:
|
33
|
+
x-ebay-api-pool-name:
|
34
|
+
- 11212345690123456722222
|
35
|
+
x-ebay-esb-siteid:
|
36
|
+
- "0"
|
37
|
+
content-type:
|
38
|
+
- text/xml
|
39
|
+
x-ebay-esb-guid:
|
40
|
+
- fak:uuid:Fakefakefakefakefakefakefakefak
|
41
|
+
x-ebay-esb-app-name:
|
42
|
+
- fakefake-fake-fake-fake-fakefakefake
|
43
|
+
server:
|
44
|
+
- Apache-Coyote/1.1
|
45
|
+
content-length:
|
46
|
+
- "1219"
|
47
|
+
x-ebay-esb-call-name:
|
48
|
+
- FetchToken
|
49
|
+
date:
|
50
|
+
- Mon, 16 Apr 2012 11:13:26 GMT
|
51
|
+
x-ebay-api-server-name:
|
52
|
+
- ___ffffffffffffffffffffffffffffffffffffffffffff
|
53
|
+
body:
|
54
|
+
string: |-
|
55
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
56
|
+
<FetchTokenResponse xmlns="urn:ebay:apis:eBLBaseComponents"><Timestamp>2012-04-16T11:13:26.603Z</Timestamp><Ack>Success</Ack><Version>767</Version><Build>E767_CORE_BUNDLED_14671989_R1</Build><eBayAuthToken>fake</eBayAuthToken><HardExpirationTime>2013-10-08T08:36:50.000Z</HardExpirationTime></FetchTokenResponse>
|
57
|
+
http_version: "1.1"
|
58
|
+
recorded_at: Mon, 16 Apr 2012 11:12:58 GMT
|
59
|
+
- request:
|
60
|
+
method: post
|
61
|
+
uri: https://api.ebay.com/ws/api.dll
|
62
|
+
body:
|
63
|
+
string: " <?xml version=\"1.0\" encoding=\"utf-8\"?>\n <GetUserRequest xmlns=\"urn:ebay:apis:eBLBaseComponents\">\n <RequesterCredentials>\n <eBayAuthToken>fake</eBayAuthToken>\n </RequesterCredentials>\n </GetUserRequest>\n"
|
64
|
+
headers:
|
65
|
+
x-ebay-api-call-name:
|
66
|
+
- GetUser
|
67
|
+
accept:
|
68
|
+
- "*/*"
|
69
|
+
content-type:
|
70
|
+
- text/xml
|
71
|
+
x-ebay-api-app-name:
|
72
|
+
- a219dda1-87b5-11e1-b0c4-0800200c9a66
|
73
|
+
content-length:
|
74
|
+
- "350"
|
75
|
+
x-ebay-api-dev-name:
|
76
|
+
- bdc8a861-87b5-11e1-b0c4-0800200c9a66
|
77
|
+
x-ebay-api-cert-name:
|
78
|
+
- cf9340f3-87b5-11e1-b0c4-0800200c9a66
|
79
|
+
x-ebay-api-siteid:
|
80
|
+
- "0"
|
81
|
+
x-ebay-api-compatibility-level:
|
82
|
+
- "675"
|
83
|
+
response:
|
84
|
+
status:
|
85
|
+
code: 200
|
86
|
+
message: OK
|
87
|
+
headers:
|
88
|
+
x-ebay-api-pool-name:
|
89
|
+
- fake
|
90
|
+
x-ebay-esb-siteid:
|
91
|
+
- "0"
|
92
|
+
content-type:
|
93
|
+
- text/xml
|
94
|
+
x-ebay-esb-guid:
|
95
|
+
- fake
|
96
|
+
x-ebay-esb-app-name:
|
97
|
+
- fake
|
98
|
+
server:
|
99
|
+
- Apache-Coyote/1.1
|
100
|
+
content-length:
|
101
|
+
- "2162"
|
102
|
+
x-ebay-esb-call-name:
|
103
|
+
- GetUser
|
104
|
+
date:
|
105
|
+
- Mon, 16 Apr 2012 11:13:30 GMT
|
106
|
+
x-ebay-api-server-name:
|
107
|
+
- ___dm8ucis2MTZkMzB8KTYzKzczLTQ2MS09MD07NT43
|
108
|
+
body:
|
109
|
+
string: |-
|
110
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
111
|
+
<GetUserResponse xmlns="urn:ebay:apis:eBLBaseComponents"><Timestamp>2012-04-16T11:13:31.701Z</Timestamp><Ack>Success</Ack><Version>767</Version><Build>E767_CORE_BUNDLED_14671989_R1</Build><User><AboutMePage>false</AboutMePage><EIASToken>fake_eias_token</EIASToken><Email>test@user.com</Email><FeedbackScore>27</FeedbackScore><UniqueNegativeFeedbackCount>0</UniqueNegativeFeedbackCount><UniquePositiveFeedbackCount>0</UniquePositiveFeedbackCount><PositiveFeedbackPercent>0.0</PositiveFeedbackPercent><FeedbackPrivate>false</FeedbackPrivate><FeedbackRatingStar>Yellow</FeedbackRatingStar><IDVerified>false</IDVerified><eBayGoodStanding>true</eBayGoodStanding><NewUser>false</NewUser><RegistrationDate>2000-01-01T07:06:10.000Z</RegistrationDate><Site>US</Site><Status>Confirmed</Status><UserID>test_user</UserID><UserIDChanged>false</UserIDChanged><UserIDLastChanged>2004-01-02T19:18:59.000Z</UserIDLastChanged><VATStatus>NoVATTax</VATStatus><SellerInfo><AllowPaymentEdit>true</AllowPaymentEdit><CheckoutEnabled>true</CheckoutEnabled><CIPBankAccountStored>false</CIPBankAccountStored><GoodStanding>true</GoodStanding><LiveAuctionAuthorized>false</LiveAuctionAuthorized><MerchandizingPref>OptIn</MerchandizingPref><QualifiesForB2BVAT>false</QualifiesForB2BVAT><SellerGuaranteeLevel>NotEligible</SellerGuaranteeLevel><SchedulingInfo><MaxScheduledMinutes>30240</MaxScheduledMinutes><MinScheduledMinutes>0</MinScheduledMinutes><MaxScheduledItems>3000</MaxScheduledItems></SchedulingInfo><StoreOwner>false</StoreOwner><PaymentMethod>NothingOnFile</PaymentMethod><CharityRegistered>false</CharityRegistered><SafePaymentExempt>true</SafePaymentExempt><TransactionPercent>0.0</TransactionPercent><RecoupmentPolicyConsent/></SellerInfo><PayPalAccountLevel>Verified</PayPalAccountLevel><PayPalAccountType>Personal</PayPalAccountType><PayPalAccountStatus>Active</PayPalAccountStatus><eBayWikiReadOnly>false</eBayWikiReadOnly><MotorsDealer>false</MotorsDealer><UniqueNeutralFeedbackCount>0</UniqueNeutralFeedbackCount><EnterpriseSeller>false</EnterpriseSeller></User></GetUserResponse>
|
112
|
+
http_version: "1.1"
|
113
|
+
recorded_at: Mon, 16 Apr 2012 11:13:03 GMT
|
@@ -0,0 +1,58 @@
|
|
1
|
+
---
|
2
|
+
recorded_with: VCR 2.0.1
|
3
|
+
http_interactions:
|
4
|
+
- request:
|
5
|
+
method: post
|
6
|
+
uri: https://api.ebay.com/ws/api.dll
|
7
|
+
body:
|
8
|
+
string: " <?xml version=\"1.0\" encoding=\"utf-8\"?>\n <GetSessionIDRequest xmlns=\"urn:ebay:apis:eBLBaseComponents\">\n <RuName>fak_fak_fakeeee-eeeeeeee-eeee-e-eeeee</RuName>\n </GetSessionIDRequest>\n"
|
9
|
+
headers:
|
10
|
+
x-ebay-api-call-name:
|
11
|
+
- GetSessionID
|
12
|
+
accept:
|
13
|
+
- "*/*"
|
14
|
+
content-type:
|
15
|
+
- text/xml
|
16
|
+
x-ebay-api-app-name:
|
17
|
+
- a219dda1-87b5-11e1-b0c4-0800200c9a66
|
18
|
+
content-length:
|
19
|
+
- "350"
|
20
|
+
x-ebay-api-dev-name:
|
21
|
+
- bdc8a861-87b5-11e1-b0c4-0800200c9a66
|
22
|
+
x-ebay-api-cert-name:
|
23
|
+
- cf9340f3-87b5-11e1-b0c4-0800200c9a66
|
24
|
+
x-ebay-api-siteid:
|
25
|
+
- "0"
|
26
|
+
x-ebay-api-compatibility-level:
|
27
|
+
- "675"
|
28
|
+
response:
|
29
|
+
status:
|
30
|
+
code: 200
|
31
|
+
message: OK
|
32
|
+
headers:
|
33
|
+
x-ebay-api-pool-name:
|
34
|
+
- 11212345690123456722222
|
35
|
+
x-ebay-esb-siteid:
|
36
|
+
- "0"
|
37
|
+
content-type:
|
38
|
+
- text/xml
|
39
|
+
x-ebay-esb-guid:
|
40
|
+
- fak:uuid:Fakefakefakefakefakefakefakefak
|
41
|
+
x-ebay-esb-app-name:
|
42
|
+
- fakefake-fake-fake-fake-fakefakefake
|
43
|
+
server:
|
44
|
+
- Apache-Coyote/1.1
|
45
|
+
content-length:
|
46
|
+
- "318"
|
47
|
+
x-ebay-esb-call-name:
|
48
|
+
- GetSessionID
|
49
|
+
date:
|
50
|
+
- Mon, 16 Apr 2012 11:13:24 GMT
|
51
|
+
x-ebay-api-server-name:
|
52
|
+
- ____ffffffffffffffffffffffffffffffffffffffffffff
|
53
|
+
body:
|
54
|
+
string: |-
|
55
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
56
|
+
<GetSessionIDResponse xmlns="urn:ebay:apis:eBLBaseComponents"><Timestamp>2012-04-16T11:13:25.255Z</Timestamp><Ack>Success</Ack><Version>767</Version><Build>E767_CORE_BUNDLED_14671989_R1</Build><SessionID>fake</SessionID></GetSessionIDResponse>
|
57
|
+
http_version: "1.1"
|
58
|
+
recorded_at: Mon, 16 Apr 2012 11:12:57 GMT
|
data/spec/lib/ebay_api_spec.rb
CHANGED
@@ -1,4 +1,149 @@
|
|
1
1
|
require 'spec_helper'
|
2
|
+
require 'ostruct'
|
3
|
+
|
4
|
+
class FakeStrategy
|
5
|
+
include EbayAPI
|
6
|
+
|
7
|
+
def options
|
8
|
+
@options ||= begin
|
9
|
+
options = OpenStruct.new
|
10
|
+
options.runame = "runame"
|
11
|
+
options.auth_type = OmniAuth::Strategies::Ebay::AuthType::SSO
|
12
|
+
options
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
describe EbayAPI do
|
18
|
+
subject { FakeStrategy.new }
|
19
|
+
let(:good_response) { "good response" }
|
20
|
+
let(:bad_response) { "bad response" }
|
21
|
+
let(:bad_parsed_response) { {} }
|
22
|
+
|
23
|
+
describe :ebay_login_url do
|
24
|
+
let(:session_id) { "session_id"}
|
25
|
+
let(:unescaped_session_id) { "asdasd+afasf" }
|
26
|
+
let(:internal_return_to) { "http://someurl.com/somewhere" }
|
27
|
+
let(:signIn) { OmniAuth::Strategies::Ebay::AuthType::Simple }
|
28
|
+
let(:singleSignOn) { OmniAuth::Strategies::Ebay::AuthType::SSO }
|
29
|
+
|
30
|
+
it "should cgi escape session id" do
|
31
|
+
subject.stub(:internal_return_to) { false }
|
32
|
+
subject.ebay_login_url(unescaped_session_id).should include("sid=#{CGI.escape(unescaped_session_id)}")
|
33
|
+
end
|
34
|
+
|
35
|
+
context :SingleSignOn do
|
36
|
+
it "should return ebay login url with internal return to when internal_return_to given in request" do
|
37
|
+
subject.stub(:internal_return_to) { internal_return_to }
|
38
|
+
params = {}
|
39
|
+
params[:internal_return_to] = internal_return_to
|
40
|
+
params[:sid] = session_id
|
41
|
+
subject.ebay_login_url(session_id).should == "#{EbayAPI::EBAY_LOGIN_URL}?#{singleSignOn}&runame=runame&sid=#{session_id}&ruparams=#{to_query(params)}"
|
42
|
+
end
|
43
|
+
|
44
|
+
it "should return ebay login url without internal return to when internal_return_to isn't given in request" do
|
45
|
+
subject.stub(:internal_return_to) { false }
|
46
|
+
params = {}
|
47
|
+
params[:sid] = session_id
|
48
|
+
subject.ebay_login_url(session_id).should == "#{EbayAPI::EBAY_LOGIN_URL}?#{singleSignOn}&runame=runame&sid=#{session_id}&ruparams=#{to_query(params)}"
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
context :SignIn do
|
53
|
+
before :each do
|
54
|
+
subject.options.auth_type = OmniAuth::Strategies::Ebay::AuthType::Simple
|
55
|
+
end
|
56
|
+
it "should return ebay login url with internal_return_to when internal_return_to given in request" do
|
57
|
+
subject.stub(:internal_return_to) { internal_return_to }
|
58
|
+
params = {}
|
59
|
+
params[:internal_return_to] = internal_return_to
|
60
|
+
params[:sid] = session_id
|
61
|
+
subject.ebay_login_url(session_id).should == "#{EbayAPI::EBAY_LOGIN_URL}?#{signIn}&runame=runame&SessId=#{session_id}&ruparams=#{to_query(params)}"
|
62
|
+
end
|
63
|
+
|
64
|
+
it "should return ebay login url without internal return to when internal_return_to isn't given in request" do
|
65
|
+
subject.stub(:internal_return_to) { false }
|
66
|
+
params = {}
|
67
|
+
params[:sid] = session_id
|
68
|
+
subject.ebay_login_url(session_id).should == "#{EbayAPI::EBAY_LOGIN_URL}?#{signIn}&runame=runame&SessId=#{session_id}&ruparams=#{to_query(params)}"
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
## The activesupport to_query extension doesn't escape the = character as it's meant for a primary query string
|
73
|
+
def to_query(params)
|
74
|
+
params.to_query.gsub("=", "%3D").gsub("&", "%26")
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
describe :generate_session_id do
|
79
|
+
let(:good_parsed_response) do
|
80
|
+
{
|
81
|
+
"GetSessionIDResponse" =>
|
82
|
+
{
|
83
|
+
"SessionID" => "sessionid"
|
84
|
+
}
|
85
|
+
}
|
86
|
+
end
|
87
|
+
|
88
|
+
it "should return a session id for a good response" do
|
89
|
+
subject.stub(:api) { [good_parsed_response, good_response] }
|
90
|
+
subject.generate_session_id.should == "sessionid"
|
91
|
+
end
|
92
|
+
|
93
|
+
it "should raise EbayAPIError for a bad response" do
|
94
|
+
subject.stub(:api) { [bad_parsed_response, bad_response] }
|
95
|
+
expect { subject.generate_session_id }.to raise_error EbayAPI::EbayApiError
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
describe :get_auth_token do
|
100
|
+
let(:good_parsed_response) do
|
101
|
+
{
|
102
|
+
"FetchTokenResponse" =>
|
103
|
+
{
|
104
|
+
"eBayAuthToken" => "ebay_auth_token"
|
105
|
+
}
|
106
|
+
}
|
107
|
+
end
|
108
|
+
|
109
|
+
it "should return an ebay auth token for a good response" do
|
110
|
+
subject.stub(:api) { [good_parsed_response, good_response] }
|
111
|
+
subject.get_auth_token("username", "secret_id").should == "ebay_auth_token"
|
112
|
+
end
|
113
|
+
|
114
|
+
it "should raise EbayAPIError for a bad response" do
|
115
|
+
subject.stub(:api) { [bad_parsed_response, bad_response] }
|
116
|
+
expect { subject.get_auth_token("username", "secret_id") }.to raise_error EbayAPI::EbayApiError
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
120
|
+
describe :get_user_info do
|
121
|
+
let(:good_parsed_response) do
|
122
|
+
{
|
123
|
+
"GetUserResponse" =>
|
124
|
+
{
|
125
|
+
"User" => {
|
126
|
+
"EIASToken" => "eiastoken",
|
127
|
+
"UserID" => "eiastoken",
|
128
|
+
"Email" => "eiastoken",
|
129
|
+
"RegistrationAddress" => {
|
130
|
+
"Name" => "name",
|
131
|
+
"Country" => "country"
|
132
|
+
}
|
133
|
+
}
|
134
|
+
}
|
135
|
+
}
|
136
|
+
end
|
137
|
+
|
138
|
+
it "should return user info for a good response" do
|
139
|
+
subject.stub(:api) { [good_parsed_response, good_response] }
|
140
|
+
subject.get_user_info("username", "auth_token").should == good_parsed_response["GetUserResponse"]["User"]
|
141
|
+
end
|
142
|
+
|
143
|
+
it "should raise EbayAPIError for a bad response" do
|
144
|
+
subject.stub(:api) { [bad_parsed_response, bad_response] }
|
145
|
+
expect { subject.get_user_info("username", "auth_token") }.to raise_error EbayAPI::EbayApiError
|
146
|
+
end
|
147
|
+
end
|
2
148
|
|
3
|
-
describe "ebay api" do
|
4
149
|
end
|
@@ -18,14 +18,14 @@ describe OmniAuth::Strategies::Ebay do
|
|
18
18
|
|
19
19
|
let(:auth_hash) { last_request.env['omniauth.auth'] }
|
20
20
|
describe "#request_phase" do
|
21
|
-
|
21
|
+
xit "should redirect to ebay with session_id" do
|
22
22
|
VCR.use_cassette 'request_phase' do
|
23
23
|
get '/auth/ebay'
|
24
24
|
last_response.should be_redirect
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
28
|
-
|
28
|
+
xit "should fail" do
|
29
29
|
get '/auth/ebay'
|
30
30
|
last_response.should be_redirect
|
31
31
|
last_response.location.should =~ /\/auth\/failure/
|
@@ -33,7 +33,7 @@ describe OmniAuth::Strategies::Ebay do
|
|
33
33
|
end
|
34
34
|
|
35
35
|
describe "#callback_phase" do
|
36
|
-
|
36
|
+
xit "should initialize auth uid and info" do
|
37
37
|
VCR.use_cassette 'callback_phase' do
|
38
38
|
get '/auth/ebay/callback?sid=fake&username=test_user&'
|
39
39
|
auth_hash.should_not be_nil
|
@@ -41,7 +41,7 @@ describe OmniAuth::Strategies::Ebay do
|
|
41
41
|
end
|
42
42
|
end
|
43
43
|
|
44
|
-
|
44
|
+
xit "should fail" do
|
45
45
|
get '/auth/ebay/callback'
|
46
46
|
auth_hash.should be_nil
|
47
47
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: omniauth-ebay
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2013-02-06 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: omniauth
|
@@ -43,6 +43,22 @@ dependencies:
|
|
43
43
|
- - ! '>='
|
44
44
|
- !ruby/object:Gem::Version
|
45
45
|
version: '0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: activesupport
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
type: :runtime
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
46
62
|
- !ruby/object:Gem::Dependency
|
47
63
|
name: rspec
|
48
64
|
requirement: !ruby/object:Gem::Requirement
|
@@ -164,6 +180,8 @@ extensions: []
|
|
164
180
|
extra_rdoc_files: []
|
165
181
|
files:
|
166
182
|
- .gitignore
|
183
|
+
- .rspec
|
184
|
+
- .rvmrc
|
167
185
|
- Gemfile
|
168
186
|
- README.md
|
169
187
|
- Rakefile
|
@@ -176,6 +194,8 @@ files:
|
|
176
194
|
- lib/omniauth/strategies/.ebay.rb.swp
|
177
195
|
- lib/omniauth/strategies/ebay.rb
|
178
196
|
- omniauth-ebay.gemspec
|
197
|
+
- spec/fixtures/vcr_cassettes/callback_phase.yml
|
198
|
+
- spec/fixtures/vcr_cassettes/request_phase.yml
|
179
199
|
- spec/lib/ebay_api_spec.rb
|
180
200
|
- spec/omniauth/strategies/ebay_spec.rb
|
181
201
|
- spec/spec_helper.rb
|
@@ -199,11 +219,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
199
219
|
version: '0'
|
200
220
|
requirements: []
|
201
221
|
rubyforge_project: omniauth-ebay
|
202
|
-
rubygems_version: 1.8.
|
222
|
+
rubygems_version: 1.8.24
|
203
223
|
signing_key:
|
204
224
|
specification_version: 3
|
205
225
|
summary: OmniAuth strategy for eBay
|
206
226
|
test_files:
|
227
|
+
- spec/fixtures/vcr_cassettes/callback_phase.yml
|
228
|
+
- spec/fixtures/vcr_cassettes/request_phase.yml
|
207
229
|
- spec/lib/ebay_api_spec.rb
|
208
230
|
- spec/omniauth/strategies/ebay_spec.rb
|
209
231
|
- spec/spec_helper.rb
|