summaryrefslogtreecommitdiff
path: root/scripts/README
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/README')
-rw-r--r--scripts/README54
1 files changed, 54 insertions, 0 deletions
diff --git a/scripts/README b/scripts/README
new file mode 100644
index 00000000..b2d07bc8
--- /dev/null
+++ b/scripts/README
@@ -0,0 +1,54 @@
+Scripts in this directory can be useful to those that use Alpine in conjunction with other
+tools, such as fetchmail.
+
+ooauth2.py:
+-----------
+The script ooauth2.py is a python script that can be used to obtain the initial refresh token
+and access token for an app, or to renew an access token, and in both cases obtain the encoded
+base64 encoded string that is used to add to an authorization command in an IMAP or SMTP
+server.
+
+ * In order to get the initial refresh token and access token, determine the tenant
+ you will use. The default is 'common'. You also need to supply the client-id of
+ your app.
+
+ ooauth2 [--tenant=common] --client_id=f21d... --generate_refresh_and_access_token
+
+ The script will give you a url and a code. Open the url with a browser and enter
+ the code where requested. You will be redirected to login with your username
+ and password. After a succesful login, you will be asked to authorize
+ the app. Once you have authorized the app, close that window and return to
+ this script. Press "ENTER" and you will see your refresh-token, access-token
+ and total amount of time (in seconds) that your token is valid. This is typically
+ 3600 seconds (one hour). Please note that the refresh token and access token are
+ very long strings, each one them should be saved in a file one line long each.
+
+ * You can also use this script to generate a new access_token. In order to do this
+ you need the tenant, the client-id, and a refresh-token. Then you would run this
+ script as
+
+ ooauth2 [--tenant=common] --client_id=f21d... --refresh_token=MCRagxlHaZfUvV9kG0lnBk...
+
+ as an advice copy and paste the refresh token that you were given into a file,
+ and replace the command line option
+ --refresh_token=MCRagxlHaZfUvV9kG0lnBk...
+ by
+ --refresh_token=`cat filename`
+
+ * The last way to use this script is to use the previous commands, but add
+ --encoded to any of the previous commands. This will produce a base64 string that
+ can be added to an IMAP "AUTHENTICATE XOAUTH2" command, or a "AUTH XOAUTH2" SMTP
+ command, to login to that server. The access token will not be displayed, only
+ the encoded base64 string. If you use this option, you must also provide
+ the --user option. For example:
+
+ ooauth2 [--tenant=common] --client_id=f21d... --generate_refresh_and_access_token \
+ --encoded --user=YourID@outlook.com
+
+ or
+
+ ooauth2 [--tenant=common] --client_id=f21d... --refresh_token=MCRagxlHaZfUvV9kG0lnBk... \
+ --encoded --user=YourID@outlook.com
+
+A complete set of instructions, with images showing this process, can be found at
+http://alpine.x10host.com/scripts/ooauth2.html