인증
- FlipFlop을 사용하기 위해서는 우선 대시보드에서 애플리케이션을 생성 해야한다. 애플리케이션을 생성하면 app key와 app secret이 발급되며, 이를 사용하여 인증토큰을 발급 받을 수 있다.
- app key와 app secret은 대시보드의 Settings 에서 확인할 수 있다.
- 발급 받은 인증토큰을 FlipFlop API에 접근 시 HTTP 요청 헤더에 포함함으로써 서버에서 애플리케이션을 인증한다.
인증 토큰 발급
- 애플리케이션 인증을 위한 토큰 발급을 요청한다. 권한에 따라 2가지 타입의 토큰이 있으며 설명은 각 해당 항목을 참고한다.
- 사용자 권한의 인증 토큰을 발급받기 위해서는 요청 시 OAuth2 Basic 인증을 위해 애플리케이션 등록 시 발급받 app_key:app_secret을 Base64로 인코딩 하여 헤더에 포함해야 한다.
app key가 testapp 이고 app secret 이 testsecret일 경우
testapp:testsecret -> (base64 encoding) -> dGVzdGFwcDp0ZXN0c2VjcmV0
Authorization: Basic dGVzdGFwcDp0ZXN0c2VjcmV0 를 사용한다
요청 시 Content-Type은 application/x-www-form-urlencoded 으로 한다. 응답으로 JWT(JSON Web Token)이 반환된다.
어드민 권한의 인증 토큰을 발급 받기 위해서는 정해진 Basic 토큰을 사용하며, 아래의 어드민 토큰 요청 문서를 참고한다.
어드민 토큰 발급
- 어드민 권한의 인증 토큰을 발급받기 위해서는 정해진 Basic token을 사용한다.
POST /oauth/token
요청 헤더
키 | 타입 | 필수여부 | 설명 |
---|
Authorization | String | true | Basic Z3Vlc3Q6Z3Vlc3RzZWNyZXQ= |
Content-Type | String | true | application/x-www-form-urlencoded |
요청 본문
키 | 타입 | 필수여부 | 설명 |
---|
grant_type | String | true | client_credentials |
email | String | true | 대시보드에서 등록한 email |
secret | String | true | 대시보드에서 등록한 password |
응답 본문
키 | 타입 | 필수여부 | 설명 |
---|
access_token | string | true | Access token. API 요청 시 이 토큰을 사용 |
token_type | string | true | 토큰 타입. Bearer |
expires_in | string | true | 토큰 유효기간. 단위는 초(second) |
scope | string | true | 토큰이 할 수 있는 일 |
jti | string | true | JWT ID |
member_id | string | true | 회원 ID |
에러 코드
Http status | error | error description |
---|
400 | 400 | Invalid user_id |
400 | 400 | User_id is required |
사용자 토큰 발급
POST /oauth/token
요청 헤더
키 | 타입 | 필수여부 | 설명 |
---|
Authorization | String | true | Basic {app_key:app_secret} |
Content-Type | String | true | application/x-www-form-urlencoded |
요청 본문
키 | 타입 | 필수여부 | 설명 |
---|
grant_type | String | true | client_credentials |
user_id | String | true | 각 애플리케이션의 user id. 최대 80자 |
응답 본문
키 | 타입 | 필수여부 | 설명 |
---|
access_token | string | true | Access token. API 요청 시 이 토큰을 사용 |
token_type | string | true | 토큰 타입. Bearer |
expires_in | string | true | 토큰 유효기간. 단위는 초(second) |
scope | string | true | 토큰이 할 수 있는 일 |
jti | string | true | JWT ID |
member_id | string | true | 회원 ID |