4주프로젝트 (Hollyship_day09 : spotify API 가져오기)
스포티 파이 API의 종류
WEB API :
WEB PLAYBACK SDK
IOS
ANDROID
WIDGETS
우선 authorization flow를 먼저 진행해서 access token을 얻어야 한다
CODE - TOKEN간 교환은 비밀 키가 필요하며 보안 목적을 위해 서버대 서버의 커뮤니케이션만 가능하다.
authorization 종류
- App authorization : 앱이 spotify platform 에 접근할수 있도록 하는 인증(APIs, SDKs and Widgets)
- User authorization : 스포티파이 뿐만 아니라 사용자의 데이터에 접근하고 수정할수 있는 권한을 주는 인증,
/authorize endpoint 사용, scope 범위 지정
Obtaining Authorization
1. 어플리케이션 등록
2. 3 Spotify authorization flows중 하나를 선택
- Refreshable user authorization : Authorization Code (User auth, Secret key , Token refresh)
: 사용자가 한번만 권한을 부여하는 장기적으로 실행되는 앱에 적합, 토큰 교환으로 액세스 토큰의 유효성 연장가능, 토큰 교환에는 시크릿 키가 필요함으로 백엔드사이드에 적합하다
- Temporary user authorization : Implicit Grant (User auth, No Secret key)
: 클라이언트 사이드, javascript를 사용하여 리소스의 소유자의 브라우저에서 실행된다. 서버사이드 코드는 필요없다
액세스토큰의 유효기간이 짧고 연장할 수 없다.
- Refreshable app authorization : Client Credentials Flow (App auth , Secret key)
: 서버 대 서버 인증에 사용된다. 사용자 정보에 액세스 하지 않는 엔드포인트만 액세스 할 수 있다.
유효기간이 긴 액세스 토큰, 인증없이 higher rate limit을 갖는다
API문서를 너무 가볍게 보고 지나가서 auth 과정 선택과 진행하는데 있어서 잘못된 결정을 했다
공식문서 확인할때는 시간이 걸리더라도 꼼꼼히 보자!