코드 샘플: WordPress 플러그 인

업데이트: 2015년 6월 19일

Azure에 적용합니다.

ACS WordPress 플러그 인을 사용하면 WordPress 호스트가 ACS를 사용하여 WordPress 사이트에 페더레이션된 로그인을 사용하도록 설정할 수 있습니다.

WordPress 관리자는 Microsoft Azure Active Directory Access Control(Access Control 서비스 또는 ACS라고도 함)를 사용하여 사이트와 ID 공급자(예: Windows) 간에 트러스트 관계를 만들 수 있습니다. 라이브 ID, Facebook, Google, Yahoo!, Microsoft Active Directory Federation Services 2.0과 같은 사용자 지정 ID 공급자 ACS WordPress 플러그 인은 ACS 구성에 따라 사용자 지정 로그인 페이지를 렌더링하고 최종 사용자가 선택한 식별 공급자를 사용하여 WordPress 사이트에 로그인할 수 있도록 합니다.

WordPress 플러그 인을 다운로드하려면 http://wordpress.org/extend/plugins/acs-plugin-for-wordpress/

기능

  • Windows Live ID, Facebook, Google, Yahoo!또는 ACS에 구성된 사용자 지정 웹 기반 ID 공급자를 사용하여 WordPress에 인증

  • WordPress 사이트 구독자가 쉽게 등록할 수 있습니다.

  • 페더레이션 계정을 사용하여 WordPress 사이트를 관리할 수 있습니다.

  • 페더레이션 계정은 일반적인 사용자 계정과 동일하며 로컬 암호 기반 인증에 대한 대체를 지원합니다.

  • WS-Federation 프로토콜 및 단순 웹 토큰을 사용하여 ACS와 통합

요구 사항

  • Azure 홈페이지의 Microsoft Azure 계정입니다.

  • Access Control 네임스페이스입니다. 자세한 내용은 방법: Access Control 네임스페이스 만들기를 참조하세요.

  • PHP 5.0 이상을 실행하는 웹 호스트

  • WordPress 3.0 이상을 실행하는 웹 호스트

ACS WordPress 플러그 인 구성

ACS WordPress 플러그 인을 구성하는 세 가지 부분이 있습니다.

  • WordPress 플러그 인에 대한 ACS 구성

  • WordPress 플러그 인 설정 구성

  • WordPress 플러그 인 사용

WordPress 플러그 인에 대한 ACS 구성

ACS 관리 포털을 사용하여 ACS를 구성할 수 있습니다.

