휴대폰번호 로그인 가이드

개발 가이드

상세 API목록

1. 휴대폰번호 로그인 사용자 프로필 조회 API
1.1 설명
  • 액세스 토큰에 해당하는 휴대폰번호 로그인 사용자의 프로필을 조회합니다.
  • 유효한 액세스 토큰(Access Token)에 대해 1회만 조회 가능합니다.
  • 애플리케이션 등록 시 제공하기로 협의된 정보만 제공됩니다.
  • 데이터 암호화 필요

[자동로그인 관련]

  • SKT 사용자에 한해서만 기능을 제공합니다.
  • 사용자에게 발급 된 자동로그인 정보는 2주간 유효합니다.
  • 자동로그인 해지는 SKT PASS앱 내 자동로그인 설정 메뉴를 통해 제공됩니다.
  • SKT PASS 앱에서 PASS 로그인 서비스를 해지 할 경우 자동로그인 기능은 즉시 해지됩니다.
  • 자동로그인 기능을 사용하는 사용자의 프로필 조회 결과는 최초 성공 시 자동로그인 여부를 포함하고, 이후 성공 시에는 사용자 식별정보와 자동로그인 여부만 포함하기 때문에 제휴사에서는 사용자 식별정보를 반드시 DB로 관리해야 합니다.
1.2 요청 URL

URL : https://id.passlogin.com/v1/user/me

1.3 프로토콜

HTTPS

1.4 HTTP메서드

GET

1.5 요청헤더
Authorization: Bearer {access_token}
1.6 요청 파라미터

요청 파라미터는 없습니다.

요청 파라미터에 대해서 파라미터, 타입, 필수 여부, 설명으로 분류되어 제공되는 테이블
파라미터 타입 필수 여부 설명
- - - -
1.7 요청 예
curl 'https://id.passlogin.com/v1/user/me'
-H 'Authorization:Bearer v+nIMm/LZZcE65H0bEdRfwmQGuGObWS8SFIxQC2ShJ1qwR2+E0MSQ/BqW3wTwvqD26i/d8gsdrNcbbvSTvcY1g=='
1.8 응답

[최초 로그인/자동로그인 미사용시]

응답에 대해서 파라미터, 타입, 필수 여부로 분류되어 제공되는 테이블
파라미터 타입 필수 여부 설명
user plid String 필수 휴대폰번호 로그인 사용자 식별 아이디
* [PASS 앱 탈퇴/ PASS 로그인 해지] 시 PLID 함께 삭제
* [PASS 앱/ PASS 로그인 재가입] 시 PLID 변경
ci Encrypt(String) 옵션 PASS 사용자 식별 정보
phoneNo Encrypt(String) 옵션 PASS 사용자 휴대전화번호
name Encrypt(String) 옵션 PASS 사용자 이름
gender String 옵션 PASS 사용자 성별 (F:여자, M:남자)
agegroup String 옵션 PASS 사용자 연령대 (0, 10, 20, 30, ....)
0 : 0세~10세 미만
10 : 10세~20세 미만
20: 20세~30세 미만
birthday Encrypt(String) 옵션 PASS 사용자 생일 (MMDD)
birthdate Encrypt(String) 옵션 PASS 사용자 생년월일 (YYMMDD)
foreign String 옵션 PASS 사용자 내외국인정보 (L:내국인, F:외국인)
telcoCd String 옵션 PASS 사용자 통신사 코드 (S:skt, K:kt, L:lgt)
autoLoginYn String 옵션 자동로그인 사용자 여부 (Y: 자동로그인 사용자, N: 미사용자)
autoStatusCheck String 옵션 자동로그인 접속 체크 (Y : 최초 자동로그인, N : 최초가 아니거나, 미사용자)

[자동로그인 시]

