2024-12-24 09:49:14 -07:00
|
|
|
import requests
|
|
|
|
from http.server import *
|
|
|
|
import webbrowser
|
2024-12-24 13:41:43 -07:00
|
|
|
from oauthlib.oauth2 import WebApplicationClient
|
|
|
|
|
|
|
|
|
|
|
|
class SavingRequestHandler(SimpleHTTPRequestHandler):
|
|
|
|
def do_GET(self):
|
|
|
|
print(self.path)
|
|
|
|
def do_POST(self):
|
|
|
|
content_length = int(self.headers.get('Content-Length'))
|
|
|
|
print(self.rfile.read(content_length))
|
2024-12-24 09:49:14 -07:00
|
|
|
|
|
|
|
|
|
|
|
def wait_for_request(server_class=HTTPServer,
|
2024-12-24 13:41:43 -07:00
|
|
|
handler_class=SavingHTTPRequestHandler):
|
2024-12-24 09:49:14 -07:00
|
|
|
server_address = ('', 5635)
|
|
|
|
httpd = server_class(server_address, handler_class)
|
|
|
|
return httpd.handle_request()
|
|
|
|
|
2024-12-24 13:41:43 -07:00
|
|
|
|
2024-12-24 09:49:14 -07:00
|
|
|
def authenticate():
|
2024-12-24 13:41:43 -07:00
|
|
|
CLIENT_ID = "a79bae348867427690ca6df9903e4af0"
|
|
|
|
AUTH_URL = "https://oauth.battle.net/authorize"
|
|
|
|
|
|
|
|
client = WebApplicationClient(CLIENT_ID)
|
|
|
|
|
|
|
|
url = client.prepare_request_uri(
|
|
|
|
AUTH_URL,
|
|
|
|
redirect_uri = 'http://localhost:5635/login_success',
|
|
|
|
scope = ['openid'],
|
|
|
|
state = 'AbCdEfG'
|
|
|
|
)
|
2024-12-24 09:49:14 -07:00
|
|
|
webbrowser.open(url)
|
2024-12-24 13:41:43 -07:00
|
|
|
wait_for_request()
|
2024-12-24 09:49:14 -07:00
|
|
|
|
|
|
|
authenticate()
|