WordPress 플러그 인에 대한 ACS를 구성하려면

  1. Microsoft Azure 관리 포털(https://manage.WindowsAzure.com)로 이동하여 로그인한 다음 Active Directory를 클릭합니다. (문제 해결 팁: "Active Directory" 항목이 없거나 사용할 수 없음)

  2. Access Control 네임스페이스를 만들려면 새로 만들기, App Services, Access Control, 빨리 만들기를 차례로 클릭합니다. 또는 새로 만들기를 클릭하기 전에 Access Control 네임스페이스를 클릭합니다.

  3. Access Control 네임스페이스를 관리하려면 네임스페이스를 선택한 다음 관리를 클릭합니다. 또는 Access Control 네임스페이스를 클릭하고 네임스페이스를 선택한 다음 관리를 클릭합니다.

    이 작업을 수행하면 액세스 제어 서비스 관리 포털이 열립니다.

  4. 웹 사이트의 사용자가 로그인할 때 사용하도록 할 ID 공급자와의 관계를 설정하려면 ID 공급자를 클릭한 후 사이트의 ID 공급자를 선택합니다.

  5. ACS에 WordPress 사이트를 등록하려면 신뢰 당사자 애플리케이션을 클릭하고 추가를 클릭하고 양식에 다음 정보를 입력한 다음 저장을 클릭합니다.

    • 이름 필드에 사이트의 표시 이름을 입력합니다.

    • 영역 필드에 WordPress 사이트의 기준 URL을 입력합니다. 예를 들면 다음과 같습니다. http://127.0.0.1/wordpress/

    • 반환 URL 필드에 WordPress 사이트에 있는 wp-login.php 파일의 URL을 입력합니다. 예를 들면 다음과 같습니다. http://127.0.0.1/wordpress/wp-login.php

    • 토큰 형식 필드에서 SWT를 선택합니다. 이렇게 하면 사용자가 성공적으로 인증할 때마다 SWT(Simple Web Token)를 WordPress 플러그 인에 보내도록 ACS가 구성됩니다.

    • ID 공급자 필드에서 사이트에서 지원하려는 ID 공급자를 선택합니다.

    • 토큰 서명 키 필드에서 생성을 클릭하여 토큰 서명 키를 만듭니다. 나중에 플러그 인 구성에서 사용할 수 있도록 이 키를 복사합니다.

    • 만료 날짜 필드에 키의 적절한 만료 날짜를 입력합니다. 이 날짜부터 키는 더 이상 유효하지 않게 됩니다.

    • 다른 필드는 기본값으로 그대로 둡니다.

  6. 다음으로 ACS가 사이트에 보내는 사용자 정보를 결정하는 규칙을 만듭니다. 이 예제에서는 ID 공급자가 발급한 모든 클레임을 보냅니다. 이 규칙을 만들려면 규칙 그룹, 내 WordPress 사이트에 대한 기본 규칙 그룹, 생성을 차례로 클릭합니다. 해당 ID 공급자가 선택되어 있는지 확인하고 다시 생성을 클릭합니다.

    중요

    입력 클레임 유형이 사용자를 고유하게 식별하는 것은 매우 중요합니다. 사용할 클레임 유형을 모르는 경우 해당 ID 공급자의 관리자에게 문의하세요.

    AD FS 2.0과 같은 사용자 지정 WS-Federation ID 공급자를 사용하는 경우 이 ID 공급자에서 nameidentifier 클레임을 반환하는 규칙이 있는지 확인합니다. 이 클레임은 사용자의 고유 ID를 WordPress 응용 프로그램에 보냅니다. 이 규칙이 없는 경우 해당 ID 공급자에서 반환된 고유 ID 클레임을 nameidentifier 클레임 유형에 매핑하는 규칙을 만들어야 합니다.

WordPress 플러그 인 설정 구성

WordPress 플러그 인 설정을 구성하려면

  1. 에서 WordPress 사이트에서 WordPress 플러그 인 다운로드 http://wordpress.org/extend/plugins/acs-plugin-for-wordpress/

  2. 다운로드한 폴더에서 acs-wp-plugin-config-sample.php 파일을 엽니다.

  3. ACS_NAMESPACE 필드에 mynamespace.accesscontrol.windows.net 같은 Access Control 네임스페이스의 정규화된 도메인 이름을 입력합니다. 도메인 이름을 찾으려면 ACS 포털에서 애플리케이션 통합을 클릭합니다. 해당 값은 엔드포인트 참조 섹션의 관리 포털 필드에 나타납니다.

  4. ACS_APPLICATION_REALM 상수의 경우 ACS에 WordPress 사이트를 신뢰 당사자 애플리케이션으로 등록할 때 입력한 영역을 입력합니다. 예를 들면 다음과 같습니다http://127.0.0.1/wordpress/.

  5. ACS_TOKEN_SIGNING_KEY 필드에 WordPress 사이트를 신뢰 당사자 응용 프로그램으로 등록할 때 만든 토큰 서명 키를 입력합니다. 이 키는 암호를 취급할 때처럼 안전한 방식으로 취급하세요.

  6. 파일을 acs-wp-plugin-config.php로 저장합니다.

    중요

    acs-wp-plugin-config.php 파일에는 권한 없는 사용자로부터 보호되어야 하는 중요한 정보가 포함됩니다. 이 파일에 대한 적절한 권한을 설정하고 브라우저를 통한 이 파일에 대한 직접 액세스를 거부하도록 웹 서버를 구성하는 것이 좋습니다. Apache 웹 서버의 경우 아래 코드를 .htaccess라는 파일에 복사하고 이 파일을 acs-wp-plugin-config.php 파일과 동일한 디렉터리에 배치합니다.

    # protect acs-wp-plugin-config.php
    <files acs-wp-plugin-config.php>
    order allow,deny
    deny from all
    </files>
    

WordPress 플러그 인 사용

WordPress 플러그 인을 사용하도록 설정하려면

  1. acs-plugin-for-wordpress 폴더를 WordPress 설치의 /wp-content/plugins/ 폴더에 복사합니다.

  2. 웹 브라우저에서 WordPress 사이트로 이동하여 관리자로 로그인합니다.

  3. 사이트 관리 영역에서 플러그 인을 클릭합니다. WordPress용 ACS 플러그 인 페이지가 나타납니다.

  4. WordPress의 ACS 플러그 인에서 활성화를 클릭합니다. 이제 사이트에서 ACS WordPress 플러그 인을 사용할 수 있습니다.

WordPress 플러그 인 테스트

WordPress 플러그 인을 테스트하려면

  1. 플러그 인을 테스트하려면 WordPress 사이트에서 로그아웃하고 사이트의 기본 페이지에서 로그인을 선택합니다.

    로그인 페이지에는 ACS에서 구성한 각 ID 공급자에 대해 하나의 단추가 표시됩니다.

  2. ID 공급자를 선택하고 로그인합니다.

  3. 인증되면 WordPress 사이트의 사용자 이름을 만들라는 메시지가 표시됩니다. Windows 라이브 ID를 사용하여 로그인한 경우 전자 메일 주소도 입력하라는 메시지가 표시됩니다.

구독자 역할의 새 WordPress 계정이 만들어지고 WordPress 프로필 페이지로 리디렉션됩니다. 후속 방문의 경우 로그인할 ID 공급자를 클릭합니다. 사용자 이름 또는 전자 메일 주소를 입력하라는 메시지가 표시되지 않습니다.

참고

관리자 계정은 페더레이션 구독자 계정을 관리자 상태로 승격할 수 있으므로 페더레이션 계정을 사용하여 사이트를 관리합니다.

참고

  • 각 사용자에 대해 라이브 ID를 Windows 고유 ID는 Access Control 네임스페이스에 따라 다릅니다. Access Control 네임스페이스를 이름이 다른 Access Control 네임스페이스로 바꾸면 Windows Live ID 계정으로 인증된 사용자는 사이트에 로그인할 수 없습니다. Access Control 네임스페이스를 변경해야 하는 드문 경우 이러한 사용자는 WordPress 암호 재설정 기능을 사용하여 로컬 암호를 사용하여 로그인할 수 있습니다.