【WP for ITPro】Windows Phone から直接 Active Directory 認証を行うには ~その2


2011年11月28日 Tech Fielders セミナー 「Windows Phone に認証機能を実装する」で使用した資料、ソースコードは以下からどうぞ。当日の収録動画もあります。

2011/11/28 セミナー資料 Windows Phone アプリケーションに認証機能を実装する

前回の続きです。

【WP for ITPro】Windows Phone から直接 Active Directory 認証を行うには ~その1

今回は、Windows Phone から AD FS を介して AD DS に認証を受けるためのアプリケーションを開発するための手順について解説します。

1. 必要な環境について

これから紹介する仕組みを実装するには、少なくとも以下の環境が必要です。ちょっと面倒ですが頑張ってください。

  • Widnows Server 2008 R2 または 2008
    - Active Directory Domain Service
    - Active Directory Federation Service
  • Windows 7(仮想環境はダメ!
    - Windows Phone SDK(2008/2008 r2 にはインストールできません)
    ※ Visual Studio 2010 Express for Windows Phone も含まれています
    ※ 仮想環境だと Windows Phone Emulator が動きません!かならず物理環境を用意してください。
    - Identity Developer Training Kit 2010 April

2.Windows Server の準備

必要な環境を構築しましょう。いちから作るのは大変ですが、それもまた楽し!
今回は、ドメインコントローラーと同じサーバーに AD FS をインストールするものとします。

  • Windows Server 2008 または 2008 R2 をインストールする
    Windows Server 2008 R2 SP1 評価版 のダウンロード
  • Active Directory をインストールする
    「ファイル名を指定して実行」から「dcpromo」と入力して実行するとウィザードが起動します。インストール方法がよく分からない方は WebCast : Active Directory 入門編 を参照してください。2008年に収録したビデオですが、問題ありません。
  • Active Directory Federation Service(AD FS)をセットアップする
    AD FS は、こちらからダウンロードしてください。
    いろいろ考慮しだすと先に進まないと思うので、ひとまずサクッとインストールして最小限の構成をするための手順書を作りました。
    【IDM】Windows Phone アプリ開発者のための AD FS 2.0 セットアップ手順書
  • サーバー証明書を p7b 形式で保存しておく
    AD FS のエンドポイント(認証を要求するURL)は SOAP で実装されており、かつ SSL が要求されます。Windows Phone の場合、サーバー証明書は自動的にインストールされないため、Windows Phone からSOAPにアクセスすると「エンドポイントがリスンしてない!」というエラーが返されてしまいます。
    この現象を回避するには、事前に Windows Phone 側にサーバー証明書をインストールしておく必要があるため、それに先立ってWindows Phone からネットワーク的に見える場所に証明書を準備しておく必要があります。
    証明書の準備とインストール方法については以下の記事をご覧ください。
    【WP for ITPro】Windows Phone とルート証明書の関係、自己署名証明書のインストール方法

3. Windows 7(開発環境)の準備

Windows 7 は開発環境であり、Windows Phone Emulator の動作検証端末でもあります。既に書いた通り、仮想環境上では Windows Phone エミュレーターが正常に動作しませんので、かならず物理環境にインストールしてください。

  • Active Directory ドメインに参加
    参加しなくても大丈夫なような気がするのですが....私の環境では参加しているので念のために記しておきます。
  • Windows Phone SDK 7.1 
    何は無くとも、Windows Phone アプリの開発を行うための SDK をインストールします。SDK には Visual Studio 2010 Express for Windows Phone も含まれているので、別途ダウントードする必要はありません。SDK は以下からダウンロードしてインストールしてください。
    ダウンロード詳細 Windows Phone SDK 7.1
  • Windows Identity Developer Training Kit 2010 April
    Windows Phone には AD FS にアクセスするためのライブラリが用意されていません。自分で作ることもできなくはないでしょうが、面倒なので既存のライブラリを流用したいでしょう。そこで使えるのが、デスクトップ Silverlight 用に用意されている SL.IdentityModel というライブラリです。
    このライブラリは、Windows Identity Developer Training Kit 2010 April という非常にマニアックな(笑)トレーニングキットに含まれています。結構でかいファイルですが、これもダウンロードしてインストールしておきましょう。残念ながら英語版しかありません。でもライブラリなので、そんなの関係ねぇです(← あ、いいこと思いついた!これにちょっとした振りとか付ければギャグにできるかも!)。
    Download: Identity Developer Training Kit - Microsoft Download Center - Download Details

4.サンプルプロジェクトを用意する

以上が全てインストールされたら準備完了です。

Visual Studio が起動出来たら、以下のサンプルプロジェクトを読み込んで実行してみてください。もちろん、サーバー名とかユーザーIDは変えてください。詳しくは次回の投稿で解説します。

Windows Phone から AD FS にアクセスするためのサンプルプロジェクト

つづき(その3)へ

Comments (0)

Skip to main content