Skip to content

Commit

Permalink
feat: support personal ms account using Thunderbird app id
Browse files Browse the repository at this point in the history
  • Loading branch information
ag91 committed Aug 4, 2024
1 parent 65a3138 commit 3f77c06
Show file tree
Hide file tree
Showing 4 changed files with 66 additions and 7 deletions.
6 changes: 3 additions & 3 deletions config.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
ClientId = "08162f7c-0fd2-4200-a84a-f25a4db0b584"
ClientSecret = "TxRBilcHdC6WGBee]fs?QR:SJ8nI[g82"
ClientId = "9e5f94bc-e8a4-4e73-b8be-63364c29d753"
ClientSecret = "" # "TxRBilcHdC6WGBee]fs?QR:SJ8nI[g82"
Scopes = ['https://outlook.office.com/IMAP.AccessAsUser.All','https://outlook.office.com/SMTP.Send']
RefreshTokenFileName = "imap_smtp_refresh_token"
AccessTokenFileName = "imap_smtp_access_token"

# Optionally specify a tenantId here: "https://login.microsoftonline.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/"
Authority = None
Authority = None
18 changes: 14 additions & 4 deletions get_token.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,10 @@
import threading
import urllib.parse
import webbrowser
from pathlib import Path
import ssl


redirect_uri = "http://localhost:8745/"
redirect_uri = "https://localhost:7598/"

# We use the cache to extract the refresh token
cache = SerializableTokenCache()
Expand Down Expand Up @@ -46,11 +47,20 @@ def do_GET(self):

code = ''

server_address = ('', 8745)
server_address = ('', 7598)
httpd = http.server.HTTPServer(server_address, Handler)
root = Path(__file__).parent
keyf, certf = root / "server.key", root / "server.cert"
assert keyf.exists() and certf.exists()
httpd.socket = ssl.wrap_socket(
httpd.socket,
keyfile=keyf,
certfile=certf,
server_side=True,
)

# If we are running over ssh then the browser on the local machine
# would never be able access localhost:8745
# would never be able access localhost:7598
if not os.getenv('SSH_CONNECTION'):
httpd.serve_forever()

