콘텐츠로 이동

인증 API로 사용자 정보 조회

웹 로그인 완료 후, 별도로 사용자 정보를 확인해야 하는 경우에 요청하는 API입니다.

'인증 API로 사용자 정보 조회' API는 앱 서버에서 Hive 인증 서버로 직접 호출하는 Server-to-Server 통신 방식으로 동작하며, 로그인 검증 및 사용자 정보 조회 API의 응답 값인 appid, idp_index, idp_user_id를 사용하여 IdP에 해당하는 사용자 정보를 반환합니다.


Request URL

상용 URL https://auth.qpyou.cn/v2/game/player/get-playerid
분산환경 URL https://auth.globalwithhive.com/v2/game/player/get-playerid
Sandbox URL https://sandbox-auth.qpyou.cn/v2/game/player/get-playerid
HTTP Method POST
Content-Type application/json
Data Format JSON
Note

Hive 인증 서버는 장애가 발생하거나 네트워크 통신이 원활하지 않을 경우에 대비하여 분산 환경 기반으로 구성됩니다.
인증 서버 호스트와의 통신 중 장애가 발생하거나 앱 서버에 정의된 타임아웃(Timeout) 시간을 초과하는 경우, 앱 서버에서 직접 분산 환경 URL(Fallback URL)을 호출해야 합니다.


Request header

필드명 설명 타입 필수여부
X-Access-Token 앱 서버 인증을 위한 OAuth 2.0 Access Token
(OAuth Token 발급하기 참고)
String Y
ISCRYPT 데이터 암호화 여부 (0 = 암호화 안 함) (무조건 0으로 전달) Integer Y


Request body

필드명 설명 타입 필수여부
appid App ID String Y
idp_index IdP 인덱스 IdP 리스트 Integer Y
idp_user_id IdP 고유 식별자 String Y


Request example

{
  "appid": "com.com2us.hivesdk.normal.freefull.apple.global.ios.universal",
  "idp_index": 1,
  "idp_user_id": "68101398"
}


Response body

필드명 설명 타입
result_code 응답 코드 자세히 Integer
result_msg 결과 메시지 String
token_validation JWT 검증 결과 (JWT 검증 에러) Object
token_validation.result_code JWT 검증 결과 코드 Integer
token_validation.result_msg JWT 검증 결과 메시지 String
data 결과 데이터 Object
data.enc_idp Request Body 정보를 암호화한 키 String
data.player_id Player ID BigInteger
data.list 연동된 IdP 리스트 Array
data.list[].seq 연동된 IdP 리스트 - Seq BigInteger
data.list[].player_id 연동된 IdP 리스트 - Player ID BigInteger
data.list[].idp_user_id 연동된 IdP 리스트 - IdP 고유 식별자 String
data.list[].idp_index 연동된 IdP 리스트 - IdP 인덱스 IdP 리스트 Integer
data.list[].idp_id 연동된 IdP 리스트 - IdP 아이디 String
data.is_blocked 이용 정지 여부 Boolean
data.is_refund 환불 사용자 재결제 대상 여부 Boolean

응답 코드

코드값 설명
0 성공
2002 사용자 데이터 없음
2499 JWT 검증 실패 (token_validation 참고)
4000 유효하지 않은 요청 파라미터


Response example

성공 (사용자 정보 존재)

{
  "result_code": 0,
  "result_msg": "SUCCESS",
  "token_validation": {
    "result_code": 0,
    "result_msg": "success"
  },
  "data": {
    "enc_idp": "K+A4xduO7kf5OrJ/iDPqL0PtMxwu7wW8JSBO+JJwSDDmJLvIi/6LG7TyWXdEHr9RNHM+/QXwc0+Y9z2eSRg7oeBBHmpOajzF1iiaacbFom4CsNy2fItendset7T0i0WYdyLQih3z5mDjcct47+gg2ovbp6kWRY8D+aGq+ZgaKiyr0Hmb1xmbWY/7cl1FjXTm0Nl9CWhO418bJFdwOpi+bw==",
    "player_id": 20000016588,
    "list": [
      {
        "seq": 25771,
        "player_id": 20000016588,
        "idp_user_id": "68101398",
        "idp_index": 1,
        "idp_id": "HIVE"
      },
      {
        "seq": 25772,
        "player_id": 20000016588,
        "idp_user_id": "0",
        "idp_index": 0,
        "idp_id": "GUEST"
      }
    ],
    "is_blocked": false,
    "is_refund": false
  }
}

성공 (사용자 정보 없음)

{
  "result_code": 2002,
  "result_msg": "No User",
  "token_validation": {
    "result_code": 0,
    "result_msg": "success"
  },
  "data": {
    "enc_idp": "K+A4xduO7kf5OrJ/iDPqLyCHfP+L3wz0WTNVw5KHLCqYjqQ+shQ2P3mkgwYCMvlnPatzlSE5ZFINr5gEIxK14sg0N8kOPSjSCeQ9UGGt11OMrYsGTuys0KmPJ2ZU/UWVVxpP1Lxx1eS8VbYwLmoTG+HTw2vkocghs/ZOZ9rqisdBRprhp6Q6+lIjpaUzDa2yy2guM1WheuVzKGL5331HHgo557RqoyUzTc6Lkf8ArWZ/XSwi3ZmStmhz/U4thcIwiowqgV+Ecdb2+WmMZ1MgGT4Xvbxa4lqzToBC3nxDvi1d8TjgMaszVYoNct94WPBGvV6emg3GqiJG+0ZTGg53+mZad9ttkUpTnQXetz5UDTxe5NnFAYfffzBq3jkqfAB042eH21rE3uTVJq3HuO8i9t1LJwKFfkC7sjjuaKNWsjs="
  }
}

JWT 검증 실패

{
  "result_code": 2499,
  "result_msg": "JWT validation failed. See token_validation for details.",
  "token_validation": {
    "result_code": 2408,
    "result_msg": "The access token is expired. Please refresh your token."
  }
}

실패

{
  "result_code": 4000,
  "result_msg": "Request has invalid format.",
  "data": "appid, idp_user_id, idp_index"
}
Note

JWT 검증 실패 시, token_validation 필드로 상세 에러 정보를 확인할 수 있습니다. 자세한 내용은 JWT 검증 에러 코드를 참고하세요.