modified: app.py
modified: templates/server_selection.html
This commit is contained in:
14
app.py
14
app.py
@@ -140,28 +140,39 @@ def login():
|
|||||||
def callback():
|
def callback():
|
||||||
"""Verarbeitet den OAuth2-Rückruf von Discord."""
|
"""Verarbeitet den OAuth2-Rückruf von Discord."""
|
||||||
try:
|
try:
|
||||||
|
# Discord OAuth2-Session initialisieren
|
||||||
discord = make_discord_session(state=session.get("oauth_state"))
|
discord = make_discord_session(state=session.get("oauth_state"))
|
||||||
|
|
||||||
|
# Token abrufen
|
||||||
token = discord.fetch_token(
|
token = discord.fetch_token(
|
||||||
DISCORD_TOKEN_URL,
|
DISCORD_TOKEN_URL,
|
||||||
client_secret=DISCORD_CLIENT_SECRET,
|
client_secret=DISCORD_CLIENT_SECRET,
|
||||||
authorization_response=request.url,
|
authorization_response=request.url,
|
||||||
)
|
)
|
||||||
|
|
||||||
session['oauth_token'] = token
|
session['oauth_token'] = token
|
||||||
|
|
||||||
# Abrufen der Benutzerinformationen von Discord
|
# Abrufen der Benutzerinformationen von Discord
|
||||||
user_info = discord.get(DISCORD_API_URL).json()
|
user_info = discord.get(DISCORD_API_URL).json()
|
||||||
session['discord_user'] = user_info
|
session['discord_user'] = user_info
|
||||||
|
|
||||||
|
# Debugging: Prüfe, ob Benutzerinformationen erfolgreich abgerufen wurden
|
||||||
|
print(f"User info: {user_info}")
|
||||||
|
|
||||||
# Hole die Gilden (Server), auf denen der Benutzer ist
|
# Hole die Gilden (Server), auf denen der Benutzer ist
|
||||||
guilds_response = discord.get('https://discord.com/api/users/@me/guilds')
|
guilds_response = discord.get('https://discord.com/api/users/@me/guilds')
|
||||||
|
|
||||||
|
# Debugging: Prüfe den Status der Antwort
|
||||||
|
print(f"Guilds response status: {guilds_response.status_code}")
|
||||||
|
|
||||||
if guilds_response.status_code != 200:
|
if guilds_response.status_code != 200:
|
||||||
flash("Fehler beim Abrufen der Gilden.", "danger")
|
flash("Fehler beim Abrufen der Gilden.", "danger")
|
||||||
return redirect(url_for("landing_page"))
|
return redirect(url_for("landing_page"))
|
||||||
|
|
||||||
guilds = guilds_response.json()
|
guilds = guilds_response.json()
|
||||||
|
|
||||||
|
# Debugging: Gib die Gildeninformationen aus
|
||||||
|
print(f"Guilds: {guilds}")
|
||||||
|
|
||||||
# Verbindung zur Datenbank herstellen
|
# Verbindung zur Datenbank herstellen
|
||||||
connection = get_db_connection()
|
connection = get_db_connection()
|
||||||
cursor = connection.cursor()
|
cursor = connection.cursor()
|
||||||
@@ -201,6 +212,7 @@ def callback():
|
|||||||
return redirect(url_for("server_selection"))
|
return redirect(url_for("server_selection"))
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
# Fehlerbehandlung mit detaillierter Fehlermeldung
|
||||||
print(f"Error in OAuth2 callback: {e}")
|
print(f"Error in OAuth2 callback: {e}")
|
||||||
flash("Ein Fehler ist beim Authentifizierungsprozess aufgetreten.", "danger")
|
flash("Ein Fehler ist beim Authentifizierungsprozess aufgetreten.", "danger")
|
||||||
return redirect(url_for("landing_page"))
|
return redirect(url_for("landing_page"))
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
<div class="container mt-5">
|
<div class="container mt-5">
|
||||||
<h1 class="text-center">Select a Server</h1>
|
<h1 class="text-center">Select a Server</h1>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
{% if session['discord_guilds'] %}
|
||||||
{% for guild in session['discord_guilds'] %}
|
{% for guild in session['discord_guilds'] %}
|
||||||
<div class="col-md-4 mt-3">
|
<div class="col-md-4 mt-3">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
@@ -22,6 +23,9 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
{% else %}
|
||||||
|
<p>No guilds found. Please try again later.</p>
|
||||||
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
|
|||||||
Reference in New Issue
Block a user