Initialer commit
This commit is contained in:
29
nextsteps.txt
Normal file
29
nextsteps.txt
Normal file
@@ -0,0 +1,29 @@
|
||||
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".
|
||||
|
||||
Reference in New Issue
Block a user