amazon_auth 0.4.2 → 0.5.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 +30 -13
- 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: 7da5d38fe75349e2e609f1acdef47b251a0a3353ba9693ac7a3961848bdaa645
|
4
|
+
data.tar.gz: 28faf4af2fbd6084d62a9bfe9dd8c7b94b200d5cca9b7a8fb14d4d569975284e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9cee30a8fb0c0955acc36341d980ca9d5545e162199164f2e9f46140e415fcd3e36f92c5910b32c2ec2d1ef64a9e2d20d85b0d63032d28b2a484cb93c7a3fd2d
|
7
|
+
data.tar.gz: 8b3655e0a60e5c36686714ba8e98aa1eb5939a1a6358de45b2237a26be58628855c79e4c2802061ca54c4b3b0fa77fa648ecda7d08c27153cea81f8eb6e4c523
|
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
|
@@ -12,7 +11,7 @@ module AmazonAuth
|
|
12
11
|
|
13
12
|
def wait_for_selector(selector, options = {})
|
14
13
|
options.fetch(:wait_time, 3).times do
|
15
|
-
if session.first(selector)
|
14
|
+
if session.first(selector, minimum: 0)
|
16
15
|
break
|
17
16
|
else
|
18
17
|
sleep(1)
|
@@ -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,13 +49,22 @@ 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
|
-
session.fill_in 'ap_email', with: login if session.first('#ap_email') && session.first('#ap_email').value.blank?
|
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
|
61
69
|
session.first('#signInSubmit').click
|
62
70
|
log "Clicked signInSubmit"
|
@@ -97,13 +105,22 @@ module AmazonAuth
|
|
97
105
|
session.has_selector?('#auth-captcha-image-container')
|
98
106
|
end
|
99
107
|
|
108
|
+
def find_sign_in_link
|
109
|
+
link = links_for('a').find{|l| l =~ %r{\A/gp/navigation/redirector.html} }
|
110
|
+
return link if link
|
111
|
+
m = session.html.match(%r{'(/gp/navigation/redirector.html[^']+)'})
|
112
|
+
return m[1] if m
|
113
|
+
nil
|
114
|
+
end
|
115
|
+
|
100
116
|
private
|
101
117
|
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
118
|
+
def login
|
119
|
+
options.fetch(:login, Converter.decode(ENV['AMAZON_USERNAME_CODE']))
|
120
|
+
end
|
121
|
+
|
122
|
+
def password
|
123
|
+
options.fetch(:password, Converter.decode(ENV['AMAZON_PASSWORD_CODE']))
|
124
|
+
end
|
108
125
|
end
|
109
126
|
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.5.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: 2020-09-05 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.13
|
199
|
+
rubygems_version: 3.0.8
|
201
200
|
signing_key:
|
202
201
|
specification_version: 4
|
203
202
|
summary: Login amazon.
|