本文件已封存並已停止維護。

程式碼範例:WordPress 外掛程式

發佈時間: 2011年5月

更新日期: 2015年6月

適用於: Azure

ACS WordPress 外掛程式可讓 WordPress 主機使用 ACS,對其 WordPress 網站啟用同盟登入。

WordPress 管理員可以使用 Microsoft Azure Active Directory 存取控制服務 (也稱為「存取控制服務」或 ACS) 來建立其網站與身分識別提供者 (例如 Windows Live ID、Facebook、Google、Yahoo! 以及 Microsoft Active Directory Federation Services 2.0 等自訂身分識別提供者) 之間的信任關係。ACS WordPress 外掛程式會根據 ACS 組態來呈現自訂登入頁面,並且讓使用者使用其所選的身分識別提供者來登入 WordPress 網站。

若要下載 WordPress 外掛程式,請參閱 http://wordpress.org/extend/plugins/acs-plugin-for-wordpress/

  • 使用 Windows Live ID、Facebook、Google、Yahoo! 或在 ACS 中設定的自訂 Web 型身分識別提供者,對 WordPress 進行驗證。

  • 讓 WordPress 網站訂閱者輕鬆註冊

  • 使用同盟帳戶管理 WordPress 網站

  • 同盟帳戶與一般使用者帳戶一樣,可支援回到使用本機密碼型驗證

  • 使用 WS-同盟通訊協定和簡單 Web 權杖來與 ACS 整合

  • Azure 首頁上的 Microsoft Azure 帳戶。

  • 存取控制命名空間。如需詳細資訊,請參閱作法:建立存取控制命名空間

  • 執行 PHP 5.0 或更新版本的 Web 主機

  • 執行 WordPress 3.0 或更新版本的 Web 主機

設定 ACS WordPress 外掛程式可分為三個部分:

  • 設定 WordPress 外掛程式的 ACS

  • 設定 WordPress 外掛程式設定

  • 啟用 WordPress 外掛程式

您可以使用 ACS 管理入口網站來設定 ACS。

  1. 移至 Microsoft Azure 管理入口網站 (https://manage.WindowsAzure.com),登入後按一下 [Active Directory]。(疑難排解提示:"Active Directory" 項目遺失或無法使用)

  2. 若要建立存取控制命名空間,請依序按一下 [新增][應用程式服務][存取控制][快速建立]。(或是先按一下 [新增] 再按一下 [存取控制命名空間])。

  3. 若要管理存取控制命名空間,請選取該命名空間,然後按一下 [管理]。(或按一下 [存取控制命名空間]、選取 [命名空間],然後按一下 [管理])。

    此動作可開啟「存取控制服務」管理入口網站。

  4. 若要為網站的使用者建立可在登入時使用的身分識別提供者關係,請按一下 [身分識別提供者] 連結,然後選取您網站的身分識別提供者。

  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]。這會將 ACS 設定成在使用者驗證成功時,將簡單 Web 權杖 (SWT) 傳送至 WordPress 外掛程式。

    • 在 [身分識別提供者] 欄位中,選取您的網站所要支援的身分識別提供者。

    • 在 [權杖簽署金鑰] 欄位中按一下 [產生],以建立權杖簽署金鑰。複製此金鑰,以供後續設定外掛程式時使用。

    • 在 [到期日] 欄位中,為金鑰輸入適當的到期日。到達此日期後,金鑰即失去效用。

    • 將其他欄位保留為預設值。



  6. 接著,建立相關規則,以決定 ACS 傳送至您的網站的使用者資訊。在此範例中,我們會傳送身分識別提供者所發出的所有宣告。若要建立此規則,請按一下 [規則群組],按一下 [我的 WordPress 網站的預設規則群組],然後按一下 [產生]。確認已選取您的身分識別提供者,再按一下 [產生]。

    Important重要事項
    輸入宣告類型可唯一識別使用者是極為重要的。如果您不確定要使用哪個宣告類型,請連絡身分識別提供者的管理員。

    如果您採用自訂 WS-同盟身分識別提供者 (例如 AD FS 2.0),請確定有一條規則可從此身分識別提供者傳回 nameidentifier 宣告。此宣告會將使用者的唯一 ID 傳送至 WordPress 應用程式。如果沒有此規則,您必須建立一條規則,可將身分識別提供者傳回的唯一 ID 宣告對應至 nameidentifier 宣告類型。

  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。若要尋找網域名稱,請按一下 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

    Important重要事項
    acs-wp-plugin-config.php 檔案內有必須防範未經授權的使用者取得的機密機訊。建議您在此檔案上設定適當的權限,並將您的 Web 伺服器設定成拒絕透過瀏覽器直接存取此檔案。若為 Apache Web 伺服器,請將以下程式碼複製到名為 .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>
    
    

  1. acs-plugin-for-wordpress 資料夾複製到 WordPress 安裝的 /wp-content/plugins/ 資料夾。

  2. 在 Web 瀏覽器中,瀏覽至您的 WordPress 網站並以管理員的身分登入。

  3. 在網站管理區域中,按一下 [外掛程式]。[適用於 WordPress 的 ACS 外掛程式] 頁面隨即出現。

  4. 在 [適用於 WordPress 的 ACS 外掛程式] 之下,按一下 [啟動]。ACS WordPress 外掛程式現已在您的網站上啟用。

  1. 若要測試外掛程式,請登出 WordPress 網站並選取網站主頁面上的 [登入]。

    登入頁面會為您在 ACS 中設定的每個身分識別提供者顯示一個按鈕。

  2. 選取身分識別提供者並登入...

  3. 當您經過驗證後,系統會要求您建立 WordPress 網站的使用者名稱。如果您已使用 Windows Live ID 登入,則也會要求您輸入電子郵件地址。

隨即會建立具有 [訂閱者] 角色的新 WordPress 帳戶,而且您會被重新導向到您的 WordPress 設定檔頁面。之後若要造訪,按一下身分識別提供者即可登入。系統不會再提示您輸入使用者名稱或電子郵件地址。

note附註
管理員帳戶可以將同盟訂閱者帳戶提升為管理員狀態,以便您使用同盟帳戶來管理網站。

  • Windows Live ID 為每位使用者建立的唯一 ID 為您的 存取控制命名空間 所專用。如果您以不同名稱的 存取控制命名空間 來取代 存取控制命名空間,則使用 Windows Live ID 帳戶進行驗證的使用者會無法登入您的網站。雖然不太可能發生,但若您需要變更 存取控制命名空間,這些使用者仍可使用 WordPress 的密碼重設功能,以本機密碼進行登入。

顯示: