jpochyla / psst

Fast and multi-platform Spotify client with native GUI
MIT License
8.41k stars 215 forks source link

User/pass auth flow now unsupported (Spotify API change) #515

Closed jacksongoode closed 1 week ago

jacksongoode commented 1 month ago

Describe the bug https://github.com/librespot-org/librespot/issues/1308

Spotify just recently made this change within the last couple days. It breaks all 3rd party apps with this login method. This likely means we'll need to rework the authentication flow since we can't use username and passwords. This will need to be addressed immediately.

To Reproduce Clear cache & sign in.

ewancg commented 1 month ago

Is there a known alternative auth method?

kingosticks commented 1 month ago

@jacksongoode regarding your comment in #1309, I am curious, given you've re-implemented much of librespot already here, why not do that for the oauth stuff too? There's not that much to it (even less if you take a simpler approach to the actual oauth bit and omit the superfluous ExtraTokenFields). You might be waiting a while for it to be merged otherwise.

jacksongoode commented 4 weeks ago

Working on a PR to implement the login5 method.

kingosticks commented 4 weeks ago

If you just want to fix this particular problem and get login working again, you don't need login5. You only really need to some oauth gubbins stuff to get an access token, then login with it using AuthenticationType::AUTHENTICATION_SPOTIFY_TOKEN to obtain reusable credentials, and then re-auth the session with those reusable credentials.

I mixed Login5 support into my PR because we previously had problems obtaining additional tokens (via tokenmaster) with a AUTHENTICATION_SPOTIFY_TOKEN-authed session but it seems Spotify have fixed that. I think I will remove all the Login5 stuff from my PR since it belong in a separate PR. Thanks for making me realise!

arch-btw commented 1 week ago

Thank you @jacksongoode