SkoolOS/CLI/skoolos.py
2020-06-05 00:57:39 -04:00

63 lines
2.1 KiB
Python

import sys
from urllib.parse import urlparse
import requests
from requests_oauthlib import OAuth2Session
from selenium import webdriver;
import os.path
import time
client_id = r'QeZPBSKqdvWFfBv1VYTSv9iFGz5T9pVJtNUjbEr6'
client_secret = r'0Wl3hAIGY9SvYOqTOLUiLNYa4OlCgZYdno9ZbcgCT7RGQ8x2f1l2HzZHsQ7ijC74A0mrOhhCVeZugqAmOADHIv5fHxaa7GqFNtQr11HX9ySTw3DscKsphCVi5P71mlGY'
redirect_uri = 'http://localhost:8000/'
token_url = 'https://ion.tjhsst.edu/oauth/token/'
scope=["read"]
def main():
print("")
print(" SSSSS CCCCC HH HH OOOOO OOOOO LL OOOOO SSSSS ")
print("SS CC C HH HH OO OO OO OO LL OO OO SS ")
print(" SSSSS CC HHHHHHH OO OO OO OO LL OO OO SSSSS ")
print(" SS CC C HH HH OO OO OO OO LL OO OO SS")
print(" SSSSS CCCCC HH HH OOOO0 OOOO0 LLLLLLL OOOO0 SSSSS ")
print("")
if not os.path.exists(".profile"):
authenticate()
else:
print(open(".profile", "r").read())
def authenticate():
oauth = OAuth2Session(client_id=client_id, redirect_uri=redirect_uri, scope=scope)
authorization_url, state = oauth.authorization_url("https://ion.tjhsst.edu/oauth/authorize/")
browser = webdriver.Chrome()
browser.get(authorization_url)
while "http://localhost:8000/?code" not in browser.current_url:
time.sleep(0.25)
code = urlparse(browser.current_url).query[5:]
browser.quit()
payload = {'grant_type': 'authorization_code', 'code': code, 'redirect_uri': redirect_uri, 'client_id': client_id,
'client_secret': client_secret, 'csrfmiddlewaretoken': state}
token = requests.post("https://ion.tjhsst.edu/oauth/token/", data=payload).json()
print(token)
# headers = {'Authorization': f"Bearer {token['access_token']}"}
#
# # And finally get the user's profile!
# profile = requests.get("https://ion.tjhsst.edu/api/profile", headers=headers).json()
# username = profile['ion_username']
# email = profile['tj_email']
# first_name = profile['first_name']
# last_name = profile['last_name']
#print(profile)
if __name__ == "__main__":
main()