소셜로그인

소셜로그인 상품에서 사용하는 API를 한 페이지에서 확인할 수 있습니다.
사전설정, 앱정보 관리, 로그인 인증, 사용자 조회, 토큰 만료, 카카오 싱크 전용 기능까지 순서대로 제공합니다.

사전설정

제공사 디벨로퍼스에 앱 생성 시 Redirect URI 등록이 필수입니다.

  • 카카오: https://mars-verify-cb.ibapi.kr/api/callback/kakao
  • 네이버: https://mars-verify-cb.ibapi.kr/api/callback/naver

카카오 싱크 기능을 사용할 경우 카카오 디벨로퍼스에서 카카오 로그인 활성화, 간편가입, 동의항목, 대표 채널까지 사전 설정이 필요합니다.
네이버는 애플리케이션 등록 후 clientId/clientSecret 발급을 완료해 두어야 합니다.

앱정보 등록

POST/api/verify/v1/social/app-config/regist

소셜로그인 연동에 필요한 앱 정보를 등록합니다. 사전설정에서 발급된 clientId/clientSecret 및 redirectUrl을 저장합니다.

Body Parameters

{}JSON

appId

필수 String

서비스 appId입니다.

provider

필수 String

소셜 제공자입니다. example: kakao, naver, google.

clientId

필수 String

제공자 clientId입니다.

clientSecret

String

제공자 clientSecret입니다. 네이버 사용 시 필수입니다.

redirectUrl

필수 String

로그인 완료 후 콜백을 받을 redirect URL입니다.

userRef

String

고객 입력 참조값입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

상품 응답 데이터 영역입니다.

요청 예시

1curl -X POST "https://mars.ibapi.kr/api/verify/v1/social/app-config/regist" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "appId": "BIZ",
6 "provider": "kakao",
7 "clientId": "KAKAO_CLIENT_ID",
8 "clientSecret": "KAKAO_CLIENT_SECRET",
9 "redirectUrl": "https://service.example.com/oauth/callback",
10 "userRef": "social-app-regist-001"
11 }'

응답 예시

1{
2 "common": {
3 "authCode": "A000",
4 "authResult": "Success",
5 "infobankTrId": "Infobank-Tracking-Id"
6 },
7 "data": {
8 "code": "A000",
9 "result": "SUCCESS",
10 "resultMsg": "성공",
11 "userRef": "social-app-regist-001"
12 }
13}

앱정보 조회

POST/api/verify/v1/social/app-config

등록된 소셜 앱 정보를 조회합니다. appId를 생략하면 전체 앱 목록을 조회합니다.

Body Parameters

{}JSON

appId

String

조회할 appId입니다.

userRef

String

고객 입력 참조값입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

상품 응답 데이터 영역입니다.

요청 예시

1curl -X POST "https://mars.ibapi.kr/api/verify/v1/social/app-config" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "appId": "BIZ",
6 "userRef": "social-app-list-001"
7 }'

응답 예시

1{
2 "common": {
3 "authCode": "A000",
4 "authResult": "Success",
5 "infobankTrId": "Infobank-Tracking-Id"
6 },
7 "data": {
8 "code": "A000",
9 "result": "SUCCESS",
10 "resultMsg": "성공",
11 "userRef": "social-app-list-001",
12 "list": [
13 {
14 "appId": "BIZ",
15 "provider": "kakao",
16 "clientId": "KAKAO_CLIENT_ID",
17 "clientSecret": "KAKAO_CLIENT_SECRET",
18 "redirectUrl": "https://service.example.com/oauth/callback",
19 "regDate": "2026-03-31 11: 12: 45"
20 }
21 ]
22 }
23}

앱정보 삭제

POST/api/verify/v1/social/app-config/delete

등록된 앱 정보를 삭제합니다. provider를 함께 보내면 특정 제공자만 선택 삭제할 수 있습니다.

Body Parameters

{}JSON

appId

필수 String

삭제할 appId입니다.

provider

String

삭제할 소셜 제공자입니다.

userRef

String

고객 입력 참조값입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

상품 응답 데이터 영역입니다.

요청 예시

1curl -X POST "https://mars.ibapi.kr/api/verify/v1/social/app-config/delete" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "appId": "BIZ",
6 "provider": "kakao",
7 "userRef": "social-app-delete-001"
8 }'

응답 예시

