소셜로그인
소셜로그인 상품에서 사용하는 API를 한 페이지에서 확인할 수 있습니다.
사전설정, 앱정보 관리, 로그인 인증, 사용자 조회, 토큰 만료, 카카오 싱크 전용 기능까지 순서대로 제공합니다.
사전설정
제공사 디벨로퍼스에 앱 생성 시 Redirect URI 등록이 필수입니다.
- 카카오:
https://mars-verify-cb.ibapi.kr/api/callback/kakao - 네이버:
https://mars-verify-cb.ibapi.kr/api/callback/naver
카카오 싱크 기능을 사용할 경우 카카오 디벨로퍼스에서 카카오 로그인 활성화, 간편가입, 동의항목, 대표 채널까지 사전 설정이 필요합니다.
네이버는 애플리케이션 등록 후 clientId/clientSecret 발급을 완료해 두어야 합니다.
앱정보 등록
소셜로그인 연동에 필요한 앱 정보를 등록합니다. 사전설정에서 발급된 clientId/clientSecret 및 redirectUrl을 저장합니다.
Body Parameters
{}JSONappId
필수 String서비스 appId입니다.
provider
필수 String소셜 제공자입니다. example: kakao, naver, google.
clientId
필수 String제공자 clientId입니다.
clientSecret
String제공자 clientSecret입니다. 네이버 사용 시 필수입니다.
redirectUrl
필수 String로그인 완료 후 콜백을 받을 redirect URL입니다.
userRef
String고객 입력 참조값입니다.
Returns
common
Object공통 응답 영역입니다.
authCode
String인증 결과 코드입니다.
authResult
String인증 결과 메시지입니다.
infobankTrId
String인포뱅크 트랜잭션 아이디입니다.
data
Object상품 응답 데이터 영역입니다.
code
String호출 결과 코드입니다.
result
String호출 결과 메시지입니다.
resultMsg
String호출 결과 상세 설명입니다.
userRef
String고객 입력 참조값입니다.
요청 예시
curl -X POST "https://mars.ibapi.kr/api/verify/v1/social/app-config/regist" \ -H "Authorization: {ApiKey}" \ -H "Content-Type: application/json" \ -d '{ "appId": "BIZ", "provider": "kakao", "clientId": "KAKAO_CLIENT_ID", "clientSecret": "KAKAO_CLIENT_SECRET", "redirectUrl": "https://service.example.com/oauth/callback", "userRef": "social-app-regist-001" }'응답 예시
{ "common": { "authCode": "A000", "authResult": "Success", "infobankTrId": "Infobank-Tracking-Id" }, "data": { "code": "A000", "result": "SUCCESS", "resultMsg": "성공", "userRef": "social-app-regist-001" }}앱정보 조회
등록된 소셜 앱 정보를 조회합니다. appId를 생략하면 전체 앱 목록을 조회합니다.
Body Parameters
{}JSONappId
String조회할 appId입니다.
userRef
String고객 입력 참조값입니다.
Returns
common
Object공통 응답 영역입니다.
authCode
String인증 결과 코드입니다.
authResult
String인증 결과 메시지입니다.
infobankTrId
String인포뱅크 트랜잭션 아이디입니다.
data
Object상품 응답 데이터 영역입니다.
code
String호출 결과 코드입니다.
result
String호출 결과 메시지입니다.
resultMsg
String호출 결과 상세 설명입니다.
userRef
String고객 입력 참조값입니다.
list
Object Array등록된 앱 정보 목록입니다.
appId
String서비스 appId입니다.
provider
String소셜 제공자입니다.
clientId
String제공자 clientId입니다.
clientSecret
String제공자 clientSecret입니다.
redirectUrl
String등록된 redirect URL입니다.
regDate
String등록 일시입니다.
요청 예시
curl -X POST "https://mars.ibapi.kr/api/verify/v1/social/app-config" \ -H "Authorization: {ApiKey}" \ -H "Content-Type: application/json" \ -d '{ "appId": "BIZ", "userRef": "social-app-list-001" }'응답 예시
{ "common": { "authCode": "A000", "authResult": "Success", "infobankTrId": "Infobank-Tracking-Id" }, "data": { "code": "A000", "result": "SUCCESS", "resultMsg": "성공", "userRef": "social-app-list-001", "list": [ { "appId": "BIZ", "provider": "kakao", "clientId": "KAKAO_CLIENT_ID", "clientSecret": "KAKAO_CLIENT_SECRET", "redirectUrl": "https://service.example.com/oauth/callback", "regDate": "2026-03-31 11: 12: 45" } ] }}앱정보 삭제
등록된 앱 정보를 삭제합니다. provider를 함께 보내면 특정 제공자만 선택 삭제할 수 있습니다.
Body Parameters
{}JSONappId
필수 String삭제할 appId입니다.
provider
String삭제할 소셜 제공자입니다.
userRef
String고객 입력 참조값입니다.
Returns
common
Object공통 응답 영역입니다.
authCode
String인증 결과 코드입니다.
authResult
String인증 결과 메시지입니다.
infobankTrId
String인포뱅크 트랜잭션 아이디입니다.
data
Object상품 응답 데이터 영역입니다.
code
String호출 결과 코드입니다.
result
String호출 결과 메시지입니다.
resultMsg
String호출 결과 상세 설명입니다.
userRef
String고객 입력 참조값입니다.
요청 예시
curl -X POST "https://mars.ibapi.kr/api/verify/v1/social/app-config/delete" \ -H "Authorization: {ApiKey}" \ -H "Content-Type: application/json" \ -d '{ "appId": "BIZ", "provider": "kakao", "userRef": "social-app-delete-001" }'응답 예시
{ "common": { "authCode": "A000", "authResult": "Success", "infobankTrId": "Infobank-Tracking-Id" }, "data": { "code": "A000", "result": "SUCCESS", "resultMsg": "성공", "userRef": "social-app-delete-001" }}로그인 인증요청
소셜 로그인 인증 요청 API입니다. 요청 시 소셜 로그인 페이지로 리다이렉트되며, 로그인 완료 후 redirectUrl로 결과가 전달됩니다.
Query Parameters
provider
필수 String소셜 로그인 제공자입니다. example: naver, kakao, google.
appId
필수 String사전 등록한 서비스 appId입니다.
state
필수 String요청/응답 검증용 CSRF 방어 문자열입니다.
Returns
common
Object공통 응답 영역입니다.
authCode
String인증 결과 코드입니다.
authResult
String인증 결과 메시지입니다.
infobankTrId
String인포뱅크 트랜잭션 아이디입니다.
data
Object상품 응답 데이터 영역입니다.
code
String호출 결과 코드입니다.
result
String호출 결과 메시지입니다.
resultMsg
String호출 결과 상세 설명입니다.
userRef
String고객 입력 참조값입니다.
state
String요청 시 전달한 state 값입니다.
provider
String소셜 로그인 제공자입니다.
token
String상품에서 생성하는 사용자 식별 토큰입니다.
요청 예시
curl -G "https://mars.ibapi.kr/api/verify/v1/social/authorize" \ -H "Authorization: {ApiKey}" \ --data-urlencode "provider=naver" \ --data-urlencode "appId=BIZ" \ --data-urlencode "state=20260331153000001"응답 예시
{ "common": { "authCode": "A000", "authResult": "Success", "infobankTrId": "Infobank-Tracking-Id" }, "data": { "code": "A000", "result": "SUCCESS", "resultMsg": "성공", "state": "20260331153000001", "provider": "naver", "token": "58f5edaf-0fc1-3ac7-8fe0-c4453abf0ba1" }}사용자 정보조회
소셜 로그인 완료 후 발급된 token으로 사용자 정보를 조회합니다.
Body Parameters
{}JSONprovider
필수 String소셜 로그인 제공자입니다.
token
필수 String로그인 인증 요청 단계에서 발급된 token입니다.
userRef
String고객 입력 참조값입니다.
Returns
common
Object공통 응답 영역입니다.
authCode
String인증 결과 코드입니다.
authResult
String인증 결과 메시지입니다.
infobankTrId
String인포뱅크 트랜잭션 아이디입니다.
data
Object상품 응답 데이터 영역입니다.
code
String호출 결과 코드입니다.
result
String호출 결과 메시지입니다.
resultMsg
String호출 결과 상세 설명입니다.
userRef
String고객 입력 참조값입니다.
state
String로그인 요청 시 전달한 state 값입니다.
provider
String소셜 로그인 제공자입니다.
token
String사용자 식별 토큰입니다.
naver
Object네이버 사용자 정보입니다.
id
String네이버 사용자 고유 식별값입니다.
nickname
String네이버 닉네임입니다.
kakao
Object카카오 사용자 정보입니다.
id
Long카카오 회원번호입니다.
kakaoAccount
Object카카오 계정 정보입니다.
구글 사용자 정보입니다.
sub
String구글 사용자 고유 식별값입니다.
요청 예시
curl -X POST "https://mars.ibapi.kr/api/verify/v1/social/user/me" \ -H "Authorization: {ApiKey}" \ -H "Content-Type: application/json" \ -d '{ "provider": "kakao", "token": "58f5edaf-0fc1-3ac7-8fe0-c4453abf0ba1", "userRef": "social-user-me-001" }'응답 예시
{ "common": { "authCode": "A000", "authResult": "Success", "infobankTrId": "Infobank-Tracking-Id" }, "data": { "code": "A000", "result": "SUCCESS", "resultMsg": "성공", "provider": "kakao", "token": "58f5edaf-0fc1-3ac7-8fe0-c4453abf0ba1", "kakao": { "id": 111111, "kakaoAccount": { "email": "sample@domain.com", "profile": { "nickname": "bizgo" } } } }}토큰 만료요청
소셜 로그인 토큰을 만료 처리합니다. 카카오는 전체 앱/기기 로그아웃 정책이 적용될 수 있으며, 네이버는 정책상 외부 로그아웃 API가 제한됩니다.
Body Parameters
{}JSONprovider
필수 String소셜 로그인 제공자입니다.
token
필수 String만료 처리할 token입니다.
userRef
String고객 입력 참조값입니다.
Returns
common
Object공통 응답 영역입니다.
authCode
String인증 결과 코드입니다.
authResult
String인증 결과 메시지입니다.
infobankTrId
String인포뱅크 트랜잭션 아이디입니다.
data
Object상품 응답 데이터 영역입니다.
code
String호출 결과 코드입니다.
result
String호출 결과 메시지입니다.
resultMsg
String호출 결과 상세 설명입니다.
userRef
String고객 입력 참조값입니다.
provider
String소셜 로그인 제공자입니다.
요청 예시
curl -X POST "https://mars.ibapi.kr/api/verify/v1/social/token" \ -H "Authorization: {ApiKey}" \ -H "Content-Type: application/json" \ -d '{ "provider": "kakao", "token": "58f5edaf-0fc1-3ac7-8fe0-c4453abf0ba1", "userRef": "social-token-expire-001" }'응답 예시
{ "common": { "authCode": "A000", "authResult": "Success", "infobankTrId": "Infobank-Tracking-Id" }, "data": { "code": "A000", "result": "SUCCESS", "resultMsg": "성공", "provider": "kakao", "userRef": "social-token-expire-001" }}카카오 싱크 전용
카카오 싱크를 도입한 서비스만 사용할 수 있는 전용 기능입니다.
서비스 약관 동의 상태를 조회/철회/처리할 때 사용하며, 실제 약관 운용 정책은 서비스에서 직접 관리해야 합니다.
서비스 약관 동의 내역 확인
카카오싱크 사용자의 서비스 약관 동의 내역을 조회합니다.
Body Parameters
{}JSONtoken
필수 String사용자 식별 토큰입니다.
result
String조회 목록 타입입니다. example: agreed_service_terms, app_service_terms.
tags
String조회할 서비스 약관 태그 목록입니다. 쉼표(,)로 구분합니다.
userRef
String고객 입력 참조값입니다.
Returns
common
Object공통 응답 영역입니다.
authCode
String인증 결과 코드입니다.
authResult
String인증 결과 메시지입니다.
infobankTrId
String인포뱅크 트랜잭션 아이디입니다.
data
Object상품 응답 데이터 영역입니다.
code
String호출 결과 코드입니다.
result
String호출 결과 메시지입니다.
resultMsg
String호출 결과 상세 설명입니다.
userRef
String고객 입력 참조값입니다.
provider
String소셜 제공자입니다. kakao 고정입니다.
kakao
Object카카오 서비스 약관 응답 객체입니다.
id
Long카카오 회원번호입니다.
serviceTerms
Object Array서비스 약관 목록입니다.
tag
String약관 태그입니다.
required
Boolean필수 약관 여부입니다.
agreed
Boolean동의 상태입니다.
요청 예시
curl -X POST "https://mars.ibapi.kr/api/verify/v1/social/user/kakao/service-terms" \ -H "Authorization: {ApiKey}" \ -H "Content-Type: application/json" \ -d '{ "token": "58f5edaf-0fc1-3ac7-8fe0-c4453abf0ba1", "result": "agreed_service_terms", "tags": "service_2020_0218,optional_20200616", "userRef": "social-kakao-terms-001" }'응답 예시
{ "common": { "authCode": "A000", "authResult": "Success", "infobankTrId": "Infobank-Tracking-Id" }, "data": { "code": "A000", "result": "SUCCESS", "resultMsg": "성공", "provider": "kakao", "userRef": "social-kakao-terms-001", "kakao": { "id": 111111, "serviceTerms": [ { "tag": "service_2020_0218", "required": true, "agreed": true, "revocable": false }, { "tag": "optional_20200616", "required": false, "agreed": false, "revocable": true } ] } }}서비스 약관 동의 철회
카카오싱크 서비스 약관 동의를 철회합니다. revocable=true 항목만 철회할 수 있습니다.
Body Parameters
{}JSONtoken
필수 String사용자 식별 토큰입니다.
tags
필수 String철회할 서비스 약관 태그 목록입니다. 쉼표(,)로 구분합니다.
userRef
String고객 입력 참조값입니다.
Returns
common
Object공통 응답 영역입니다.
authCode
String인증 결과 코드입니다.
authResult
String인증 결과 메시지입니다.
infobankTrId
String인포뱅크 트랜잭션 아이디입니다.
data
Object상품 응답 데이터 영역입니다.
code
String호출 결과 코드입니다.
result
String호출 결과 메시지입니다.
resultMsg
String호출 결과 상세 설명입니다.
userRef
String고객 입력 참조값입니다.
provider
String소셜 제공자입니다. kakao 고정입니다.
kakao
Object카카오 서비스 약관 응답 객체입니다.
id
Long카카오 회원번호입니다.
revokedServiceTerms
Object Array철회 처리된 서비스 약관 목록입니다.
tag
String약관 태그입니다.
agreed
Boolean철회 후 동의 상태입니다.
요청 예시
curl -X POST "https://mars.ibapi.kr/api/verify/v1/social/user/kakao/service-terms" \ -H "Authorization: {ApiKey}" \ -H "Content-Type: application/json" \ -d '{ "token": "58f5edaf-0fc1-3ac7-8fe0-c4453abf0ba1", "result": "agreed_service_terms", "tags": "optional_20200616", "userRef": "social-kakao-revoke-001" }'응답 예시
{ "common": { "authCode": "A000", "authResult": "Success", "infobankTrId": "Infobank-Tracking-Id" }, "data": { "code": "A000", "result": "SUCCESS", "resultMsg": "성공", "provider": "kakao", "userRef": "social-kakao-revoke-001", "kakao": { "id": 111111, "revokedServiceTerms": [ { "tag": "optional_20200616", "agreed": false } ] } }}서비스 약관 동의 처리
카카오싱크 서비스 약관 동의 처리 API입니다. 서비스 자체 동의 결과를 카카오 API 플랫폼에 반영할 때 사용합니다.
Body Parameters
{}JSONtoken
필수 String사용자 식별 토큰입니다.
tags
필수 String동의 처리할 서비스 약관 태그 목록입니다. 쉼표(,)로 구분합니다.
userRef
String고객 입력 참조값입니다.
Returns
common
Object공통 응답 영역입니다.
authCode
String인증 결과 코드입니다.
authResult
String인증 결과 메시지입니다.
infobankTrId
String인포뱅크 트랜잭션 아이디입니다.
data
Object상품 응답 데이터 영역입니다.
code
String호출 결과 코드입니다.
result
String호출 결과 메시지입니다.
resultMsg
String호출 결과 상세 설명입니다.
userRef
String고객 입력 참조값입니다.
provider
String소셜 제공자입니다. kakao 고정입니다.
kakao
Object카카오 서비스 약관 응답 객체입니다.
id
Long카카오 회원번호입니다.
agreedServiceTerms
Object Array동의 처리된 서비스 약관 목록입니다.
tag
String약관 태그입니다.
agreed
Boolean동의 상태입니다.
agreedAt
Datetime약관 동의 시간입니다.
agreedBy
String동의 처리 경로입니다. example: KAPI, KAUTH.
요청 예시
curl -X POST "https://mars.ibapi.kr/api/verify/v1/social/user/kakao/service-terms" \ -H "Authorization: {ApiKey}" \ -H "Content-Type: application/json" \ -d '{ "token": "58f5edaf-0fc1-3ac7-8fe0-c4453abf0ba1", "result": "agreed_service_terms", "tags": "term01,term02", "userRef": "social-kakao-agree-001" }'응답 예시
{ "common": { "authCode": "A000", "authResult": "Success", "infobankTrId": "Infobank-Tracking-Id" }, "data": { "code": "A000", "result": "SUCCESS", "resultMsg": "성공", "provider": "kakao", "userRef": "social-kakao-agree-001", "kakao": { "id": 111111, "agreedServiceTerms": [ { "tag": "term01", "agreed": true, "agreedAt": "2026-03-31T08: 33: 25Z", "agreedBy": "KAPI" }, { "tag": "term02", "agreed": true, "agreedAt": "2026-03-31T08: 33: 25Z", "agreedBy": "KAPI" } ] } }}