64

I try to auth user through my app with spotify Web API but I receive this error:

INVALID_CLIENT: Invalid redirect URI

URL:

GET https://accounts.spotify.com/authorize/?client_id=6ae90bf75bf748c8874a75d16682f0c5&response_type=code&redirect_uri=https%3A%2F%2Fexample.com%2Fcallback&scope=user-read-private%20user-read-email

I cant see where is the problem... Can you help?

Paulo Tomé
  • 1,810
  • 3
  • 17
  • 24
realdark
  • 649
  • 1
  • 5
  • 5

11 Answers11

104

You have to add the redirect URI to the White-list in "My Applications" panel.

e.g http://example.com/callback/

mallendeo
  • 1,272
  • 1
  • 8
  • 13
27

app.js:

var redirect_uri = 'http://localhost:8888/callback';

(https://developer.spotify.com/dashboard) Spotify > My application:

http://localhost:8888/callback

Dont forget to save.

Ashden
  • 5
  • 4
skdev75
  • 639
  • 6
  • 7
7

I ran into a similar issue when authenticated via Authorization Code Flow.

Per the docs The value of this parameter must exactly match the value of redirect_uri supplied when requesting the authorization code. So make sure that the:

  1. redirect_uri that is configured in the dashboard
  2. redirect_uri in the GET https://accounts.spotify.com/authorize
  3. redirect_uri in the POST https://accounts.spotify.com/api/token

is exactly the same or else you will get a INVALID_CLIENT: Invalid redirect URI

portatlas
  • 441
  • 4
  • 8
5

Navigate to your Spotify developer dashboard and open the project you are working on.

Next click "edit settings" and look for the redirect URIs field.

Put your redirect URI in the field. ex: http://localhost:8888/callback

Click save.

You should be good

WaterTrash
  • 178
  • 3
  • 10
2

First. You have to be sure that you're using app.js from authorization_code directory.

Second. Be sure you edited app.js. That third line is important.

var client_id = '---'; // Your client id
var client_secret = '---'; // Your secret
var redirect_uri = 'http://localhost:8888/callback'; // Your redirect uri - EXAMPLE
2

I use the SpotifyAPI-NET API wrapper by JohnnyCrazy and was having this problem despite adding the URL I specified in my wrapper call to my white list as specified above.

The browser's address bar should show the redirect URL it is using buried in the middle of the string - I found that it was also making a request with "https://accounts.spotify.com:8000/authorize" as the redirect URL - perhaps the wrapper is making 2 API calls, but I found that only by whitelisting both this URL and the one I was specifying would it work for me.

Mike DeFehr
  • 1,144
  • 7
  • 9
1

This error also appears when the redirect_uri is missing in the request. I figured that out the hard way due to writing "redirect_url" (with an L) instead.

Took me way too long to figure out. Hopefully this can save someone else some time.

1

This is super specific, so make sure you have exact url in each place.

In my app dashboard on spotify I had: http://localhost:3005/

And my url is: https://accounts.spotify.com/authorize?client_id=XXXXXXXXXXXXXXXXX&response_type=code&redirect_uri=http %3A%2F%2Flocalhost:3005/&scope=user-read-currently-playing%20user-top-read

Note the trailing slash in both places.

saltcod
  • 1,848
  • 4
  • 20
  • 34
0

+1 to adding 'http://localhost:8888/callback' to the Redirect URIs list in your App's settings via https://developer.spotify.com/dashboard/applications

It's a shame this is not mentioned on the quick start: https://developer.spotify.com/documentation/web-playback-sdk/quick-start/

O Red
  • 145
  • 2
  • 13
0

Include a path after the first pair of forward slashes. For example: Your app name is My Awesome App The redirect URI may be my-awesome-app-login://callback or awesomeprotocol123://returnafterlogin.

For more information please refer this link Spotify Redirect URI Example

-1

I played around with various URLs for some time, none of them gave me the correct functionality except http://localhost:8888/callback/ (note the trailing slash). Be sure to add that to the whitelist as well.