✅ A,B SSO 연결시 그룹코드 공유방법
→ A (refo.co.kr; SSO 서버 또는 ID 제공자_ Identity Provider; IdP), B (refo.us; SSO 클라이언트) 라고 함.
→ B에서 엔드포인트 주소 커스텀 설정 필요
✅ “WP OAuth Server – CE” 플러그 인 사용시 설정법 (현재 설치, 운영중인 플러그인)
✅ WP OAuth Server – CE” (OAuth2 / OpenID Connect)
→ 사용자가 A에서 로그인한 뒤, A는 액세스 토큰(또는 ID 토큰)을 B에게 전달해 줘요.
B는 이 토큰만으로 사용자가 누구인지 확신할 수 없어요.
이 토큰을 A의 **/userinfo**나 토큰 검증 API에 다시 보내서 👉 “이 토큰 진짜야? 누구 거야?” 확인해야 해요.
✅ 만약 엔드포인트를 확인 안 하면…
→ B는 “이 토큰이 진짜 A가 준 건지”, “이 사용자 ID가 맞는지”를 검증할 수 없어서 보안적으로 위험!
예를 들어 누군가 위조한 토큰을 B에게 보내면, B가 속을 수 있어요.
✅ 결론
✔️ 엔드포인트를 통한 확인은 “이 토큰으로 A에서 로그인 인증된 사용자 정보를 가져오는” 표준 보안 절차예요.
✔️ B가 A의 엔드포인트를 확인하지 않으면, 사용자가 누구인지 정확히 확인할 수 없어요.
B가 A의 엔드포인트 확인시 그룹코드를 반환 받을수 있음
그룹코드 공유 가능한 방식
그룹코드 포함하여 A(refo.co.kr서버)의 /userinfo 엔드포인트를 구현.
워드프레스 사용자 메타에서 group_code를 조회해서 JSON에 넣기를 완료함
✅OAuth2나 OpenID Connect에서는 /userinfo 엔드포인트 URL을 B(클라이언트)가 **“Discovery Document”**나 클라이언트 설정에서 직접 지정 필요.
✅ 즉, B의 개발자가 A의 기본 /oauth2/userinfo 말고, 아래 주소로 SSO 요청 로직을 바꿔주면 됩니다.
✅ SSO 적용
1️⃣ 사용자 → B에서 로그인 시도
2️⃣ B는 A에서 인증받고 액세스 토큰 발급
3️⃣ B가 “/userinfo”를 기본이 아닌, 별도 코드로 만든 엔드포인트로 지정
👉 https://refo.co.kr/wp-json/custom/v1/userinfo
4️⃣ B가 이 엔드포인트를 호출 → A에서 group_code 포함된 JSON을 반환
