콘텐츠로 이동

로그인 페이지 호출

웹 로그인은 사용자가 웹페이지를 통해 IdP로 로그인할 수 있도록 지원하는 기능입니다.

로그인 페이지 호출 은 사용자가 IdP로 로그인할 수 있는 웹 로그인 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 주소입니다. 하이브 콘솔 인증 > 인증 환경 설정 > 로그인 설정 에서 등록된 Redirect URI와 일치해야 합니다. 일치하지 않으면 2012 에러 페이지가 노출 됩니다.
client_id String 보안 키 설정에서 생성한 OAuth 2.0 Client ID. 하이브 콘솔 앱 센터 > 보안 키 설정 에서 확인할 수 있습니다.
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 쿼리 파라미터로 사용합니다.

  1. URL 인코딩
  2. 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 불일치 하이브 콘솔 인증 > 인증 환경 설정 > 로그인 설정 에서 등록된 Redirect URI와 일치해야 합니다.
2013 프로젝트가 종료된 상태
2016 게임 앱 아이디 정보가 없음
2018 회사 정보가 없음
2020 임시 인증 코드 (state) 발급 실패
2022 임시 인증 코드 (state) 저장 실패
7000 OAuth2.0 보안 키를 생성하지 않음 하이브 콘솔 앱 센터 > 보안 키 설정 에서 확인
7003 OAuth2.0 Client 정보 없음

Response Query Parameters Sample (res)

res를 다시 JSON 객체로 사용하려면 역으로 BASE64 디코딩과 URL 디코딩을 수행해야 합니다. JSON 객체 예시는 아래와 같습니다.

{
  "code": "100",
  "state": "1627881984263-jkx1B3GOY3EsJ"
}