From 305cc9313b0708dfe9093fe3cd50c402901c7fb4 Mon Sep 17 00:00:00 2001 From: x3 Date: Sun, 6 Sep 2026 08:28:40 +0000 Subject: [PATCH] fix: zurueck zu http localhost redirect (spotify unterstuetzt https localhost nicht) --- README.md | 2 +- spotify_cli/auth.py | 28 ++-------------------------- 2 files changed, 3 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index e957b5b..5f9fde4 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ Terminal-basierter Spotify Client im Stil von ncmpcpp. 1. Gehe zu https://developer.spotify.com/dashboard 2. Erstelle eine neue App -3. Setze den Redirect URI auf `https://localhost:8888/callback` +3. Setze den Redirect URI auf `http://localhost:8888/callback` 4. Kopiere die **Client ID** ### 2. Installation diff --git a/spotify_cli/auth.py b/spotify_cli/auth.py index 85f972a..ca24e5a 100644 --- a/spotify_cli/auth.py +++ b/spotify_cli/auth.py @@ -83,7 +83,7 @@ class SpotifyAuth: params = { "client_id": self.client_id, "response_type": "code", - "redirect_uri": "https://localhost:8888/callback", + "redirect_uri": "http://localhost:8888/callback", "code_challenge_method": "S256", "code_challenge": code_challenge, "state": state, @@ -104,27 +104,6 @@ class SpotifyAuth: def _wait_for_callback(self, timeout=300): from http.server import HTTPServer, BaseHTTPRequestHandler - import ssl - import subprocess - - cert_dir = self.cfg.get("cert_dir", "") - if not cert_dir: - from pathlib import Path - cert_dir = str(Path.home() / ".config" / "spotify-cli" / "certs") - self.cfg["cert_dir"] = cert_dir - - cert_file = f"{cert_dir}/cert.pem" - key_file = f"{cert_dir}/key.pem" - - import os - if not os.path.exists(cert_file) or not os.path.exists(key_file): - os.makedirs(cert_dir, exist_ok=True) - subprocess.run([ - "openssl", "req", "-x509", "-newkey", "rsa:2048", - "-keyout", key_file, "-out", cert_file, - "-days", "365", "-nodes", - "-subj", "/CN=localhost" - ], check=True, capture_output=True) received_code = {"code": None, "state": None} @@ -148,9 +127,6 @@ class SpotifyAuth: pass server = HTTPServer(("localhost", 8888), Handler) - ctx = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER) - ctx.load_cert_chain(cert_file, key_file) - server.socket = ctx.wrap_socket(server.socket, server_side=True) server.timeout = timeout start = time.time() @@ -166,7 +142,7 @@ class SpotifyAuth: resp = requests.post(SPOTIFY_TOKEN_URL, data={ "grant_type": "authorization_code", "code": code, - "redirect_uri": "https://localhost:8888/callback", + "redirect_uri": "http://localhost:8888/callback", "client_id": self.client_id, "code_verifier": code_verifier, })