共用方式為


程式碼範例:WordPress 外掛程式

更新日期:2015 年 6 月 19 日

適用對象:Azure

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

WordPress 系統管理員可以使用Microsoft Azure Active Directory 存取控制 (也稱為存取控制服務或 ACS) ,在其網站與身分識別提供者之間建立信任關係,例如Windows Live ID、Facebook、Google、Yahoo!,以及 Microsoft 等自訂身分識別提供者Active Directory 同盟服務 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-Federation通訊協定和簡單 Web 權杖與 ACS 整合

規格需求

  • Azure 首頁上的Microsoft Azure帳戶。

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

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

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

設定 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. 若要建立存取控制命名空間,請依序按一下 [新增][應用程式服務][存取控制][快速建立]。 (或是先按一下 [新增] 再按一下 [存取控制命名空間])。

  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 網站的預設規則群組],然後按一下 [產生]。 確認已選取您的身分識別提供者,再按一下 [產生]

    重要

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

    如果您使用自訂WS-Federation識別提供者,例如 AD FS 2.0,請確定有規則會從這個識別提供者傳回 nameidentifier 宣告。 此宣告會將使用者的唯一 ID 傳送至 WordPress 應用程式。 如果沒有此規則,您必須建立一條規則,可將身分識別提供者傳回的唯一 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。 若要尋找功能變數名稱,請在 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 檔案內有必須防範未經授權的使用者取得的機密機訊。 建議您在此檔案上設定適當的權限,並將您的 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>
    

啟用 WordPress 外掛程式

啟用 WordPress 外掛程式

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

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

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

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

測試 WordPress 外掛程式

測試 WordPress 外掛程式

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

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

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

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

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

注意

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

備註

  • Windows Live ID 為每個使用者建立的唯一識別碼,是您存取控制命名空間特有的。 如果您將存取控制命名空間取代為具有不同名稱的存取控制命名空間,則以 Windows Live ID 帳戶進行驗證的使用者無法登入您的網站。 在您需要變更存取控制命名空間的不太可能事件中,這些使用者仍然可以使用 WordPress 密碼重設功能來使用本機密碼登入。