amazon_auth 0.4.3 → 0.6.0
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.
- 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.
|