Expand Down
21 changes: 21 additions & 0 deletions server.cert
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
-----BEGIN CERTIFICATE-----
MIIDazCCAlOgAwIBAgIUeMsQRY4hKFQ1Wiz6vynTfF3q8o8wDQYJKoZIhvcNAQEL
BQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM
GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yMzAyMTUxNTIyMzJaFw0yMzAz
MTcxNTIyMzJaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw
HwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwggEiMA0GCSqGSIb3DQEB
AQUAA4IBDwAwggEKAoIBAQCqz+R0JgNYkRYyRMyjQkEpliIu8Vw6c27PPfQjYyK4
UqjkA1iShlZnQJ8w4Yo+muOi8jWk6QrZc2eRhImV6CLKATQ9kK55r6dwR169oEpW
c82skCg5eUlOrNkuyddRuuW8+DqSlCEjnnDMJw3FnQEfCv0KI/ogn2qzHU6cdilE
herkAmtnlNMa6mUjOsqyD0919ZtoahA2SqPZz2eQ3bNCjfsIP/o5uHTUrLppETDe
dTEk4UtaCTptVCDJXJmY0ajzNor1KUFgeOGuZqbPyDUJyF6AKrUN1ijudvJd4SkS
b2zi82WtZNuIA34HOUet710cmOAttu75PP0gSxq7o8nxAgMBAAGjUzBRMB0GA1Ud
DgQWBBTCvuI+KG/WD/3rk+hS2BJ87wuYZjAfBgNVHSMEGDAWgBTCvuI+KG/WD/3r
k+hS2BJ87wuYZjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQB/
gMUIUbTQWhK4e391Nlp7bsI4u1AiLMuIRrZxY9Ukh0mvDV46CtRw1GFpa8rWnos6
Ux+gljX4JcWxFWBVk3fqh2bB6NiL+KGORag0ecl9HnzDFAXL+/m4pQaKbarADdod
TEU9aVCGQB1FKpqUNNZyX5h95EZ28SebGDpTaeMZLgM1CibCZz5+j61EPiw+Lsli
dI4yJ55lrhjqphUQXkvunbqXfDakNA+KqAGErcGcq/mtFJx1vmJ3W6g1tmaHsPSP
IbD1z0+s0KmSQzBO1FKps6bQvEfO2m7ryBT3AfZUjQESLr5rhrxf63BOFDVTOxBK
Sf+xTMt4at+inf7cslft
-----END CERTIFICATE-----
28 changes: 28 additions & 0 deletions server.key
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCqz+R0JgNYkRYy
RMyjQkEpliIu8Vw6c27PPfQjYyK4UqjkA1iShlZnQJ8w4Yo+muOi8jWk6QrZc2eR
hImV6CLKATQ9kK55r6dwR169oEpWc82skCg5eUlOrNkuyddRuuW8+DqSlCEjnnDM
Jw3FnQEfCv0KI/ogn2qzHU6cdilEherkAmtnlNMa6mUjOsqyD0919ZtoahA2SqPZ
z2eQ3bNCjfsIP/o5uHTUrLppETDedTEk4UtaCTptVCDJXJmY0ajzNor1KUFgeOGu
ZqbPyDUJyF6AKrUN1ijudvJd4SkSb2zi82WtZNuIA34HOUet710cmOAttu75PP0g
Sxq7o8nxAgMBAAECggEAJjMtC76uk+GKnb5eJ4q7KPI+/dGThyzmlKltznYuvxsZ
UzjeV5J8g0Xj9BoUgTDBhOD3F0TY3M2e1V/XJzPNh/Ch/ry7EFK0tvr3GKBez5vB
XPy2SjgyKUqlnX2dTlVmaI75BmvjR2R5JGb9gPq+U/NwqJJoL2CHi7wbpwkT7JNJ
+XIxr1Rg/vYoCqFOuhqtKLo9GKwuylWJpWvONdY6Kvuhzqip5Ri28D0StnS7XIEW
LNbS4X1+IrVaqky1WPl6EWMAOUeDzdF/MvsgGh+Xh9jnvM4UXgyjJjObaQX/RZlx
QyxJw0xlZQXo9Yf8hZ0qH2Kzz1c1YfNYLssK8bL6+wKBgQC1O1uVSu2VE/kBex12
QtbX8epGEwiJf/fuQL1bKUEwHMHDu7h5rY02z7IqsJ9aBpL4tHOEVOYPEQxrLwEe
lpgTomHScAJeyswsjGVwcwpx0zrTmIRDA80eAYTGQMkwvLpQuPNrigj81iJAYy/i
I0ajrlLABoTl4t+j3MmJsHZTAwKBgQDxSA7kRKsUSxhbejBK2MgvxfBip0S7q7lM
0y7SjX0o2aEPQGYzdnBAnTNPuN+jRxGNTV1R6wtebfBnjywSzKhkFp9DHPWKVB32
BZbtI0FPWV+w71I8WC5ZFTp0w4+p85W1F2Er4bLt1v/5QoV2G2SrjXjxAEnEzrQn
1uLDrN4i+wKBgDToCyheI1Vt6zdfdY5cnNOVr8qdK9TYIszO4XiHZpxhCL/XQVdk
LuFdaKnFvf9OBAHOzBpJno+vbmyr4CvJ0sOIl/4S7N43XbtzkPlu3BG2lGnJEHNv
3KVx1Az8RL+RmOKP25/9P/pvmLgrPINLwQdvkIC2Zn2l6ZuwjLVBaol5AoGBANVW
jGxDVy1jVM8Vk/uqAB9Vmj3wfjKeHQKTu9PJ7P+gpesRWwxnzcsj9AmqgnshTKCu
5jOXav78oFNA4YxhzwZohjtWMLk1tSQiPxfAU2/wq06L3R+kLJ7xyTUS8UUpLpbn
bDDbqFTqBH0F13HduL6DIYueYJuW1O5g7zJq+CLfAoGALokjslUQPDxS+BRFK/qI
HmcaDX6eJPYQL/s0gXYn3xegaAzwRmV9cZ59JmVQAIeiFJ9UVQLQsVm+l3PF5O5z
QnoyNXeb+hM1rq5Wvs71nfVHRlwg0SMO417chqx/Me6Zgyn69xGmMuV7vWUVsvVn
/Xn1PzN8X7B+0UGLlkRmgfo=
-----END PRIVATE KEY-----

0 comments on commit 3f77c06

Please sign in to comment.