From b23fd85bbdac3763fd85292fdbb654d40a117458 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Thu, 8 Feb 2018 15:13:28 +0100 Subject: [PATCH] Added token fetcher utility script --- util/tokenfetcher.py | 45 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 util/tokenfetcher.py diff --git a/util/tokenfetcher.py b/util/tokenfetcher.py new file mode 100644 index 000000000..fbe18fb26 --- /dev/null +++ b/util/tokenfetcher.py @@ -0,0 +1,45 @@ +# 1) Configure below +# 2) pip install esipy Flask +# 3) FLASK_APP=tokenfetcher.py flask run +# 4) Wait a couple of seconds for the browser to open + +import webbrowser + +from esipy import App +from esipy import EsiClient +from esipy import EsiSecurity + +from flask import Flask, request + +CLIENT_ID = '' +SECRET_KEY = '' +SCOPES = ['esi-universe.read_structures.v1', 'esi-markets.structure_markets.v1'] + +app = Flask(__name__) +esi_app = App.create(url="https://esi.tech.ccp.is/latest/swagger.json?datasource=tranquility") + +security = EsiSecurity( + app=esi_app, + redirect_uri='http://127.0.0.1:5000/ESICallback', + client_id=CLIENT_ID, + secret_key=SECRET_KEY +) + +client = EsiClient( + retry_requests=True, + header={'User-Agent': 'ESI Token Fetcher'}, + security=security +) + +webbrowser.open_new(security.get_auth_uri(scopes=SCOPES)) + +@app.route('/ESICallback') +def esi_callback(): + code = request.args.get('code', '') + + if code: + tokens = security.auth(code) + return str(tokens) + else: + return 'No code returned!' +