커스텀 인증키 발급¶
앱에서 커스텀 IdP(Identity Provider)를 연동할 때 필요한 인증 키를 발급받습니다.
'커스텀 인증키 발급' API는 앱 서버에서 Hive 인증 서버로 직접 호출하는 Server-to-Server 통신 방식으로 동작하며, 호출 성공 시 응답의 data.custom_auth_key 필드에 커스텀 인증 키가 반환됩니다. 이 키를 사용하여 IdP 신규 연동 또는 Player ID에 IdP를 연동할 수 있습니다.
Request URL¶
| 상용 URL | https://auth.qpyou.cn/v2/game/customauth/get-key |
|---|---|
| Sandbox URL | https://sandbox-auth.qpyou.cn/v2/game/customauth/get-key |
| HTTP Method | POST |
| Content-Type | application/json |
| Data Format | JSON |
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_id | idp의 string 값 | String | Y |
| idp_user_id | idp에서 주는 사용자 ID 값 | String | Y |
| auth_type | 커스텀 인증 키 용도 SIGNINIDP: IdP 신규 연동 및 인증 CONNECT: Player ID에 IdP 연동 | String | Y |
| player_id | 사용자 Player ID | BigInteger | N (auth_type을 CONNECT로 설정하여 API 호출 시에는 필수로 입력해야 함) |
Note
필드 중 idp_id 값은 아래 예제와 같이 지정된 string 형식으로 작성해야 합니다.
- CUSTOM_FIREBASE
- CUSTOM_FACEBOOK
- CUSTOM_GOOGLE
- CUSTOM_SIGNIN_APPLE
- CUSTOM_TWITTER
- CUSTOM_NAVER
- CUSTOM_GAME
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.custom_auth_key | 커스텀 인증 키 | String |
응답 코드¶
| 코드값 | 설명 |
|---|---|
| 0 | 성공 |
| 1005 | 미지원 auth_type |
| 2499 | JWT 검증 실패 (token_validation 참고) |
| 4200 | 미지원 IdP |
Request example¶
{
"appid": "com.com2us.hivesdk.normal.freefull.apple.global.ios.universal",
"idp_id": "CUSTOM_TWITTER",
"idp_user_id": "1204273895139753984",
"auth_type": "SIGNINIDP",
"player_id": 10012038880
}
Response example¶
성공¶
{
"result_code": 0,
"result_msg": "SUCCESS",
"token_validation": {
"result_code": 0,
"result_msg": "success"
},
"data": {
"custom_auth_key": "f28ac8415716f438b9c972e3706c0dab"
}
}
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."
}
}
Note
JWT 검증 실패 시, token_validation 필드를 통해 상세한 에러 정보를 확인할 수 있습니다. 자세한 내용은 JWT 검증 에러 코드를 참고하세요.