JohnTheGr8 / Wox.Plugin.Spotify

Spotify plugin for Wox launcher
MIT License
31 stars 7 forks source link

Search is broken due changes in Spotify authorization policy #6

Open DomasM opened 7 years ago

DomasM commented 7 years ago

Issue Description

Can't search for tracks or anything else that uses WebAPI due changes in Spotify authorization policy https://developer.spotify.com/news-stories/2017/01/27/removing-unauthenticated-calls-to-the-web-api/

Functionality Affected

Please mark the functionality of the plugin that is affected by the issue:

DomasM commented 7 years ago

https://github.com/JohnnyCrazy/SpotifyAPI-NET/blob/7e6cdf563a5c1a6076d5057db76819d9b349ee53/SpotifyAPI.Docs/docs/SpotifyWebAPI/auth.md

JohnTheGr8 commented 7 years ago

Hey, thanks for reporting this. I recently noticed the WebAPI doesn't work and figured Spotify changed something again, but this is a bigger change than I had expected.

Unfortunately I will be too busy for the rest of the month. I will try to at least publish a temporary solution for the time being...

JohnTheGr8 commented 7 years ago

I published a quick release. The user is now prompted to authorise the plugin before being able to search Spotify...

Like I said, this will most likely be a temporary solution, since it is far from ideal...

I am leaving this issue open. Any feedback will be appreciated.

DomasM commented 7 years ago

I have looked into Spotify authorization after raising issue and things don't look so nice. Only way to have infinite authorization is to use Authorization code flow. Parts of authorization must be handled in backend to avoid exposing secrets. My idea was to create a couple of Azure functions (one for initial authorization, one for token refresh); this plugin would get temporary access token from the second function by supplying GUID (unique for each user of course). If refresh token would be saved on client side too (I think that might be not the best practice, but who cares) then there would be no need for cloud storage and with our potential "huge" user base Azure functions would be 0.00 Euro/ month. It would be nice to hear if that seems reasonable. I could take care of this.

JohnTheGr8 commented 7 years ago

I was thinking of writing a simple php script (as recommended in the docs page you linked above) since I have a server that I could use (and I am not familiar with Azure). Agreed on the rest.

DomasM commented 7 years ago

OK, then it will be up to you as I don't know php and don't want to learn it either.

jppmarujo commented 6 years ago

Hey @JohnTheGr8 , any news on this? The plugin is working absolutely spot on, in my opinion the best there is for Wox, and a multi-tasking wonder, but everytime wox closes you have to authorize it. Hope you didn't abandon this, i know it's one of those projects that is always choking up on free time (and done for free), but just know that on this side are users who really appreciate your work!

JohnTheGr8 commented 6 years ago

Thanks for you kind words, @jppmarujo

Unfortunately, I have been too busy with work lately and had to set this aside. I promise to get back to it when I get some free time, it bothers me as much as it bothers everyone else :)