Use a redirect to launch instead of direct link (issue #6)

I have no idea why OS X's WebView seems to care whether it gets
the launch URL via a link or redirect, but apparently it does.
Cleaner this way anyway.
This commit is contained in:
zoffline
2018-08-31 17:42:06 -04:00
parent 8cc69c81bf
commit bd7a03aec2
2 changed files with 4 additions and 8 deletions
+3 -7
View File
@@ -26,25 +26,21 @@ def api_auth():
return 'OK(Java)'
@app.route('/launcher', methods=['GET'])
@app.route('/auth/realms/zwift/protocol/openid-connect/auth', methods=['GET'])
@app.route('/auth/realms/zwift/login-actions/request/login', methods=['GET', 'POST'])
@app.route('/auth/realms/zwift/protocol/openid-connect/registrations', methods=['GET'])
@app.route('/auth/realms/zwift/login-actions/startriding', methods=['GET']) # Unused as it's a direct redirect now from auth/login
@app.route('/auth/realms/zwift/tokens/login', methods=['GET']) # Called by Mac, but not Windows
@app.route('/launcher', methods=['GET']) # Called by Mac, but not Windows
@app.route('/auth/realms/zwift/tokens/registrations', methods=['GET']) # Called by Mac, but not Windows
@app.route('/ride', methods=['GET'])
def launch_zwift():
if not os.path.exists(AUTOLAUNCH_FILE):
if request.path != "/ride" and not os.path.exists(AUTOLAUNCH_FILE):
return redirect(NOAUTO_EMBED, 302)
else:
return redirect("http://zwift/?code=zwift_refresh_token%s" % REFRESH_TOKEN, 302)
#@app.route('/auth/realms/zwift/protocol/openid-connect/logout', methods=['GET'])
#def auth_realms_zwift_protocol_openid_connect_logout():
# return redirect("https://secure.zwift.com/auth/realms/zwift/protocol/openid-connect/auth?client_id=Game_Launcher&response_type=code&redirect_uri=http://zwift/", code=302)
@app.route('/auth/realms/zwift/protocol/openid-connect/token', methods=['POST'])
def auth_realms_zwift_protocol_openid_connect_token():
return FAKE_JWT, 200
+1 -1
View File
@@ -5,7 +5,7 @@
<body>
<h1>zoffline Launcher</h1>
</br></br>
<h2><a href="http://zwift/?code=zwift_refresh_tokeneyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJPLUVjXzJJNjg5bW9peGJIZzFfNDZDVFlGeEdZMDViaDluYm5Mcjl0RzY4In0.eyJqdGkiOiJjNmVjZGMwOS1mZGY3LTQ5YjktYTQ2Ni0xNGM3ZDQ2NjY4ZDkiLCJleHAiOjE1MzgwOTkyNDIsIm5iZiI6MCwiaWF0IjoxNTM1NTA4MDg2LCJpc3MiOiJodHRwczovL3NlY3VyZS56d2lmdC5jb20vYXV0aC9yZWFsbXMvendpZnQiLCJhdWQiOiJHYW1lX0xhdW5jaGVyIiwic3ViIjoiMDJlM2RkZjUtYWQ5ZC00NzZmLTlmZjAtMDM0ZDk3N2ZjMmUxIiwidHlwIjoiUmVmcmVzaCIsImF6cCI6IkdhbWVfTGF1bmNoZXIiLCJhdXRoX3RpbWUiOjAsInNlc3Npb25fc3RhdGUiOiIwODQ2YWI5YS03NjVkLTRjM2YtYTIwYy02Y2FjOWU4NmU1ZjMiLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsiZXZlcnlib2R5IiwidHJpYWwtc3Vic2NyaWJlciIsImV2ZXJ5b25lIiwiYmV0YS10ZXN0ZXIiXX0sInJlc291cmNlX2FjY2VzcyI6eyJteS16d2lmdCI6eyJyb2xlcyI6WyJhdXRoZW50aWNhdGVkLXVzZXIiXX0sIkdhbWVfTGF1bmNoZXIiOnsicm9sZXMiOlsiYXV0aGVudGljYXRlZC11c2VyIl19LCJad2lmdCBSRVNUIEFQSSAtLSBwcm9kdWN0aW9uIjp7InJvbGVzIjpbImF1dGhvcml6ZWQtcGxheWVyIiwiYXV0aGVudGljYXRlZC11c2VyIl19LCJad2lmdCBaZW5kZXNrIjp7InJvbGVzIjpbImF1dGhlbnRpY2F0ZWQtdXNlciJdfSwiWndpZnQgUmVsYXkgUkVTVCBBUEkgLS0gcHJvZHVjdGlvbiI6eyJyb2xlcyI6WyJhdXRob3JpemVkLXBsYXllciJdfSwiZWNvbS1zZXJ2ZXIiOnsicm9sZXMiOlsiYXV0aGVudGljYXRlZC11c2VyIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19fQ.D9BsYsv7G-Lzwz6xCrxDZ0g0lQrfXy7H46z7SB2Wa0yHinc6DnfZwzbQw_Mbp7CVEv6QrIX58-Em1E5YHoAUqmmeGoXMm6f1jd8l2skjmhHYyHQjA3Slry8jZa685FnnisXXINCKc3t_7P2yZSzHVvW_JCP5ynAogXNsBDHFbYb9YV0UwCpcivSnpDrI4wWcTfs5UKRXgf-boCLg2ynVqi2SD4BlQeYn5VyfcimJb7RSoLqJGz4dbWc1Zsv09TqwAgjn9nvbmHt5xgVFzOIdyhst-KGtq5dJkiyIivxPd2q4k6F_2PF2SIsPGQYsfW1SuXpakJKJZb638E67G9EBxQ">Click here to start Zwift</a></h2>
<h2><a href="https://secure.zwift.com/ride">Click here to start Zwift</a></h2>
</br></br>
To automatically launch Zwift and skip this step create a file called "auto_launch.txt" inside zoffline's storage directory.