콘텐츠로 이동

로그인 페이지 호출

웹 로그인은 사용자가 웹페이지를 통해 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 쿼리 파라미터로 사용합니다.

  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 불일치 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 객체 예시는 아래와 같습니다.

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