SSO 연동을 통한 워드프레스 로그인 페이지 추가 건

현재 워드프레스 회원가입 폼에 SSO 연동을 추가하려고 합니다.

SSO 연동을 통해서 내부 관련자만 회원 가입을 가능하게끔 구성하는 것이 목표 입니다.

그 밖의 자세한 내용은 연락 부탁 드리며, 금액 협의 또한 가능하오니 금액 제시 부탁 드립니다.

 

Method : POST

Parameter : 

- client_id : 서비스 ID (필수)

- redirect_url : 로그인 결과를 수신할 해당 서비스의 URL (필수)

 

[POST통합 로그인 서비스 요청 ]

<script language="JavaScript">

    function submitform()

    {

        document.testForm.submit();

    }

</script>

<form action="https://x.x.x.x/api/sso/commonLogin" method="post" name="testForm">

    client id : <input type="text" name="client_id" value="aMlzg4hH00K"/></br>

    client secret : <input type="text" name="client_secret" value="N/A"/></br>

             redirect url : <input type="text" name="redirect_url" value="https://localhost:port/redirectUri.jsp"/></br>

             <a href="javascript: submitform()">Do Submit</a>

</form>

 

[단일 인증(통합 로그인) 서비스 결과 리턴]

success

값:true, or false 문자열

k_uid

XXXUid

result

사용자 정보 JSON 문자열 String (아래 설명)

 

 

[JSON result 값]

error

에러 발생 여부 (true면 에러)

errorCode

에러 발생 이유 코드

errorMessage

에러 메시지

dataMap

사용자 정보 등 결과를 가지고 있는 객체

- USER_INFO : 사용자 정보 64개 필드로 구성됨.

(서비스 별로 필드 구성이 다름, XXX_uid는 필수 리턴 값임)

 

 

 [ 업무시스템에서 보내준redirect_url 에서 정보 받는 예시]

<?php

    // 성공여부 true or false 문자열

    $success = $_POST['success'];

   

    // kaistUid

    $XXXUid = $_POST['k_uid'];

   

    // Json 객체 String

    $resultStr = $_POST['result'];

    $result = json_decode($resultStr, true);

 

// 사용자 정보

$userInfofo = $result['dataMap']['USER_INFO'];

            

?>

   XXXUid:<?php echo $XXXUid; ?>

 

[ result 파라미터(Json 문자열)  예시] (5. 사용자 정보 항목 참고)

{

   "error":false,

   "errorCode":null,

   "errorMessage":null,

   "dataMap":{

               "USER_INFO":{

                            "ku_std_no":null,

                            "XXX_uid":"00050768",

                            "ku_employee_number":"26201"

               }

   }

}

 

로그아웃(SSO)

어플리케이션 자체에서 로그 아웃을 수행하기 위해서는 브라우저를 닫거나 아래의 SSO 과련 암호화 되어 있는 쿠키를 삭제 해주면 됩니다.

 

[ SSO logout 예제] ( sso 관련 쿠키 제거)

<?php

/**

 * 로그 아웃 예제

 */         

 

$loginCookieNames = array(

    'InitechEamUID_V42',

    'InitechEamUIP_V42',

    'InitechEamULAT_V42',

    'InitechEamUTOA_V42',

    'InitechEamUPID_V42',

    'InitechEamUHMAC_V42'

);

 

foreach ( $_COOKIE as $key => $value ) {

    if( in_array($key, $loginCookieNames) ) {

        setCookie($key,'',(time()-3600),'/','.XXX', false,true);

    }

   

}

 

?>

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • ※ 아직 지원자가 없습니다.

※ 프로젝트에 지원하기 위해서는 코스모스팜에 로그인이 필요합니다.

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기