john smith
john smith

Reputation: 733

Salesforce Refresh Token OAuth

I am trying to refresh the access token using the refresh token:

curl https://login.salesforce.com/services/oauth2/token -d "grant_type=refresh_token&client_id=3MVG9pHRjzOBdkd.WU9DLyfznP.sjOJRXXX_00nLDYSpM_0K7zAOsLrRKf6IWmCv6MxeTorXL7Zzaaea8IXXX&client_secret=3231123171523457&refresh_token=5Aep861VUUSqKxtr91VaZ7Zh54RmFqHE6zD4htOq6vY9edPgkgm9ZeFPwHIzQQvR__XypcEvWnXXX==&format=json"

But I keep getting the error "error_description":"expired access/refresh token"

Anyone have any idea?

Upvotes: 6

Views: 13903

Answers (2)

rjbez
rjbez

Reputation: 812

I know this is old, but for people that may stumble on this. I believe this issue is that you can only have 5 access grants per applications. After this it starts revoking refresh tokens from the oldest one. More info here:

Upvotes: 15

willywu
willywu

Reputation: 161

You have the correct syntax for using a refresh token. Make sure all of your parameters are URL encoded, since in your example your refresh token has = instead of %3D.

You can also delete the user's refresh token by going to that user's User Detail page inside of setup and revoking the "Remote Access" near the bottom. Then obtain a new refresh token by going through the oauth flow again and try it in the curl command.

Upvotes: 3

Related Questions