コード サンプル:WordPress プラグイン
ドキュメントはアーカイブされており、ここに掲載されている情報は古くなっている可能性があります

コード サンプル:WordPress プラグイン

発行: 2011年5月

更新日: 2015年6月

適用対象: Azure

ACS WordPress プラグインは、WordPress ホストが ACS を使用して、WordPress サイトのフェデレーション ログインを有効にできるようにします。

WordPress 管理者は Microsoft Azure Active Directory アクセス制御 (アクセス制御サービスまたは ACS) を使用して、サイトと、ID プロバイダー (Windows Live ID、Facebook、Google、Yahoo! など) およびカスタム ID プロバイダー (Microsoft Active Directory フェデレーション サービス 2.0 など) の間に信頼関係を構築することができます。ACS WordPress プラグインは、ACS 構成に基づいてカスタム ログイン ページを表示し、エンド ユーザーが選択した ID プロバイダーを使用して WordPress サイトにログインできるようにします。

WordPress プラグインをダウンロードする場合は、http://wordpress.org/extend/plugins/acs-plugin-for-wordpress/ を参照してください。

  • Windows Live ID、Facebook、Google、Yahoo!、または ACS に構成されたカスタム Web ベースの ID プロバイダーを使用して、WordPress を認証する

  • WordPress サイト サブスクライバーの簡単な登録

  • フェデレーション アカウントを使用して WordPress サイトを管理する

  • フェデレーション アカウントは通常のユーザー アカウントと同じであり、ローカル パスワードに基づく認証へのフォールバックをサポートします。

  • WS-Federation プロトコルと Simple Web Token を使用して ACS と統合する

  • Azure ホームページの Microsoft Azure アカウント。

  • アクセス制御名前空間。詳細については、「方法:Access Control 名前空間を作成する」を参照してください。

  • PHP 5.0 以降を実行する Web ホスト

  • WordPress 3.0 以降を実行する Web ホスト

ACS WordPress プラグインの構成には次の 3 つの部分があります。

  • WordPress プラグインのための ACS の構成

  • WordPress プラグイン設定の構成

  • WordPress プラグインの有効化

ACS 管理ポータルを使用して、ACS を構成することができます。

  1. Microsoft Azure 管理ポータル (https://manage.WindowsAzure.com) に移動してサインインし、[Active Directory] をクリックします。(トラブルシューティングのヒント:"Active Directory" 項目が見つからないか、使用できません)

  2. アクセス制御名前空間を作成するには、[新規] をクリックして [App サービス] をクリックし、[アクセス制御] をクリックしてから [簡易作成] をクリックします。または、[アクセス制御名前空間][新規] を順にクリックします。

  3. アクセス制御名前空間を管理するには、名前空間をクリックしてしてから [管理] をクリックします。または、[アクセス制御名前空間] をクリックして名前空間を選択し、[管理] をクリックします。

    このアクションで Access Control Service の管理ポータルが開きます。

  4. Web サイトのユーザーがログイン時に使用する ID プロバイダーとの関係を確立するには、[ID プロバイダー] をクリックしてから、サイトの ID プロバイダーを選択します。

  5. WordPress サイトを ACS に登録するには、[証明書利用者アプリケーション] をクリックし、[追加] をクリックして、フォームに以下の情報を入力してから [保存] をクリックします。

    • [名前] に、サイトの表示名を入力します。

    • [領域] に、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 が Simple Web Token (SWT) を WordPress プラグインに送信するように構成されます。

    • [ID プロバイダー] で、サイトでサポートする ID プロバイダーを選択します。

    • [トークン署名キー] で、[生成] をクリックしてトークン署名キーを作成します。このキーを後で使用するためにプラグイン構成にコピーします。

    • [有効期限] に、キーの適切な有効期限を入力します。キーはこの日に無効になります。

    • 他のフィールドは既定値のままにしておきます。



  6. 次に、ACS がサイトに送信するユーザー情報を特定するルールを作成します。この例では、ID プロバイダーによって発行されるすべての要求を送信します。このルールを作成するには、[ルール グループ] をクリックし、[個人用 WordPress サイトの既定のルール グループ] をクリックしてから [生成] をクリックします。ID プロバイダーが選択されていることを確認したら、[生成] をもう一度クリックします。

    Important重要
    入力方向の要求の種類でユーザーを一意に識別することは非常に重要です。使用する要求の種類が明確でない場合は、ID プロバイダーの管理者に問い合わせてください。

    カスタム WS-Federation ID プロバイダー (AD FS 2.0 など) を使用する場合は、この ID プロバイダーから nameidentifier 要求を返すルールがあることを確認してください。この要求により、ユーザーの一意の ID が WordPress アプリケーションに送信されます。このルールが存在しない場合は、nameidentifier 要求の種類にその ID プロバイダーによって返される一意の ID 要求をマップするルールを作成する必要があります。

  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 に構成した ID プロバイダーごとに 1 つのボタンが表示されます。

  2. ID プロバイダーを選択してログインします。

  3. 認証されると、WordPress サイトのユーザー名を作成するよう求められます。Windows Live ID を使用してログインした場合は、電子メール アドレスの入力も求められます。

[サブスクライバー] ロールを持つ新しい WordPress アカウントが作成され、WordPress プロファイル ページにリダイレクトされます。以降のアクセスの際には、ID プロバイダーをクリックしてログインします。ユーザー名と電子メール アドレスを入力するよう求められることはありません。

noteメモ
管理者アカウントでは、フェデレーション サブスクライバー アカウントを管理者の状態に昇格できます。したがって、サイトを管理する場合はフェデレーション アカウントを使用します。

  • 各ユーザーに対して Windows Live ID で作成される一意の ID は アクセス制御名前空間 に固有のものです。ご使用の アクセス制御名前空間 を名前の異なる アクセス制御名前空間 に置き換えた場合、Windows Live ID アカウントで認証されたユーザーはサイトにログインできません。万一、アクセス制御名前空間 を変更する必要が生じた場合、これらのユーザーは引き続き WordPress パスワードのリセット機能を使用し、ローカル パスワードを使用してサインインすることができます。

表示:
© 2016 Microsoft