인증 (/auth)
연동 가이드 > https://kakaogames.atlassian.net/wiki/x/NoCgLQ
/auth/validation
Description
accessToken 토큰의 유효성 및 플레이어의 유효성을 검증합니다.
Method
POST
Request Headers
Name | Type | Mandatory | Description |
Content-Type | String | Y | "application/json;charset=UTF-8" |
appSecret | String | Y | 앱 시크릿 |
Authorization | String | Y | Authorization: KakaoAK {ADMIN_KEY} |
kgAppId | String | Y | KG 앱 아이디 |
platform | String (Enum) | Y | 접속 플랫폼 (web, launcher, mobile, pc) |
accessToken | String | Y | Access Token |
playerId | String | N | 플레이어 아이디. 비교 검증 용도. |
런처(스퀘어) 사용 시 주의사항
런처(스퀘어)의 플랫폼 액세스 토큰 platform 타입은 launcher 입니다.
런처를 통해서 SDK 로그인 수행(FKGTPlayer::LoginWithBridgeToken) 후 결과로 전달되는 플랫폼 액세스 토큰 platform 타입은 pc 입니다.
Request Body
없음
Response Status Code
Status Code | Status Code 설명 | Status Code 상세 설명 |
---|---|---|
200 | 정상 응답 | 정상 |
400 | Bad Request | 파싱되지 않는 요청 데이터. 필수 파라미터 부족 or 파라미터 타입 오류 |
401 | Unauthenticated | 인증 실패 > 게임 kick 처리 |
406 | Not Acceptable | 처리 불가 > 게임 kick 처리 |
4xx (custom status) | 플레이어 이상 상태 | 재로그인을 통해 이상 상태 해제 후 게임 진입 필요 > 게임 kick 처리 |
500 | Internal Server Error | 서버 시스템 내부 오류 |
503 | Service Unavailable | 서비스가 가능하지 않은 상태 (예, 내부 서버간 timeout) |
Response Body
Name | Type | Description |
---|---|---|
player | PlayerAllResponse | 플레이어 정보 |
PlayerAllResponse
Name | Type | Description |
---|---|---|
kgAppId | String | KG 앱 아이디 |
playerId | String | 플레이어 아이디 |
status | String | 플레이어 상태 |
nickname | String | 닉네임 |
data | Map | 부가 데이터 |
Example Request
POST /service/v5/auth/validation HTTP/1.1
Host: kr-openapi-zinny3.game.kakao.com:10443
Content-Type: application/json;charset=UTF-8
appSecret: c3c38bbfa3828b342d946e9770c974d0
Authorization: KakaoAK 37faf519f278646a58a30ed73e6f8a61
kgAppId: 909428
platform: mobile
accessToken: FvNkGat8GaTfyhxHm2rNSFpn5UmvgBBU0kJYVc5kw5mP4lt4IwBFJKhINM0hSFPvnnjy0dlwoF128dDWOOLEWhTrefQ0zYDb3lzeG2uQuyOG1zKZKrwPFRpbNU6Ttno47txU3Slb8L/n6ayXqeAWAg7DtraptD3QLrylAoSNWl1SK3vsXnYy//gqI6i4gWT/ZnSswEHEvj6ooc8vR119IVs4mA== |
Example Response
HTTP/1.1 200 OK
Content-Type: application/json
{
"player": {
"kgAppId": "909428",
"playerId": "123456789123456",
"status": "normal"
}
}
// -29401, 유효하지 않은 playerAccessToken
HTTP/1.1 401 Unauthorized
Content-Type: application/json
{
"desc": "Token is invalid. (401.-29401)"
}
// -10103. 플레이어 이상상태 - 보호상태
HTTP/1.1 463
Content-Type: application/json;charset=UTF-8
{
"desc": "playerId There is a valid lockout. (463.-10103)",
"lockout": {
"kgAppId": "909428",
"idType": "playerId",
"id": "123456789123456",
"certMethod": "phone,card",
"reason": "",
"message": "",
"notificationOption": "alimtalk",
"memo": "",
"lockoutCode": "",
"lockoutSection": "mobile",
"regTime": 1680773813000
},
"player": {
"kgAppId": "909428",
"playerId": "123456789123456",
"status": "normal"
},
"token": {
"onetimeToken": "1IB+jHhULoYJASZR18QUTQw0pDBZVjvOith9KD8miWQNsOgw4GjCGTTJhsWNUJHcWrtHJfazZ7lmLlyx"
},
"redirectUri": {
"target": "lockout",
"lockout": "https://member.kakaogames.com/lockout?token=1IB%2BjHhULoYJASZR18QUTQw0pDBZVjvOith9KD8miWQNsOgw4GjCGTTJhsWNUJHcWrtHJfazZ7lmLlyx"
}
}
// -10102. 플레이어 이상상태 - 제재
탈퇴 대기
없는 유저
|