author: @plamere
date: 3/30/14
This is an example token swap service written in python / cherrypy This is required by the Spotify iOS SDK to authenticate a user.
See the Spotify iOS SDK for details about the Spotify iOS SDK and the role of the token swap service has in your iOS app.
The service relies on the cherrypy and requests libaries to be installed:
% pip install cherrypy
% pip install requests
IMPORTANT: You will get authorization failures if you don't insert your own client credentials. To configure your server, edit spotify_token_swap.py and change the following config variables to match the values for your app:
k_client_id = "spotify-ios-sdk-beta"
k_client_secret = "ba95c775e4b39b8d60b27bcfced57ba473c10046"
k_client_callback_url = "spotify-ios-sdk-beta://callback"
Note: For this beta 1 release of the iOS SDK Spotify provides the following beta values you can use in your Token Exchange Service code; later, these values will be invalidated and will need to be replaced by your own unique values.
To run the service, enter your client ID, secret and callback URL below and run the program with:
% python spotify_token_swap.py
Once the service is running, pass the public URI to it (such as http://localhost:9020/swap) to the token swap method in the Spotify iOS SDK:
NSURL *swapServiceURL =
[NSURL # urlWithString:@"http://localhost:9020/swap"];
-[SPAuth handleAuthCallbackWithTriggeredAuthURL:url
tokenSwapServiceEndpointAtURL:swapServiceURL callback:callback];