amazon_auth 0.4.3 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.travis.yml +4 -4
- data/Rakefile +1 -1
- data/amazon_auth.gemspec +0 -1
- data/exe/amazon_auth +2 -4
- data/lib/amazon_auth/extensions/common_extension.rb +0 -1
- data/lib/amazon_auth/extensions/session_extension.rb +37 -10
- data/lib/amazon_auth/version.rb +1 -1
- metadata +3 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: a45eff39c70d3750f6bb7edd67f68ae06f9e8b8290601aa4fe30f4ac89f3ec9c
|
4
|
+
data.tar.gz: d22f3c9195a3120b5f900824357093003b3c2760c8d3ff9d1a17d323ce5cc8ed
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4fc2ef8f1b551796f6b3efb359987db8a48d05ce51d75d055275c639dd950e51d8f99a90fe5afc4b646940b9bb142b49adc984ee2a922d1b0d2c7cbbc988e022
|
7
|
+
data.tar.gz: 2571de906fdc1470088cb9e71db7d6ac87748e649f6be73beceede17447865e5f597ad9f1cf44edd5748db747e7b15bf45daaf9eb5887d9306472766bdb25b89
|
data/.travis.yml
CHANGED
data/Rakefile
CHANGED
data/amazon_auth.gemspec
CHANGED
data/exe/amazon_auth
CHANGED
@@ -3,12 +3,10 @@
|
|
3
3
|
require_relative "../lib/amazon_auth"
|
4
4
|
require 'highline/import'
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
domain = ask("Enter your amazon domain: ") { |q| q.echo = true ; q.default = AmazonInfo.domain }
|
6
|
+
domain = ask("Enter your amazon domain: ") { |q| q.echo = true; q.default = AmazonInfo.domain }
|
9
7
|
login = ask("Enter your #{domain} username: ") { |q| q.echo = true }
|
10
8
|
passwd = ask("Enter your #{domain} password: ") { |q| q.echo = "*" }
|
11
|
-
salt = ask("Enter your salt: ") { |q| q.default = AmazonAuth::Converter.default_salt
|
9
|
+
salt = ask("Enter your salt: ") { |q| q.default = AmazonAuth::Converter.default_salt; q.echo = true }
|
12
10
|
|
13
11
|
raise "Empty login or password" if login.to_s.size == 0 || passwd.to_s.size == 0
|
14
12
|
|
@@ -1,6 +1,5 @@
|
|
1
1
|
module AmazonAuth
|
2
2
|
module SessionExtension
|
3
|
-
|
4
3
|
def doc
|
5
4
|
Nokogiri.HTML(session.html)
|
6
5
|
end
|
@@ -30,7 +29,7 @@ module AmazonAuth
|
|
30
29
|
session.visit url
|
31
30
|
debug "Visiting #{url}"
|
32
31
|
restore_cookies if keep_cookie?
|
33
|
-
if (link =
|
32
|
+
if (link = find_sign_in_link)
|
34
33
|
debug "link: [#{link}]"
|
35
34
|
session.visit(link)
|
36
35
|
end
|
@@ -50,11 +49,20 @@ module AmazonAuth
|
|
50
49
|
end
|
51
50
|
|
52
51
|
def submit_signin_form
|
53
|
-
|
52
|
+
# Click account switcher if it is displayed
|
53
|
+
dom_account_switcher = '.cvf-account-switcher-profile-details, .cvf-account-switcher-claim'
|
54
|
+
session.first(dom_account_switcher).click if session.has_selector?(dom_account_switcher)
|
55
|
+
|
54
56
|
debug "Begin submit_signin_form"
|
55
57
|
unless session.has_selector?('#signInSubmit')
|
56
|
-
|
57
|
-
|
58
|
+
if session.has_selector?('input#continue') && session.has_selector?('input#ap_email')
|
59
|
+
log "Found a form which asks only email"
|
60
|
+
session.fill_in 'ap_email', with: login
|
61
|
+
session.first('input#continue').click
|
62
|
+
else
|
63
|
+
log "signInSubmit button not found in this page"
|
64
|
+
return false
|
65
|
+
end
|
58
66
|
end
|
59
67
|
session.fill_in 'ap_email', with: login if session.first('#ap_email', minimum: 0) && session.first('#ap_email').value.blank?
|
60
68
|
session.fill_in 'ap_password', with: password
|
@@ -97,13 +105,32 @@ module AmazonAuth
|
|
97
105
|
session.has_selector?('#auth-captcha-image-container')
|
98
106
|
end
|
99
107
|
|
100
|
-
|
108
|
+
def find_sign_in_link
|
109
|
+
m1 = session.html.match(%r{(/ap/signin[^'"]+)['"]})
|
110
|
+
return CGI.unescapeHTML(m1[1]) if m1
|
101
111
|
|
102
|
-
|
103
|
-
|
112
|
+
# Maybe the following patterns are deprecated
|
113
|
+
link = links_for('a').find{|l| l =~ %r{\A/gp/navigation/redirector.html} }
|
114
|
+
if link
|
115
|
+
debug "Found a link [#{link}]"
|
116
|
+
return link
|
104
117
|
end
|
105
|
-
|
106
|
-
|
118
|
+
m2 = session.html.match(%r{'(/gp/navigation/redirector.html[^']+)'})
|
119
|
+
if m2
|
120
|
+
debug "Found a link (.html.match) [#{m2[1]}]"
|
121
|
+
return m2[1]
|
107
122
|
end
|
123
|
+
nil
|
124
|
+
end
|
125
|
+
|
126
|
+
private
|
127
|
+
|
128
|
+
def login
|
129
|
+
options.fetch(:login, Converter.decode(ENV['AMAZON_USERNAME_CODE']))
|
130
|
+
end
|
131
|
+
|
132
|
+
def password
|
133
|
+
options.fetch(:password, Converter.decode(ENV['AMAZON_PASSWORD_CODE']))
|
134
|
+
end
|
108
135
|
end
|
109
136
|
end
|
data/lib/amazon_auth/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: amazon_auth
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kazuho Yamaguchi
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-01-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: capybara
|
@@ -196,8 +196,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
196
196
|
- !ruby/object:Gem::Version
|
197
197
|
version: '0'
|
198
198
|
requirements: []
|
199
|
-
|
200
|
-
rubygems_version: 2.6.8
|
199
|
+
rubygems_version: 3.0.3
|
201
200
|
signing_key:
|
202
201
|
specification_version: 4
|
203
202
|
summary: Login amazon.
|