간편로그인 API
간편로그인 API
본인명의로 가입한 휴대폰정보(이름, 휴대폰번호)만으로 손쉽게 로그인할 수 있는 패스 간편로그인 API 입니다. 개발하는 웹/앱 방식에 따라 패스 앱으로 푸시(Push) 인증 메시지를 전송하여 인증하는 “푸시(Push) 인증”과 이용기관 앱에서 패스 앱을 실행하여 패스 인증 메시지 전송없이 비밀번호 입력만으로 인증하는 “앱투앱 인증” 방식 중 선택하여 연동할 수 있습니다.
1. RequestLogin - 간편로그인 요청
패스 이용자에게 간편로그인을 요청합니다.
앱투앱 인증 방식을 이용하는 이용기관은 [앱스킴 호출] 을 참고하여 주시기 바랍니다.
def requestLogin(clientCode, requestLogin)
Parameter
순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
---|---|---|---|---|---|
clientCode | String | 12 | Y | 이용기관 코드 | |
Login | Login | - | Y | 간편로그인 요청 정보 |
Return LoginReceipt Throws BarocertException
2. GetLoginStatus - 간편로그인 상태확인
간편로그인 요청 후 반환받은 접수아이디로 진행 상태를 확인합니다.
상태확인 함수는 간편로그인 요청 함수를 호출한 당일 23시 59분 59초까지만 호출 가능합니다.
간편로그인 요청 함수를 호출한 당일 23시 59분 59초 이후 상태확인 함수를 호출할 경우 오류가 반환됩니다.
def getLoginStatus(clientCode, receiptID)
Parameter
순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
---|---|---|---|---|---|
clientCode | String | 12 | Y | 이용기관 코드 | |
receiptID | String | 32 | Y | 접수 아이디 |
Return LoginStatus Throws BarocertException
3. VerifyLogin - 간편로그인 검증
완료된 전자서명을 검증하고 전자서명값(signedData)을 반환 받습니다.
검증 함수는 간편로그인 요청 함수를 호출한 당일 23시 59분 59초까지만 호출 가능합니다.
간편로그인 요청 함수를 호출한 당일 23시 59분 59초 이후 검증 함수를 호출할 경우 오류가 반환됩니다.
패스 보안정책에 따라 검증 API는 1회만 호출할 수 있습니다. 재시도시 오류가 반환됩니다.
def verifyLogin(clientCode, receiptID, loginVerify)
Parameter
순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
---|---|---|---|---|---|
clientCode | String | 12 | Y | 이용기관 코드 | |
receiptID | String | 32 | Y | 접수 아이디 | |
loginVerify | LoginVerify | - | Y | 간편로그인 서명검증 요청정보 |
Return LoginResult Throws BarocertException
4. 앱스킴 호출
4.1 Android
간편로그인을 요청하기 위하여 이용기관은 이용기관 App 에서 패스 App 앱스킴을 호출합니다.
패스 App 앱스킴 호출시 입력한 callbackScheme으로 이용자의 전자서명 결과값 [ResponseCode]를 반환 받습니다.
{scheme}&callbackScheme={clientAppScheme}&packageName={clientPackageName}
Parameter
순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
---|---|---|---|---|---|
scheme | String | - | Y | 간편로그인 요청시 반환된 앱스킴 | |
clientAppScheme | String | - | Y | 패스 앱 인증완료 후 호출될 이용기관 앱스킴 | |
clientPackageName | String | - | Y | 패스 앱 인증완료 후 호출될 이용기관 앱패키지명 |
Return {clientAppScheme}://?code={ResponseCode}
4.2 iOS
간편로그인을 요청하기 위하여 이용기관은 이용기관 App 에서 패스 App 앱스킴을 호출합니다.
패스 App 앱스킴 호출시 입력한 callbackScheme으로 이용자의 전자서명 결과값 [ResponseCode]를 반환 받습니다.
{scheme}&callbackScheme={clientAppScheme}
Parameter
순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
---|---|---|---|---|---|
scheme | String | - | Y | 간편로그인 요청시 반환된 앱스킴 | |
clientAppScheme | String | - | Y | 패스 앱 인증완료 후 호출될 이용기관 앱스킴 |
Return {clientAppScheme}://?code={ResponseCode}
4.3 ResponseCode
순번 | code | 설명 |
---|---|---|
E0000 | 성공 | |
E3001 | 패스 서비스 미가입자 | |
E3002 | 패스 인증서 미발급자 | |
E3003 | 사용자 인증 시 취소 또는 서명 과정 중 취소 | |
E3004 | 사용자 인증 시 인증 실패 (생체 인증 실패 등) | |
E3005 | 단말 네트워크 환경 등으로 인한 통신 실패 | |
E3006 | 통신사 서버에서 에러 발생 | |
E3007 | 인증서 Library 서명에서 에러 발생 | |
E3999 | 기타 오류 |
5. 객체정보
5.1. BarocertException
순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
---|---|---|---|---|---|
Code | Integer | - | Y | API 처리에 대한 응답코드 | |
message | String | - | Y | API 처리에 대한 응답메시지 |
5.2. Login
순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
---|---|---|---|---|---|
receiverHP | String | 11 | Y | 수신자 휴대폰번호 → 하이픈(-) 제외하고 입력 |
|
receiverName | String | 80 | Y | 수신자 성명 | |
receiverBirthday | String | 8 | N | 수신자 생년월일 → 형식: yyyyMMdd |
|
reqTitle | String | 40 | Y | 간편로그인 요청 메시지 제목 | |
reqMessage | String | 500 | Y | 간편로그인 요청 메시지 내용 | |
callCenterNum | String | 12 | Y | 고객센터 연락처 | |
expireIn | Integer | 4 | Y | 요청 만료시간 → 최대: 1000초(s) / 권장: 300초(s) |
|
token | String | 2800 | Y | 원문 | |
userAgreementYN | Boolean | - | N |
사용자 동의 필요 여부
|
|
receiverInfoYN | Boolean | - | N |
사용자 정보 포함 여부
|
|
appUseYN | Boolean | - | N |
앱투앱 인증 방식 이용 여부
|
|
telcoType | String | 3 | 조건부 |
통신사 유형
|
|
deviceOSType | String | 7 | 조건부 |
모바일장비 운영체제
|
5.3. LoginVerify
순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
---|---|---|---|---|---|
receiverHP | String | 11 | Y | 수신자 휴대폰번호 → 하이픈(-) 제외하고 입력 |
|
receiverName | String | 80 | Y | 수신자 성명 |
5.4. LoginReceipt
순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
---|---|---|---|---|---|
receiptID | String | 32 | Y | 접수아이디 | |
scheme | String | - | N | 앱스킴 | |
marketUrl | String | - | N | 앱 다운로드 URL |
5.5. LoginStatus
순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
---|---|---|---|---|---|
receiptID | String | 32 | Y | 접수아이디 | |
clientCode | String | 12 | Y | 이용기관 코드 | |
state | Integer | 1 | Y |
상태
|
|
requestDT | String | 14 | Y | 전자서명 요청일시 → 형식: yyyyMMddHHmmss |
|
completeDT | String | 14 | N | 전자서명 완료일시 → 형식: yyyyMMddHHmmss |
|
expireDT | String | 14 | Y | 전자서명 만료일시 → 형식: yyyyMMddHHmmss |
|
rejectDT | String | 14 | N | 전자서명 거절일시 → 형식: yyyyMMddHHmmss |
5.6. LoginResult
순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
---|---|---|---|---|---|
receiptID | String | 32 | Y | 접수아이디 | |
state | Integer | 1 | Y |
상태
|
|
receiverName | String | 80 | N | RSA 암호화 수신자 성명 | |
receiverYear | String | 4 | N |
RSA 암호화
수신자 출생년도
→ 형식 : yyyy |
|
receiverDay | String | 4 | N |
RSA 암호화
수신자 출생월일
→ 형식 : MMdd |
|
receiverGender | String | 1 | N |
RSA 암호화
수신자 성별
|
|
receiverForeign | String | 1 | N |
RSA 암호화
외국인 여부
|
|
receiverTelcoType | String | 3 | N |
RSA 암호화
통신사 유형
|
|
signedData | String | - | Y | 전자서명값 | |
ci | String | - | Y | RSA 암호화 CI |