1{
2 "common": {
3 "authCode": "A000",
4 "authResult": "Success",
5 "infobankTrId": "Infobank-Tracking-Id"
6 },
7 "data": {
8 "code": "A000",
9 "result": "SUCCESS",
10 "resultMsg": "성공",
11 "userRef": "social-app-delete-001"
12 }
13}

로그인 인증요청

GET/api/verify/v1/social/authorize

소셜 로그인 인증 요청 API입니다. 요청 시 소셜 로그인 페이지로 리다이렉트되며, 로그인 완료 후 redirectUrl로 결과가 전달됩니다.

Query Parameters

provider

필수 String

소셜 로그인 제공자입니다. example: naver, kakao, google.

appId

필수 String

사전 등록한 서비스 appId입니다.

state

필수 String

요청/응답 검증용 CSRF 방어 문자열입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

상품 응답 데이터 영역입니다.

요청 예시

1curl -G "https://mars.ibapi.kr/api/verify/v1/social/authorize" \
2 -H "Authorization: {ApiKey}" \
3 --data-urlencode "provider=naver" \
4 --data-urlencode "appId=BIZ" \
5 --data-urlencode "state=20260331153000001"

응답 예시

1{
2 "common": {
3 "authCode": "A000",
4 "authResult": "Success",
5 "infobankTrId": "Infobank-Tracking-Id"
6 },
7 "data": {
8 "code": "A000",
9 "result": "SUCCESS",
10 "resultMsg": "성공",
11 "state": "20260331153000001",
12 "provider": "naver",
13 "token": "58f5edaf-0fc1-3ac7-8fe0-c4453abf0ba1"
14 }
15}

사용자 정보조회

POST/api/verify/v1/social/user/me

소셜 로그인 완료 후 발급된 token으로 사용자 정보를 조회합니다.

Body Parameters

{}JSON

provider

필수 String

소셜 로그인 제공자입니다.

token

필수 String

로그인 인증 요청 단계에서 발급된 token입니다.

userRef

String

고객 입력 참조값입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

상품 응답 데이터 영역입니다.

요청 예시

1curl -X POST "https://mars.ibapi.kr/api/verify/v1/social/user/me" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "provider": "kakao",
6 "token": "58f5edaf-0fc1-3ac7-8fe0-c4453abf0ba1",
7 "userRef": "social-user-me-001"
8 }'

응답 예시

1{
2 "common": {
3 "authCode": "A000",
4 "authResult": "Success",
5 "infobankTrId": "Infobank-Tracking-Id"
6 },
7 "data": {
8 "code": "A000",
9 "result": "SUCCESS",
10 "resultMsg": "성공",
11 "provider": "kakao",
12 "token": "58f5edaf-0fc1-3ac7-8fe0-c4453abf0ba1",
13 "kakao": {
14 "id": 111111,
15 "kakaoAccount": {
16 "email": "sample@domain.com",
17 "profile": {
18 "nickname": "bizgo"
19 }
20 }
21 }
22 }
23}

토큰 만료요청

POST/api/verify/v1/social/token

소셜 로그인 토큰을 만료 처리합니다. 카카오는 전체 앱/기기 로그아웃 정책이 적용될 수 있으며, 네이버는 정책상 외부 로그아웃 API가 제한됩니다.

Body Parameters

{}JSON

provider

필수 String

소셜 로그인 제공자입니다.

token

필수 String

만료 처리할 token입니다.

userRef

String

고객 입력 참조값입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

상품 응답 데이터 영역입니다.

요청 예시

1curl -X POST "https://mars.ibapi.kr/api/verify/v1/social/token" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "provider": "kakao",
6 "token": "58f5edaf-0fc1-3ac7-8fe0-c4453abf0ba1",
7 "userRef": "social-token-expire-001"
8 }'

응답 예시

1{
2 "common": {
3 "authCode": "A000",
4 "authResult": "Success",
5 "infobankTrId": "Infobank-Tracking-Id"
6 },
7 "data": {
8 "code": "A000",
9 "result": "SUCCESS",
10 "resultMsg": "성공",
11 "provider": "kakao",
12 "userRef": "social-token-expire-001"
13 }
14}

카카오 싱크 전용

카카오 싱크를 도입한 서비스만 사용할 수 있는 전용 기능입니다.
서비스 약관 동의 상태를 조회/철회/처리할 때 사용하며, 실제 약관 운용 정책은 서비스에서 직접 관리해야 합니다.

서비스 약관 동의 내역 확인

POST/api/verify/v1/social/user/kakao/service-terms

카카오싱크 사용자의 서비스 약관 동의 내역을 조회합니다.

Body Parameters

{}JSON

