로그인 페이지 호출
웹 로그인은 사용자가 웹페이지를 통해 IdP로 로그인할 수 있도록 지원하는 기능입니다.
로그인 페이지 호출 은 유저가 IdP로 로그인할 수 있는 Hive 웹 로그인 URL 주소와 함께 임시 인증 코드(state
)를 반환하는 API입니다.
로그인 페이지 호출 API를 요청 후, 유저가 호출된 로그인 페이지에서 웹 로그인을 완료하면 임시 인증 코드(state
)가 요청 시에 전달한 리다이렉트 URI를 통해 반환됩니다. 임시 인증 코드(state
)는 로그인 검증 및 유저 정보 조회 API 요청 시 전달하는 필수 파라미터입니다.
Request URL¶
환경 | URL |
---|---|
상용 (Production) | https://weblogin.withhive.com/login?param= |
샌드박스 (Sandbox) | https://sandbox-weblogin.withhive.com/login?param= |
HTTP Method | GET |
Content-Type | text/html |
Request Query Parameters¶
필드명 | 타입 | 설명 | 필수 여부 |
---|---|---|---|
param | String | 아래 JSON 객체를 URL 인코딩 및 BASE64 인코딩하여 생성한 문자열입니다. | Y |
Request Query Parameters JSON 구조 (param
)¶
필드명 | 타입 | 설명 |
---|---|---|
appid | String | 앱 아이디 |
url | String | 로그인 완료 후 리다이렉트 시킬 URI 주소입니다. Hive 콘솔 인증 > 인증 환경 설정 > 로그인 설정 에서 등록된 Redirect URI 와 일치해야 합니다. 일치하지 않으면 2012 에러 페이지가 노출 됩니다. |
client_id | String | 보안 키 설정에서 생성한 OAuth 2.0 Client ID. Hive 콘솔 앱센터 > 보안 키 설정 에서 확인할 수 있습니다. |
response_type | String | OAuth 2.0 권한 부여 방식. 기본값: code |
country | String | 게임 또는 커뮤니티에서 설정한 국가 코드 (미전달 시 브라우저 기본값 사용) |
language | String | 게임 또는 커뮤니티에서 설정한 언어 코드 (미전달 시 브라우저 기본값 사용) |
Request Query Parameters JSON (param
) Example¶
Request Query Parameters JSON (param
)은 아래와 같은 JSON 객체로 구성됩니다.
{
"appid": "com.com2us.hivesdk.ios.community.global.normal",
"url": "https://community.withhive.com/hivesdk/login/redirect",
"client_id": "58b48cd3-df47-5b52-2627-3f9c8d01",
"response_type": "code",
"country": "KR",
"language": "ko"
}
이 JSON 객체는 API 호출 시, 아래의 순서대로 문자열로 변환 후 param
쿼리 파라미터로 사용합니다.
- URL 인코딩
- BASE64 인코딩
# 인코딩된 param을 붙여 호출하는 URL 예시
https://weblogin.withhive.com/login?param=JTdCJTIyYXBwaWQlMjIlM0ElMjJjb20uY29tMnVzLmhpdmVzZGsuaW9zLmNvbW11bml0eS5nbG9iYWwubm9ybWFsJTIyJTJDJTIydXJsJTIyJTNBJTIyaHR0cHMlM0ElMkYlMkZjb21tdW5pdHkud2l0aGhpdmUuY29tJTJGaGl2ZXNkayUyRmxvZ2luJTJGcmVkaXJlY3QlMjIlMkMlMjJjbGllbnRfaWQlMjIlM0ElMjI1OGI0OGNkMy1kZjQ3LTViNTItMjYyNy0zZjljOGQwMSUyMiUyQyUyMnJlc3BvbnNlX3R5cGUlMjIlM0ElMjJjb2RlJTIyJTJDJTIyY291bnRyeSUyMiUzQSUyMktSJTIyJTJDJTIybGFuZ3VhZ2UlMjIlM0ElMjJrbyUyMiU3RA==
Response Behavior¶
- 응답 결과로 HTTP 302 Redirect가 발생합니다.
- 브라우저는
Location
헤더에 설정된 URI로 리다이렉트되며, 해당 URI에는res
쿼리 파라미터가 추가됩니다. res
는 URL 인코딩 및 BASE64 인코딩된 JSON 문자열입니다.
Redirect Location URI Sample¶
# https://community.withhive.com/hivesdk/login/redirect를 리다이렉트 URI로 설정한 경우
https://community.withhive.com/hivesdk/login/redirect?res=JTdCJTIyY29kZSUyMiUzQSUyMjEwMCUyMiUyQyUyMnN0YXRlJTIyJTNBJTIyMTY4ODEwODkyNzk0Mi1CUHVxcHFFaUd6S0lIJTIyJTdE
Response Query Parameters (res
)¶
res
는 아래와 같은 키 값으로 구성된 JSON 객체를 URL 인코딩과 BASE64 인코딩을 거쳐 String으로 변환한 값입니다.
필드명 | 타입 | 설명 |
---|---|---|
code | String | 웹 로그인 응답 코드 성공이 아닐 경우, 에러 코드가 포함된 웹 로그인 에러 페이지로 리다이렉트됩니다. |
state | String | 토큰 발급 요청 시 사용할 임시 인증 코드 (authorization_code) |
Response Query Parameters 응답 코드¶
code | 설명 | 비고 |
---|---|---|
100 | 성공 | |
1050 | 유효하지 않은 파라미터 | |
1051 | URL 디코딩 오류 | |
1052 | BASE64 디코딩 오류 | |
1053 | 유효하지 않은 Param 값 | ?param= 의 값 |
2005 | 비정상 요청 값 | |
2011 | 프로젝트 정보가 없음 | |
2012 | 리다이렉트 URI 불일치 | Hive 콘솔 인증 > 인증 환경 설정 > 로그인 설정 에서 등록된 Redirect URI 와 일치해야 합니다. |
2013 | 프로젝트가 종료된 상태 | |
2016 | 앱아이디 정보가 없음 | |
2018 | 회사 정보가 없음 | |
2020 | 임시 인증 코드 (state ) 발급 실패 | |
2022 | 임시 인증 코드 (state ) 저장 실패 | |
7000 | OAuth2.0 보안 키를 생성하지 않음 | Hive 콘솔 앱센터 > 보안 키 설정 에서 확인 |
7003 | OAuth2.0 Client 정보 없음 | 〃 |
Response Query Parameters Sample (res
)¶
res
를 다시 JSON 객체로 사용하려면 역으로 BASE64 디코딩과 URL 디코딩을 수행해야 합니다. JSON 객체 예시는 아래와 같습니다.