wow-api-characterinfo/oauth-test.py

38 lines
969 B
Python
Raw Normal View History

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()