링크허브 인증방식 안내

2017.07.28

안녕하세요. 고객사와 함께 성장하는 비즈니스 파트너 링크허브 입니다.

링크허브에서 제공하는 API를 통해 전송되는 정보의 보안과 인증을 위해 링크허브 API 서비스에서는 ‘링크허브 인증’과 ‘토큰 인증’ 방식을 사용합니다. 링크허브에서 제공되는 SDK 샘플소스에는 인증과정과 관련된 라이브러리가 포함되어 있기 때문에 연동시 별도의 구현이 필요하지 않습니다. 인증처리 방식과 기법에 대한 이해를 위해 다음의 설명을 참조하시기 바랍니다.

링크허브 인증이란 무엇인가요?

링크허브에서 제공하는 API 서비스를 연동하기 위해서는 링브허브 인증과정이 반드시 필요합니다. 먼저 링크허브 인증을 위해서는 인증정보가 필요합니다. 링크허브 인증이란 회원가입시 발급받은 인증정보인 링크아이디와 비밀키를 이용하여, API 통신 전문의 HMAC-SHA1 Signature를 HTTP Authorization Header에 기재하는 방식을 말합니다.

HTTP Authorization 헤더 정보

  • Authorization: LINKHUB LinkID Signature

LinkID에는 발급받은 링크아이디, Signature에는 전문의 변조방지 부분에 대해서 파트너의 비밀키로 HMAC-SHA1 알고리즘으로 생성합니다. 아래의 Authorization Header 구성방법을 참조하시기 바랍니다.

Authorization Header 구성방법

  • Authorization = “LINKHUB”+” ” + LinkID + ” ” + Signature;
  • Signature = Base64(HMAC-SHA1(SecretKey, UTF-8-Encoding-Of(StringToSign)));
  • StringToSign = HTTP-Verb + “\n” +
  • Content-MD5 +”\n” +
  • Date +”\n” +
  • CanonicalizedLINKHUBHeaders +
  • ResourceURI [include query string];
  • CanonicalizedLINKHUBHeaders = Canonicalized Result String

StringToSign 구성

Content-MD5 : 전문에 Contents가 없는 경우(GET request)에는 빈 문자(“”)로 처리합니다.

Date : UTC 시간으로 기재하며, x-lh-date 와 함께 하나 이상은 반드시 기재되어야 합니다.

CanonicalizedLINKHUBHeaders : HTTP Header에 링크허브가 정의하는 헤더를 추가 기재하는 정보입니다. 자세한 사항은 다음의 Canonicalization 과정 참조하시기 바랍니다.

Canonicalization 과정

    1. 모든 헤더이름을 소문자로 변환한다. Ex) Date -> date

    2. 각 헤더를 이름으로 정렬한다.

    3. 동일한 헤더이름에 대해서는 공백 없는 콤마 구분자로 하나로 합한다.

    4. 이름과 값을 구별하는 콜론의 앞, 뒤 공백은 제거한다.

    5. 각 헤더의 값만을 개행문자(\n)로 합하여 하나의 문자열로 합한다.

토큰 인증이란 무엇인가요?

토큰 인증은 위에서 설명한 링크허브 인증 통해 발급받은 토큰값을 Bearer방식으로 Authorization Header에 기재하는 단순한 인증방식을 말합니다.

HTTP Authorization 헤더 정보

  • Authorization : Bearer BearerTokenValue

팝빌에서는 요청된 API 토큰값을 별도의 약속된 암호화 알고리즘으로 해석해 파트너와 연동회원을 식별하여 서비스를 제공합니다.

지금까지 링크허브 API에서 사용되는 ‘링크허브 인증’에 대해 안내해 드렸습니다. 링크허브 인증에 대한 자세한 사항은 [링크허브 자료실 > 전자세금계산서 API 연동매뉴얼] 참조하시기 바랍니다.

고객님들의 편의를 위하여 이메일, 전화 등 다양한 채널을 열어놓고 있으니 언제든지 연락주시기 바랍니다.

링크허브 개발팀 정요한 과장 / T.1600-9854 / D. 070-4304-2991/ E. code@linkhub.co.kr