Files
libredeck-web/nextsteps.txt
2026-05-03 21:51:45 +02:00

30 lines
6.0 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
1. Deezer App anlegen: https://developers.deezer.com/myapps → Redirect URI http://localhost:8080/auth/callback
2. Backend starten:
cd libredeck-web
DEEZER_APP_ID=xxx DEEZER_APP_SECRET=yyy mvn spring-boot:run
3. Android: In app/build.gradle die BACKEND_URL anpassen, dann in Android Studio öffnen und builden
4. Gradle Wrapper fehlt noch im Android-Projekt — entweder gradle wrapper ausführen oder aus linkster-android kopieren
Was gebaut:
7 neue Backend-Dateien:
- AppleMusicConfig Properties: apple.music.team-id, apple.music.key-id, apple.music.private-key
- AppleMusicTokenGenerator erzeugt und cached den Developer-JWT (ES256, standard Java-Crypto, keine neuen Deps)
- AppleMusicTokenStore Session-scoped Storage für den Music User Token (wie bei Spotify/Tidal)
- AppleMusicApiClient HTTP-Client gegen api.music.apple.com; unterstützt Catalog- und Library-Playlists, ThreadLocal-Token-Pinning für async Jobs
- AppleMusicProvider implementiert StreamingProvider, wird automatisch im Registry registriert
- AppleMusicAuthRequiredException
- AppleMusicController Endpunkte: /apple/configured, /apple/connected, /apple/developer-token, /apple/token, /apple/disconnect, /apple/playlists
Geändert:
- GenerateController Apple Music Auth-Check (nur für Library-Playlists) + Token-Pinning
- index.html 4. Service "Apple Music" im Switcher, MusicKit JS v3 Auth-Flow, Playlist-Picker
Konfiguration (in .env eintragen):
APPLE_MUSIC_TEAM_ID=XXXXXXXXXX
APPLE_MUSIC_KEY_ID=XXXXXXXXXX
APPLE_MUSIC_PRIVATE_KEY=-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----
Benötigt wird ein MusicKit-Key aus dem Apple Developer Portal. Ist nichts konfiguriert, bleibt das Panel sichtbar aber zeigt "nicht konfiguriert".