@@ -6,15 +6,15 @@ Information
6
6
===========
7
7
8
8
Clients are authorized using OpenID in Authorization Code Flow with PKCE.
9
- Once a client has successfully authorized to Amazon, they are get an
9
+ Once a client has successfully authorized to Amazon, they receive an
10
10
`authorization code ` for device registration to Audible/Amazon.
11
11
12
12
.. _authorization :
13
13
14
14
Authorization
15
15
=============
16
16
17
- For an example how to authorize please take a look at :ref: `hello_library `.
17
+ For an example on authorization, please take a look at :ref: `hello_library `.
18
18
19
19
CAPTCHA
20
20
-------
@@ -24,7 +24,7 @@ CAPTCHA
24
24
Init cookies added to login function to prevent CAPTCHAs in most cases.
25
25
26
26
Authorization requires answering a CAPTCHA in some cases. By default Pillow is used
27
- to show captcha and an user prompt will be provided to enter your answer, which
27
+ to show captcha and a user prompt will be provided to enter your answer, which
28
28
looks like::
29
29
30
30
Answer for CAPTCHA:
@@ -48,7 +48,7 @@ external service), like so::
48
48
2FA (OTP Code)
49
49
--------------
50
50
51
- If two-factor authentication (2FA) is activated a user prompt will be provided
51
+ If two-factor authentication (2FA) is activated, a user prompt will be provided
52
52
using `input ` to enter your one time password (OTP), which looks like::
53
53
54
54
"OTP Code: "
@@ -66,7 +66,7 @@ A custom callback can be provided, like so::
66
66
otp_callback=custom_otp_callback
67
67
)
68
68
69
- If you have to enter a otp often and don't care about security you can use
69
+ If you have to enter an OTP often and don't care about security, you can use
70
70
the `pyotp <https://pypi.org/project/pyotp/ >`_ package with a custom callback
71
71
like so::
72
72
@@ -78,14 +78,14 @@ like so::
78
78
otp = TOTP(secret)
79
79
return str(otp.now())
80
80
81
- Another approach for submit the OTP is to append the current OTP to the password.
81
+ Another approach is to append the current OTP to the password.
82
82
83
83
CVF Code
84
84
--------
85
85
86
- If 2FA is deactivated and amazon detects some security risks (too many logins
86
+ If 2FA is deactivated and Amazon detects some security risks (too many logins
87
87
in short times, etc.) you will be asked for a verify code (CVF). In that case,
88
- amazon sends you a Mail or SMS with a code, you have to enter here::
88
+ amazon sends you an email or SMS with a code, which you enter here::
89
89
90
90
"CVF Code: "
91
91
@@ -105,15 +105,13 @@ A custom callback can be provided, like so::
105
105
Approval Alert
106
106
--------------
107
107
108
- Some users report, that authorize to audible gives them an approval alert and
109
- you will receive an email from amazon. Since audible v0.5 you will get an user
110
- prompt which looks like::
108
+ Some users report that trying to authorize with audible gives them an approval alert and an email from amazon.
109
+ Since audible v0.5 you will get a user prompt which looks like::
111
110
112
111
"Approval alert detected! Amazon sends you a mail."
113
112
"Please press enter when you approve the notification."
114
113
115
- Please approve the amazon email notification and press enter (or another key)
116
- to proceed.
114
+ Please approve the email/SMS, and press any key to continue.
117
115
118
116
.. versionadded :: 0.5.1
119
117
@@ -124,7 +122,7 @@ A custom callback can be provided, like so::
124
122
def custom_approval_callback():
125
123
126
124
# You can let python check for the received Amazon mail and
127
- # open the approval link. The login function wait until
125
+ # open the approval link. The login function waits until
128
126
# the callback function is executed. The returned value will be
129
127
# ignored by the login function.
130
128
@@ -147,21 +145,21 @@ To handle the login with a external browser or program logic you can do the foll
147
145
148
146
auth = audible.Authenticator.from_login_external(locale=COUNTRY_CODE)
149
147
150
- By default, this code print out the login url for the selected country code. Now you have
151
- to copy and paste this code into a web browser ( or a custom program) and authorize yourself.
148
+ By default, this code prints out the login url for the selected country code.
149
+ Paste this url into a web browser or use it programatically to authorize yourself.
152
150
You have to enter your credentials two times (because of missing init cookies).
153
- On first time, the password can be a random one.
154
- On second time, you have to solve a captcha before you can submit the login form with your
155
- correct password.
156
- After authorize successfully you will end in an error page (not found). This is correct.
157
- Please copy the url from the address bar from your browser and paste the url to the input
158
- field of the python code. This url looks like
151
+ First time, the password can be a random one.
152
+ Second time, you have to solve a captcha before you can submit the login form and
153
+ you must use your correct password.
154
+ After loggin in, you will end in an error page (not found). This is correct.
155
+ Copy the url from the address bar from your browser and paste the url into the input
156
+ field of the python code. It will look something like
159
157
"https://www.amazon.{domain}/ap/maplanding?...&openid.oa2.authorization_code=..."
160
158
161
159
.. note ::
162
160
If you have `playwright <https://pypi.org/project/playwright/ >`_ installed and
163
161
use the default ``login_url_callback ``, a new browser is opened, where you can
164
- authorize to your account,
162
+ authorize to your account.
165
163
166
164
.. note ::
167
165
@@ -187,3 +185,4 @@ A custom callback can be provided (for example open the url in a webbrowser dire
187
185
login_url_callback=custom_login_url_callback
188
186
)
189
187
188
+
0 commit comments