token

필수 String

사용자 식별 토큰입니다.

result

String

조회 목록 타입입니다. example: agreed_service_terms, app_service_terms.

tags

String

조회할 서비스 약관 태그 목록입니다. 쉼표(,)로 구분합니다.

userRef

String

고객 입력 참조값입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

상품 응답 데이터 영역입니다.

요청 예시

1curl -X POST "https://mars.ibapi.kr/api/verify/v1/social/user/kakao/service-terms" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "token": "58f5edaf-0fc1-3ac7-8fe0-c4453abf0ba1",
6 "result": "agreed_service_terms",
7 "tags": "service_2020_0218,optional_20200616",
8 "userRef": "social-kakao-terms-001"
9 }'

응답 예시

1{
2 "common": {
3 "authCode": "A000",
4 "authResult": "Success",
5 "infobankTrId": "Infobank-Tracking-Id"
6 },
7 "data": {
8 "code": "A000",
9 "result": "SUCCESS",
10 "resultMsg": "성공",
11 "provider": "kakao",
12 "userRef": "social-kakao-terms-001",
13 "kakao": {
14 "id": 111111,
15 "serviceTerms": [
16 { "tag": "service_2020_0218", "required": true, "agreed": true, "revocable": false },
17 { "tag": "optional_20200616", "required": false, "agreed": false, "revocable": true }
18 ]
19 }
20 }
21}

서비스 약관 동의 철회

POST/api/verify/v1/social/user/kakao/service-terms

카카오싱크 서비스 약관 동의를 철회합니다. revocable=true 항목만 철회할 수 있습니다.

Body Parameters

{}JSON

token

필수 String

사용자 식별 토큰입니다.

tags

필수 String

철회할 서비스 약관 태그 목록입니다. 쉼표(,)로 구분합니다.

userRef

String

고객 입력 참조값입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

상품 응답 데이터 영역입니다.

요청 예시

1curl -X POST "https://mars.ibapi.kr/api/verify/v1/social/user/kakao/service-terms" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "token": "58f5edaf-0fc1-3ac7-8fe0-c4453abf0ba1",
6 "result": "agreed_service_terms",
7 "tags": "optional_20200616",
8 "userRef": "social-kakao-revoke-001"
9 }'

응답 예시

1{
2 "common": {
3 "authCode": "A000",
4 "authResult": "Success",
5 "infobankTrId": "Infobank-Tracking-Id"
6 },
7 "data": {
8 "code": "A000",
9 "result": "SUCCESS",
10 "resultMsg": "성공",
11 "provider": "kakao",
12 "userRef": "social-kakao-revoke-001",
13 "kakao": {
14 "id": 111111,
15 "revokedServiceTerms": [
16 { "tag": "optional_20200616", "agreed": false }
17 ]
18 }
19 }
20}

서비스 약관 동의 처리

POST/api/verify/v1/social/user/kakao/service-terms

카카오싱크 서비스 약관 동의 처리 API입니다. 서비스 자체 동의 결과를 카카오 API 플랫폼에 반영할 때 사용합니다.

Body Parameters

{}JSON

token

필수 String

사용자 식별 토큰입니다.

tags

필수 String

동의 처리할 서비스 약관 태그 목록입니다. 쉼표(,)로 구분합니다.

userRef

String

고객 입력 참조값입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

상품 응답 데이터 영역입니다.

요청 예시

1curl -X POST "https://mars.ibapi.kr/api/verify/v1/social/user/kakao/service-terms" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "token": "58f5edaf-0fc1-3ac7-8fe0-c4453abf0ba1",
6 "result": "agreed_service_terms",
7 "tags": "term01,term02",
8 "userRef": "social-kakao-agree-001"
9 }'

응답 예시

1{
2 "common": {
3 "authCode": "A000",
4 "authResult": "Success",
5 "infobankTrId": "Infobank-Tracking-Id"
6 },
7 "data": {
8 "code": "A000",
9 "result": "SUCCESS",
10 "resultMsg": "성공",
11 "provider": "kakao",
12 "userRef": "social-kakao-agree-001",
13 "kakao": {
14 "id": 111111,
15 "agreedServiceTerms": [
16 { "tag": "term01", "agreed": true, "agreedAt": "2026-03-31T08: 33: 25Z", "agreedBy": "KAPI" },
17 { "tag": "term02", "agreed": true, "agreedAt": "2026-03-31T08: 33: 25Z", "agreedBy": "KAPI" }
18 ]
19 }
20 }
21}