Developers
제휴사 연동

보안 요구사항

전송·인증·식별자·세션 등 연동 전 구간에 적용되는 보안 항목입니다.

연동의 모든 구간에 적용되는 보안 항목입니다. 출시 전에 꼭 확인해 주세요.

항목요구사항
전송모든 API·콜백·페이지는 HTTPS(TLS)만 사용합니다.
서버 간 인증쏠브는 제휴사가 발급한 시크릿을 헤더에 담아 호출합니다. 제휴사는 상수 시간 비교로 확인하고, 쏠브는 시크릿을 안전하게 보관하며 로그에 남기지 않습니다.
user_key한 번 정한 값은 절대 바뀌지 않고, 회원끼리 겹치지 않아야 합니다. 탈퇴 회원의 값을 다시 쓰면 안 됩니다.
자격증명ⓐ 에서는 쏠브가 ID/PW 를 TLS 서버 간 호출로만 전달하고 로그에 남기지 않습니다. ⓑ 에서는 ID/PW 가 쏠브로 전달되지 않습니다.
ⓑ 콜백로그인에 성공한 경우에만 제휴사 서버에서, 쏠브가 발급한 콜백 인증 시크릿(Authorization: Bearer)을 담아 호출합니다.
ⓑ 세션쏠브는 연동을 시작한 웹뷰에 1회용 토큰을 발급해 재생 공격·CSRF 를 막고, redirect_url 에 만료 시간이 있는 서명을 담아 회원 식별자 위변조를 막습니다. redirect_url 은 수정하지 말고 같은 웹뷰에서 여세요. 제휴사가 state·nonce 를 따로 구현할 필요는 없습니다.
호출량rate limit 은 두지 않아도 됩니다. 둔다면 분당 600회(초당 10회) 이상으로 잡아 주세요. 쏠브는 책장 진입·전체 동기화 때 몰아서 호출하고, 일시 장애 때 재시도합니다.
시크릿 회전제휴사가 발급한 API 시크릿: 바꾸실 때는 미리 알려 주세요. 새 값과 옛 값을 함께 받아 주시는 동안 쏠브가 새 값으로 바꿉니다(반영까지 최대 5분). 바뀐 것을 확인하신 뒤 옛 값을 폐기하시면 됩니다.
쏠브가 발급한 콜백 인증 시크릿: 쏠브가 새 값을 드리고, 일정 기간 새 값과 옛 값을 함께 받습니다. 그 기간 안에 새 값으로 바꿔 주세요.

같은 제휴사 계정을 다른 쏠브 계정에 연동하면

이미 다른 쏠브 사용자에게 연동된 제휴사 회원이 새로 연동하면, 이전 연동을 해제하고 새 사용자에게 옮깁니다. 제휴사는 user_key 의 불변·유일성만 지키면 되고, 이전 처리는 쏠브가 합니다.

관련 문서

이 페이지 목차