응답에 대해서 파라미터, 타입, 필수 여부로 분류되어 제공되는 테이블
파라미터 타입 필수 여부 설명
user plid String 필수 휴대폰번호 로그인 사용자 식별 아이디
* [PASS 앱 탈퇴/ PASS 로그인 해지] 시 PLID 함께 삭제
* [PASS 앱/ PASS 로그인 재가입] 시 PLID 변경
ci Encrypt(String) 옵션 빈값으로 전송
phoneNo Encrypt(String) 옵션 빈값으로 전송
name Encrypt(String) 옵션 빈값으로 전송
gender String 옵션 빈값으로 전송
agegroup String 옵션 빈값으로 전송
birthday Encrypt(String) 옵션 빈값으로 전송
birthdate Encrypt(String) 옵션 빈값으로 전송
foreign String 옵션 빈값으로 전송
telcoCd String 옵션 빈값으로 전송
autoLoginYn String 옵션 자동로그인 사용자 여부 (Y: 자동로그인 사용자)
autoStatusCheck String 옵션 자동로그인 접속 체크 (N : 최초로그인이 아님)
1.9 응답 예
[최초 로그인/자동로그인 미사용시]
HTTP/1.1 200 OK
{
    "code":"0000",
    "error":"success",
    "message":"성공입니다.",
    "user": {
        "plid": "de0d3c4c-a0a4-425a-981a-63ae7110dfc9",
        "ci": "7lZvMLDBN5hcv2c5IxZ4kg==",
        "phoneNo": "TEmhcQ9TBJmRPn69sWGHog==",
        "name": "0XQHxay6zdlqlxdsph9tGA==",
        "gender": "",
        "agegroup": "",
        "birthday": "7YNtESA2Uih8tlbwsNv13A==",
        "birthdate": "4s//GFT53v3aeY0ojuTLTw==",
        "foreign": "",
        "telcoCd": "L",
        "autoLoginYn": "Y",
        "autoStatusCheck": "Y"
    }
}

[자동로그인 시]
HTTP/1.1 200 OK
{
    "code":"0000",
    "error":"success",
    "message":"성공입니다.",
    "user": {
        "plid": "de0d3c4c-a0a4-425a-981a-63ae7110dfc9",
        "ci": "{Empty String이 암호화 됨}",
        "phoneNo": "{Empty String이 암호화 됨}",
        "name": "{Empty String이 암호화 됨}",
        "gender": "",
        "agegroup": "{Empty String이 암호화 됨}",
        "birthday": "{Empty String이 암호화 됨}",
        "birthdate": "",
        "foreign": "",
        "telcoCd": "",
        "autoLoginYn": "Y",
        "autoStatusCheck": "N"
    }
}
								
1.10 복호화 가이드
  • 복호화 방식으로는 AES 로 복호화합니다.
  • 복호화 Key 는 개발자센터에서 부여받은 애플리케이션의 secret key 의 16자리입니다.
/** For JAVA */
String aesKey = "{{client_secret}}".substring(0,16);
String algorithm = "AES/CBC/PKCS5Padding";
IvParameterSpec iv = new IvParameterSpec(aesKey.getBytes());
SecretKey secretKey = new SecretKeySpec(aesKey.getBytes(), "AES");
Cipher c = Cipher.getInstance(algorithm);
c.init(Cipher.DECRYPT_MODE, secretKey, iv);
String name = "{{암호화된 값으로 받은 이름}}";
String decriptName = new String(c.doFinal(Base64.getDecoder().decode(name.getBytes(charset))));
								
  • 복호화 응답 예
{
  "code": "0000",
  "error": "",
  "message": "성공입니다.",
  "user": {
    "plid": "de0d3c4c-a0a4-425a-981a-63ae7110dfc9",
    "ci": "abcd",
    "phoneNo": "01034520347",
    "name": "홍길동",
    "gender": "",
    "agegroup": "",
    "birthday": "0620",
    "birthdate": "800620",
    "foreign": "",
    "telcoCd": "L"
  }
}
								
2. 휴대폰번호 로그인 연결해제 API
2.1 설명
  • 휴대폰번호 로그인 연결해제를 요청합니다.
  • 휴대폰번호 로그인 플랫폼에서는 해당 제휴사의 사용자 연동정보를 해제하고, 제휴사에서는 연결해제 요청한 사용자의 휴대폰번호 로그인 식별정보를 삭제해야 합니다.
2.2 요청 URL

URL : https://id.passlogin.com/v1/user/disconnect

2.3 프로토콜

HTTPS

2.4 HTTP메서드

POST

2.5 요청헤더
Authorization: Basic {base64_encode({client_id}:{client_Secret})}
Content-Type: application/x-www-form-urlencoded
2.6 파라미터
파라미터에 대해서 파라미터, 타입, 필수 여부, 설명으로 분류되어 제공되는 테이블
파라미터 타입 필수 여부 설명
plid String Y 휴대폰번호 로그인 사용자 식별 아이디
2.7 요청 예
curl -X POST
'https://id.passlogin.com/v1/user/disconnect'
-H 'Authorization: Basic Y2xpZW50SWQyOm1DbGllbnRTZWNyZXQ='
-H 'Content-Type: application/x-www-form-urlencoded'
-d 'plid=084b2f3d-358e-4433-b857-1680a9ef3a5b'
2.8 응답
응답에 대해서 파라미터, 타입, 설명으로 분류되어 제공되는 테이블
파라미터 타입 설명
- - -
2.9 응답 예
HTTP/1.1 200 OK
{
    "code": "0000",
    "error": "success",
    "message": "성공입니다."
}