axios Expo身份验证会话spotify获取刷新令牌

g9icjywg  于 2022-12-04  发布在  iOS
关注(0)|答案(1)|浏览(235)

我正在尝试通过我的expo应用程序上的expo-auth-session登录Spotify。请参阅expo-auth-session文档,https://docs.expo.dev/guides/authentication/#spotify
我知道auth代码流在响应中给了我授权代码,隐式流在响应中给了我访问令牌。
我尝试使用从auth代码流中获得的授权代码调用刷新令牌端点,但没有成功。

nxowjjhe

nxowjjhe1#

可以通过curl获取刷新令牌

curl -d client_id={CLIENT_ID} \
-d client_secret={CLIENT_SECRET} \
-d grant_type=authorization_code \
-d code={CODE} \
-d redirect_uri={REDIRECT_URI} \
https://accounts.spotify.com/api/token

步骤1 -创建应用程序

Spotify Developer Dashboard中创建您的应用
得到Client IDClient Secret并加上redirect URIs
第一次

步骤2 -获取代码

https://accounts.spotify.com/authorize?response_type=code&client_id={your client id}&scope=user-read-email&redirect_uri={your redirect URL, mine is http://localhost:3000}

浏览器将显示地址控件中的代码,复制code部分。

步骤3 -获取刷新

通过curl从终端获取刷新代码

curl -d client_id={your client it} \
-d client_secret={your client secret} \
-d grant_type=authorization_code \
-d code={code from Step #2} \
-d redirect_uri=http://localhost:3000 \
https://accounts.spotify.com/api/token | jq

您可以获取刷新标记

{
  "access_token": "BQC...V-1"
  "token_type": "Bearer",
  "expires_in": 3600,
  "refresh_token": "AQA...6twR
  "scope": "user-read-email"
}

参考文献
How to create a Spotify refresh token the easy way

相关问题